Ankündigung

Einklappen
Keine Ankündigung bisher.

leichte Prob mit header

Einklappen

Neue Werbung 2019

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

  • leichte Prob mit header

    Hallo alle zusammen,

    Ich hab ein kleines prob mit meinem Skipt.

    es werden alle anweisungen Übergangen und gleich der header ausgeführt.
    weiss einer warum?

    Hier das Skript:
    Code:
    include("dbconnect.php");
    $benutzer=$_POST['benutzer'];
    $kennwort=$_POST['kennwort'];
    $vorname=$_POST['kdv'];
    $name=$_POST['kdn'];
    $strasse=$_POST['kdstr'];
    $ort=$_POST['kdst'];
    $land=$_POST['kdl'];
    $telefon=$_POST['tel'];
    $plz=$_POST['kdplz'];
    $email=$_POST['email'];
    $stufe=$_POST['stufe'];
    
    $abfrage =mysql_query( "SELECT * FROM kundendaten") or die(mysql_error()); 
    $ergebnis = mysql_fetch_array($abfrage);
    
    if ($benutzer == $ergebnis['benutzer'])
    {
    echo "<div align=\"center\">Dieser Benutzername ist bereits vergeben.
    Bitte versuche es erneut mit einem anderen Benutzernamen</div>";
    }
    if ($benutzer == "")
    {
    echo "<div align=\"center\">Bitte einen Benutzernamen angeben.</div>
    ";
    }
    if ($kennwort == "")
    {
    echo "<div align=\"center\">Bitte ein Kennwort angeben.</div>
    ";
    }
    if ($vorname == "")
    {
    echo "<div align=\"center\">Bitte Deinen Vornamen angeben.</div>
    ";
    }
    if ($name == "")
    {
    echo "<div align=\"center\">Bitte Deinen Nachnamen angeben.</div>
    ";
    }
    if ($strasse == "")
    {
    echo "<div align=\"center\">Bitte Deine Strasse angeben.</div>
    ";
    }
    if ($ort == "")
    {
    echo "<div align=\"center\">Bitte Deinen Wohnort angeben.</div>
    ";
    }
    if ($land == "")
    {
    echo "<div align=\"center\">Bitte Deinen Land angeben.</div>
    ";
    }
    if ($telefon == "")
    {
    echo "<div align=\"center\">Bitte Deine Telefonnummer angeben.</div>
    ";
    }
    if ($plz == "")
    {
    echo "<div align=\"center\">Bitte Deine Postleitzahl angeben.</div>
    ";
    }
    if ($email == "")
    {
    echo "<div align=\"center\">Bitte Deine E-mail angeben. 
    Achte darauf das du deine richtige E-mail angibst,
    da Du ansonsten nicht Freigeschaltet werden kannst.</div>";
    }
    
    $sql="INSERT INTO kundendaten SET benutzer='$benutzer', kennwort='$kennwort', kdv='$vorname', kdn='$name', kdstr='$strasse', kdl='$land', kdplz='$plz', kdst='$ort', kdmail='$email', kdtel='$tel', stufe='$stufe'";
    $ergebniss = mysql_query($sql);
    
    $Usermail = $email;
    		  $Betreff= "Neues Mitglied";
    		  $mail_admin= "info@xxxxxxxx.com";
    		  $header="From: " . $Usermail;
    		  $text="Hallo Administrator,\n\nEs hat sich ein Neues Mitglied angemeldet.\n\nBitte Freischalten.";
    		
    		  
    		  mail($mail_admin,$Betreff,$text,$header);
    		  
    		  header("Location: anmeldung_best.php")
    greets JEGO
    Gruß JEGO ;-)

    Ein PHP Script tut, was Du schreibst, nicht was Du willst.

  • #2
    header gehört immer an den anfang der Datei, soweit ich weiss. Wenn dem nicht so ist soll mich einer ausbessern. Du kannst ja statt header eine HTML weiterleitung machen.

    Kommentar


    • #3
      hab das problem gelöst

      hier das skript:

      Code:
      include("dbconnect.php");
      
      $abfrage =mysql_query( "SELECT * FROM kundendaten") or die(mysql_error()); 
      $ergebnis = mysql_fetch_array($abfrage);
      
      $benutzer = $_POST['benutzer'];
      $kennwort = $_POST['kennwort'];
      $vorname = $_POST['kdv'];
      $name = $_POST['kdn'];
      $strasse = $_POST['kdstr'];
      $ort = $_POST['kdst'];
      $land = $_POST['kdl'];
      $telefon = $_POST['tel'];
      $plz = $_POST['kdplz'];
      $email = $_POST['email'];
      $stufe = $_POST['stufe'];
      
      
      
      if ($benutzer == "")
      {
      echo "<div align=\"center\">Bitte einen Benutzernamen angeben.</div>
      ";
      }
      if ($kennwort == "")
      {
      echo "<div align=\"center\">Bitte ein Kennwort angeben.</div>
      ";
      }
      if ($vorname == "")
      {
      echo "<div align=\"center\">Bitte Deinen Vornamen angeben.</div>
      ";
      }
      if ($name == "")
      {
      echo "<div align=\"center\">Bitte Deinen Nachnamen angeben.</div>
      ";
      }
      if ($strasse == "")
      {
      echo "<div align=\"center\">Bitte Deine Strasse angeben.</div>
      ";
      }
      if ($ort == "")
      {
      echo "<div align=\"center\">Bitte Deinen Wohnort angeben.</div>
      ";
      }
      if ($land == "")
      {
      echo "<div align=\"center\">Bitte Deinen Land angeben.</div>
      ";
      }
      if ($telefon == "")
      {
      echo "<div align=\"center\">Bitte Deine Telefonnummer angeben.</div>
      ";
      }
      if ($plz == "")
      {
      echo "<div align=\"center\">Bitte Deine Postleitzahl angeben.</div>
      ";
      }
      if ($email == "")
      {
      echo "<div align=\"center\">Bitte Deine E-mail angeben. 
      Achte darauf das du deine richtige E-mail angibst,
      da Du ansonsten nicht Freigeschaltet werden kannst.</div>";
      }
      if ($benutzer == $ergebnis['benutzer'])
      {
      echo "<div align=\"center\">Dieser Benutzername ist bereits vergeben.
      Bitte versuche es erneut mit einem anderen Benutzernamen</div>";
      }
      elseif ($benutzer > "" AND $kennwort > "" AND $vorname > "" AND $name > "" AND $strasse > "" AND $ort > "" AND $land > "" AND $telefon > "" AND $plz > "" AND $email > "" AND $stufe > "")
      {
      $sql="INSERT INTO kundendaten SET benutzer='$benutzer', kennwort='$kennwort', kdv='$vorname', kdn='$name', kdstr='$strasse', kdl='$land', kdplz='$plz', kdst='$ort', kdmail='$email', kdtel='$tel', stufe='$stufe'";
      $ergebniss = mysql_query($sql);
      
                $Usermail = $email;
      		  $Betreff= "Neues Mitglied";
      		  $mail_admin= "info@xxxxxx.com";
      		  $header="From: " . $Usermail;
      		  $text="Hallo Administrator,\n\nEs hat sich ein Neues Mitglied angemeldet.\n\nBitte Freischalten.";
      		
      		  
      		  mail($mail_admin,$Betreff,$text,$header);
      		  header("Location: anmeldung_best.php");
       }
      greets JEGO
      Gruß JEGO ;-)

      Ein PHP Script tut, was Du schreibst, nicht was Du willst.

      Kommentar


      • #4
        aber was war jetzt das problem^^ Den Code zu studieren dürfte ein wenig dauern

        Kommentar


        • #5
          der Fehler war Hier:

          Code:
          $sql="INSERT INTO kundendaten SET benutzer='$benutzer', kennwort='$kennwort', kdv='$vorname', kdn='$name', kdstr='$strasse', kdl='$land', kdplz='$plz', kdst='$ort', kdmail='$email', kdtel='$tel', stufe='$stufe'"; 
          $ergebniss = mysql_query($sql); 
          
          $Usermail = $email; 
                  $Betreff= "Neues Mitglied"; 
                  $mail_admin= "info@xxxxxxxx.com"; 
                  $header="From: " . $Usermail; 
                  $text="Hallo Administrator,\n\nEs hat sich ein Neues Mitglied angemeldet.\n\nBitte Freischalten."; 
                 
                  
                  mail($mail_admin,$Betreff,$text,$header); 
                  
                  header("Location: anmeldung_best.php")
          richtige Version:

          Code:
          if ($benutzer == $ergebnis['benutzer']) 
          { 
          echo "<div align=\"center\">Dieser Benutzername ist bereits vergeben.
          Bitte versuche es erneut mit einem anderen Benutzernamen</div>"; 
          } 
          elseif ($benutzer > "" AND $kennwort > "" AND $vorname > "" AND $name > "" AND $strasse > "" AND $ort > "" AND $land > "" AND $telefon > "" AND $plz > "" AND $email > "" AND $stufe > "") 
          { 
          $sql="INSERT INTO kundendaten SET benutzer='$benutzer', kennwort='$kennwort', kdv='$vorname', kdn='$name', kdstr='$strasse', kdl='$land', kdplz='$plz', kdst='$ort', kdmail='$email', kdtel='$tel', stufe='$stufe'"; 
          $ergebniss = mysql_query($sql); 
          
                    $Usermail = $email; 
                  $Betreff= "Neues Mitglied"; 
                  $mail_admin= "info@xxxxxx.com"; 
                  $header="From: " . $Usermail; 
                  $text="Hallo Administrator,\n\nEs hat sich ein Neues Mitglied angemeldet.\n\nBitte Freischalten."; 
                 
                  
                  mail($mail_admin,$Betreff,$text,$header); 
                  header("Location: anmeldung_best.php"); 
          }
          greets JEGO
          Gruß JEGO ;-)

          Ein PHP Script tut, was Du schreibst, nicht was Du willst.

          Kommentar


          • #6
            Ahso, du hast das Semikolon sprich ; vergessen. Is mir gar net aufgefallen ich ... ich.

            Kommentar


            • #7
              wenn du genau hinschaust siehst du das nicht nur das ; gefählt hat, sondern auch if und elseif .

              greets JEGO :wink:
              Gruß JEGO ;-)

              Ein PHP Script tut, was Du schreibst, nicht was Du willst.

              Kommentar


              • #8
                Kleiner Tipp:
                du möchtest wohl mit
                Code:
                $kennwort > "" AND $vorname > ""
                ausdrücken, das die elseif nur ausgeführt werden soll, wenn alle diese Variabeln einen Inhalt haben! Das geht einfacher, machs einfach so:

                Code:
                $kennwort AND $vorname ...
                wilko

                Kommentar


                • #9
                  Ich hab noch ein anderes Prob gefunden.

                  Code:
                  $result = mysql_query("SELECT benutzer FROM kundendaten"); 
                  while($row = mysql_fetch_array($result))
                  {
                  echo $row['benutzer']."
                  ";
                  }
                  if ($row['benutzer'] == $benutzer = $_POST['benutzer'])
                  {
                  echo "<div align=\"center\">Dieser Benutzername ist bereits vergeben.
                  Bitte versuche es erneut mit einem anderen Benutzernamen</div>";
                  }
                  else 
                  {
                  echo "ok";
                  }
                  hier ist irgend wo ein Fehler drin.

                  die while schleife wirft alle namen aus aber das if danach funkt nicht.

                  ausgabe ist "ok"

                  obwohl der eingegebene Benutzer bereits vorhanden ist.

                  greets JEGO
                  Gruß JEGO ;-)

                  Ein PHP Script tut, was Du schreibst, nicht was Du willst.

                  Kommentar


                  • #10
                    Code:
                    if ($row['benutzer'] == $benutzer = $_POST['benutzer'])
                    Mach doch einfach

                    Code:
                    if (mysql_num_rows($result) == 0)
                    Es überprüft ob schon so ein Name vorhanten ist. Wenn ja 1 wenn nicht 0.

                    Kommentar


                    • #11
                      Du hast die Whileschleife schon wieder geschlosen, das was du in der While in $row hast, ist außerhalb naturlich leer!

                      wilko

                      Kommentar

                      Lädt...
                      X