[SQL allgemein] Anmelde Script

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [SQL allgemein] Anmelde Script

    Hy, ich habe seit ein paar tagen angefangen php/mysql zu leeren.

    Ich habe mir zur Aufgabe gemacht ein CMS für meine Homepage zu Programmieren.

    Zurzeit bin ich gerade beim Anmelde Script.

    Folgendes Problem:

    Ich gebe meine Daten auf anmelden.php ein.
    Diese werden per POST übergeben auf anmelden2.php

    Auf anmelden.php habe ich die abfrage nach der email Adresse doppelt. Um tipp fehler auszuschließen.

    Also, speichere ich erstmal beide werte email1 und email2.

    PHP-Code:
    $email1 $_POST["email1"];
    $email2 $_POST["email2"]; 
    Danach möchte ich das ganze mit einer IF schleife überprüfen.

    PHP-Code:
    If("$email1 = $email2")
      {
      
    $email $email1;
      echo 
    "Sie werden in kürze eine email erhalten";
      }
    else
      {
      echo 
    "Fehler: Fehler bei der Eingabe der zweiten Email Adresse";
      } 
    Irgendwie schreibt das script immer IF, auch wenn man 2 verschiedene Email adressen eintragt!

    Nun, wenn die email stimmt, wird sie in $email geschrieben.

    Wie kann ich diese variable ein meine DB eintragen?

    PHP-Code:
    $eintrag "INSERT INTO user(nick, password, email) VALUES ('$nick', '$password', '$email')";
    $eintragen mysql_query($eintrag); 
    Auch wenn beide email ads stimmen, wird nixx in die datenbank geschrieben.

    Sollte man am besten den teil mit dem speichern der variablen in der datenbank mit in die IF schleife packen?

    Achja, kennt wer einen guten irc channel wo man schnell nach hilfe fragen kann?

  • #2
    Sorry dass ich jetzt SCHREIE, aber Zuweisung und Vergleich sind nicht die gleichen Operatoren. = Zuordnung == Vergleich
    Und wieso verhleichst du nicht direkt die zwei Post Felder ?

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      Original geschrieben von jahlives
      Sorry dass ich jetzt SCHREIE, aber Zuweisung und Vergleich sind nicht die gleichen Operatoren.
      Und ein Textstring ist keine logische Bedingung.
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        Naja, wusste das ich einen ziemlich doofen fehler gemacht hatte

        Aber die IF Schleife geht. Der Vergleich wird direkt gemacht.

        Vielen dank.

        Nur die daten werden nicht in die Datenbank geschrieben -_-

        Kommentar


        • #5
          PHP-Code:
          $eintrag "INSERT INTO user(nick, password, email) VALUES ('".$nick."', '".$password."', '".$email."')"
          schöne grüsse ans double und single quote.
          ps: string und zeichenketten
          einfach mal bei php.net oder hier im forum suchen.

          (zu faul die links jetzt zu setzen)
          Bitte Beachten.
          Foren-Regeln
          Danke

          Kommentar


          • #6
            Sry, aber ich komm da nicht ganz klar.

            Ein String und eine Zeichenkette ist mir klar.

            Aber was das ganze dann mit meinem Code zutun hat?!

            Den genau nach der form habe ich schon was gemacht, was auch funktioniert hat. Deswegen wundert es mich ja...

            Wäre nett wenn du mir sagen könntest wo genau der fehler liegt?

            Kommentar


            • #7
              Original geschrieben von freshizzel
              Aber die IF Schleife geht.
              Es gibt keine "IF-Schleifen", und das "geht" vielleicht, aber ist sicher nicht das, was du willst.
              Ein String und eine Zeichenkette ist mir klar.

              Aber was das ganze dann mit meinem Code zutun hat?!
              Na was wohl -
              PHP-Code:
              If("$email1 = $email2"
              dort benutzt du keine Bedingung (selbst mit einem richtigen Vergleichsoperator wäre es keine), sondern übergibst eine Zeichenkette - es ist genau das gleiche, als wenn du if("x") schreiben würdest.

              Niemand weiss, wie die Newbees immer auch die bescheuerte Idee kommen, Variablen wo immer sie auftauchen in Anführungszeichen zu setzen - aber du solltest es dir schnell abgewöhnen.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                Ja, das Problem habe ich schon gelöst.

                Den Fehler hab ich beim 2ten mal nicht gemacht als ich die IF Schleife umgeschrieben habe.

                Ich Poste jetzt mal den ganzen Code damit jeder weis wieweit ich bin.

                PHP-Code:
                <?php
                error_reporting
                (E_ALL);
                include(
                "login.php");
                // Mysql Login
                $nick $_POST["nick"];
                $password $_POST["password"];
                //Schreibe Übertragene Daten in Variablen

                If($_POST["email1"] == $_POST["email2"])
                  {
                  echo 
                "\n";
                  
                $email $_POST["email1"];

                  
                $eintrag "INSERT INTO users (nick, password, email) VALUES
                ('
                $nick', '$password', '$email')";
                  
                $eintragen mysql_query($eintrag);
                  echo 
                "Sie werden in kürze eine Email erhalten";
                  }
                else
                  {
                  echo 
                "Fehler: Fehler bei der Eingabe der zweiten Email Adresse";
                  }
                ?>
                Mein Problem besteht darin das die Daten/Variablen nicht in die datenbank geschrieben wird!

                Kommentar


                • #9
                  Original geschrieben von freshizzel
                  Mein Problem besteht darin das die Daten/Variablen nicht in die datenbank geschrieben wird!
                  Na dann mal schleunigst Regeln lesen, und dortige Tipps umsetzen.
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    zb.

                    PHP-Code:
                    <? $eintragen = mysql_query($eintrag) or  die(mysql_error()); ?>
                    Zuletzt geändert von gourmet; 12.02.2007, 18:10.

                    Kommentar


                    • #11
                      Original geschrieben von gourmet
                      zb.

                      $eintragen = mysql_query($eintrag) or die(mysql_error());
                      Ach, jetzt bin ich sauer.

                      SQl Name und in php nick als Variable -_-

                      Sowas doofes!

                      Naja, vielen dank an alle dir mir geholfen haben.

                      Kommentar


                      • #12
                        Du hast aber schon voher einen Datenbank verbindung geöffnet bevor du versucht die Werte reinzuschreiben? (Richtige Db ausgewählt?)

                        Wie sieht deine Tabelle aus?
                        Hast du Primery Key erstellt.

                        Testweise kanst du mal den Sql string in Phpmayadmin eingeben.Dann siehste gleich ob was nicht Stimmt.

                        Mfg Splasch

                        Kommentar


                        • #13
                          Original geschrieben von freshizzel

                          SQl Name und in php nick als Variable -_-
                          also ich schreib ja shcon manchmal schlimme sätze aber denn versteh ich nicht.

                          PS: bezüglich des MYSQL string also das [COLOR=BLUE]$eintrag=
                          [/COLOR]
                          solltest du dir nochmal genau anschauen wo der unterschied zwischen meinem geposteten teil und deinem ist.
                          PHP-Code:
                          $var="hallo '$hallo'";
                          oder
                          $var
                          ="hallo '".$hallo."'"
                          sind zwei unterschiedliche dinge ^^
                          Bitte Beachten.
                          Foren-Regeln
                          Danke

                          Kommentar

                          Lädt...
                          X