tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
14
ZUGRIFFE
515
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    wingman wingman ist offline Mitglied Gold
    Registriert seit
    Sep 2003
    Beiträge
    119
    Hallo

    Habe selber etwas programmiert aber jetzt meldet es immer $benutzername gibt es schon in meiner Liste
    Aber das stimmt gar nicht!

    Sage mal genau was ich will

    Das Password wird überprüfft ob beide Passwörder überein stimmen und obs der user schon in meiner Datenbank schon gibt.

    Wenn beiden stimmen sollte es in die Datenbank reinschreiben

    Bitte hilft mir das es geht

    Password nicht übereinstimmt sollte das ausgeben
    Password stimmt nicht überrein!

    Wenn den Benutzer in meiner Datenbank schon gibt sollte es das rausgeben!
    $benutzername gibt es schon in meiner Liste!


    PHP-Code:
    <?

    if(!isset($_POST[abschicken])) {
    include (
    'add_user.php');
    exit;
    }

    include (
    'config.php');

    $sql ="SELECT benutzername FROM users WHERE benutzername='$benutzername'";
    $res mysql_query($sql);
    $gefunden=mysql_num_rows($res);

    if(
    $password == '$password2'
    {
    if(
    $gefunden == 0)
    {
    $sql "INSERT INTO users VALUES ('$benutzername', '$password')";
    $ausgabe ="$benutzername wurde erfolgreich gespeichert...!";
    } else 
    $ausgabe ="Password stimmt nicht überrein!";
    } else 
    $ausgabe ="$benutzername gibt es schon in meiner Liste";


    echo 
    "$ausgabe";

    ?>
     

  2. #2
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Möglicherweise solltest du's einfach etwas besser strukturieren:
    PHP-Code:
    <?php
      
    if( !isset($_POST['abschicken']) ) {
        include(
    'add_user.php');
        exit;
      }

      include(
    'config.php');

      
    $sql ="SELECT benutzername FROM users WHERE benutzername='$benutzername'";
      
    $res mysql_query($sql);
      
    $gefunden mysql_num_rows($res);

      if( 
    $password == $password2 ) {
        if( 
    $gefunden == ) {
          
    $sql "INSERT INTO users VALUES ('$benutzername', '$password')";
          
    $ausgabe ="$benutzername wurde erfolgreich gespeichert...!";
        } else {
          
    $ausgabe "$benutzername gibt es schon in meiner Liste";
       }
      } else {
        
    $ausgabe "Password stimmt nicht überrein!";
      }

      echo 
    $ausgabe;

    ?>
     
    Markus Wulftange

  3. #3
    KristophS KristophS ist offline Mitglied Brilliant
    Registriert seit
    Apr 2004
    Ort
    Duisburg
    Beiträge
    778
    Arbeite mal mit
    PHP-Code:
    error_reporting(E_ALL
    .
    Und schaue auf http://pear.php.net mal unter Code Einrücken ,erleichtert das Lesen doch ungemein.
    Dein Fehler ,den ich erkennen konnte ,war es das du eine Variable in einfache Anführungszeichen gesetzt hast ,dann wird diese als String behandelt.

    PHP-Code:
    if(!isset($_POST['abschicken']))
    {
        include (
    "add_user.php");
        exit;
    }

    include (
    "config.php");

    $sql ="SELECT benutzername FROM users WHERE benutzername='".$benutzername."'";
    $res mysql_query($sql);
    $gefunden=mysql_num_rows($res);

    if(
    $password == ''.$password2.''//wird ansonsten als STRING behandekt
    {
        if(
    $gefunden == 0)
        {    
            
    $sql "INSERT INTO users VALUES ('$benutzername', '$password')";
            
    $ausgabe ="$benutzername wurde erfolgreich gespeichert...!";
        }else{ 
        
    $ausgabe ="Password stimmt nicht überrein!";
        }
        
    }else{
     
    $ausgabe ="$benutzername gibt es schon in meiner Liste";
    }


    echo 
    $ausgabe//Variablen gehören nicht in Anführungszeichen! 
    Leider weiss ihc nicht über den Rest Code bescheid ,aber soweit sollte es gehen.

    Edit: Mist ,hätte ich mal refresht und sofort geantwortet!
     

  4. #4
    wingman wingman ist offline Mitglied Gold
    Registriert seit
    Sep 2003
    Beiträge
    119
    Vielen herzlichen Dank

    Gruss Dave
     

  5. #5
    wingman wingman ist offline Mitglied Gold
    Registriert seit
    Sep 2003
    Beiträge
    119
    Hallo

    Habe noch ein Problem

    Es schreibt nicht in die Datenbank sonst geht alles

    Aktuelle Version

    PHP-Code:
    <?

    if(!isset($_POST['abschicken'])) 

        include (
    "add_user.php"); 
        exit; 


    $_POST[benutzername]    = $benutzername;
    $_POST[password]    = $password;
    $_POST[password2]    = $password2;

    include (
    'config.php'); 
     
    $sql ="SELECT benutzername FROM users WHERE benutzername='".$benutzername."'"
    $res mysql_query($sql); 
    $gefunden=mysql_num_rows($res); 
     
    if(
    $password == ''.$password2.''

        if(
    $gefunden == 0
        {     
            
    $sql"INSERT INTO `users` ( `benutzername` , `password` )";  // Aber es speichert nicht in die Datenbank!
            
    $ausgabe ="$benutzername wurde erfolgreich  gespeichert...!";  // Das gibt es aus!
        
    }else{ 
        
    $ausgabe ="$benutzername gibt es schon in meiner Liste";
        } 
         
    }else{ 
     
    $ausgabe ="Password stimmt nicht überrein!"

     
     
    echo 
    $ausgabe;
    Gruss Dave
     

  6. #6
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Es liegt daran, dass du zwar die Abfrage formulierst, sie aber nicht abschickst:
    PHP-Code:
    <?php
      
    if( !isset($_POST['abschicken']) ) {
        include(
    'add_user.php');
        exit;
      }

      include(
    'config.php');


      
    $benutzername = ( isset($_POST['benutzername']) && trim($_POST['benutzername'])!='' )
        ?  
    mysql_escape_string(trim($_POST['benutzername']))
        :  
    FALSE;
      
    $password = ( isset($_POST['password']) && trim($_POST['password'])!='' )
        ?  
    mysql_escape_string(trim($_POST['password']))
        :  
    FALSE;
      
    $password2 = ( isset($_POST['password2']) && trim($_POST['password2'])!='' )
        ?  
    mysql_escape_string(trim($_POST['password2']))
        :  
    FALSE;

      if( !
    $benutzername || !$password || !$password2 )
        echo 
    'Eingaben inkorrekt';
      }

      
    $sql ="SELECT benutzername FROM users WHERE benutzername='".$benutzername."' LIMIT 1";
      
    $res mysql_query($sql);
      
    $gefunden mysql_num_rows($res);

      if( 
    $password == $password2 ) {
        if( 
    $gefunden <= ) {
          
    $sql "INSERT INTO users VALUES ('".$benutzername."', '".$password."')";
          if( 
    mysql_query($sql) {
            
    $ausgabe $benutzername.' wurde erfolgreich gespeichert...!';
          }
        } else {
          
    $ausgabe $benutzername.' gibt es schon in meiner Liste'
       
    }
      } else {
        
    $ausgabe 'Password stimmt nicht überrein!';
      }

      echo 
    $ausgabe;

    ?>
     
    Markus Wulftange

  7. #7
    wingman wingman ist offline Mitglied Gold
    Registriert seit
    Sep 2003
    Beiträge
    119
    Vielen Dank für deine Hilfe hat aber noch ein Fehler bei Zeile 22

    Kannst du mir noch erklären was genau hier macht.

    PHP-Code:
    <?php 
      
    if( !isset($_POST['abschicken']) ) { 
        include(
    'add_user.php'); 
        exit; 
      } 
     
      include(
    'config.php'); 
     
     
    // Was wird hier gemacht, bin eben anfänger und intressiert mich!
      
    $benutzername = ( isset($_POST['benutzername']) && trim($_POST['benutzername'])!='' 
        ?  
    mysql_escape_string(trim($_POST['benutzername'])) 
        :  
    FALSE
      
    $password = ( isset($_POST['password']) && trim($_POST['password'])!='' 
        ?  
    mysql_escape_string(trim($_POST['password'])) 
        :  
    FALSE
      
    $password2 = ( isset($_POST['password2']) && trim($_POST['password2'])!='' 
        ?  
    mysql_escape_string(trim($_POST['password2'])) 
        :  
    FALSE
     
      if( !
    $benutzername || !$password || !$password2 
        echo 
    'Eingaben inkorrekt'
        }  
    // Hier ist Zeile 22
     
      
    $sql ="SELECT benutzername FROM users WHERE benutzername='".$benutzername."' LIMIT 1"
      
    $res mysql_query($sql); 
      
    $gefunden mysql_num_rows($res); 
     
      if( 
    $password == $password2 ) { 
        if( 
    $gefunden <= ) { 
          
    $sql "INSERT INTO users VALUES ('".$benutzername."', '".$password."')"
          if( 
    mysql_query($sql) { 
            
    $ausgabe $benutzername.' wurde erfolgreich gespeichert...!'
          } 
        } else { 
          
    $ausgabe $benutzername.' gibt es schon in meiner Liste' 
       

      } else { 
        
    $ausgabe 'Password stimmt nicht überrein!'
      } 
     
      echo 
    $ausgabe
     
    ?>
    Gruss Dave
    Geändert von wingman (25.07.04 um 14:01 Uhr)
     

  8. #8
    mini_xs mini_xs ist offline Mitglied Silber
    Registriert seit
    Jun 2003
    Ort
    BW
    Beiträge
    78
    if( !$benutzername || !$password || !$password2 )
    echo 'Eingaben inkorrekt';
    } // Hier ist Zeile 22
    Bei der if Anweisung fehlt die öffnende Klammer.
    Mit kurzem überlegen hättest du das aber sicher auch selbst rausgefunden .

    Viele Grüße,

    Stefan
     
    Die Kunst zu gefallen, ist die Kunst zu täuschen. (Vavenarques)

  9. #9
    wingman wingman ist offline Mitglied Gold
    Registriert seit
    Sep 2003
    Beiträge
    119
    Ja stimmt

    Aber bei der Zeile 31 gibt es auch eine Fehler aber dort ist es gesetzt komisch ?

    PHP-Code:
    <?if( $password == $password2 ) { 
        if( 
    $gefunden <= ) { 
          
    $sql "INSERT INTO users VALUES ('".$benutzername."', '".$password."')"
          if( 
    mysql_query($sql) {  //Zeile 31 ist doch aber richtig?
            
    $ausgabe $benutzername.' wurde erfolgreich  gespeichert...!';  // Hier fehlt auch noch eine Punkt
          

        } else { 
          
    $ausgabe $benutzername.' gibt es schon in meiner Liste'   // Hier fehlt auch noch eine Punkt
       

      } else { 
        
    $ausgabe 'Password stimmt nicht überrein!'
      } 
     
      echo 
    $ausgabe
     
    ?>
    Gruss Dave
     

  10. #10
    mini_xs mini_xs ist offline Mitglied Silber
    Registriert seit
    Jun 2003
    Ort
    BW
    Beiträge
    78
    Original geschrieben von wingman
    Ja stimmt

    Aber bei der Zeile 31 gibt es auch eine Fehler aber dort ist es gesetzt komisch ?

    PHP-Code:
    <?if( $password == $password2 ) { 
        if( 
    $gefunden <= ) { 
          
    $sql "INSERT INTO users VALUES ('".$benutzername."', '".$password."')"
          if( 
    mysql_query($sql) {  //Zeile 31 ist doch aber richtig?
            
    $ausgabe $benutzername.' wurde erfolgreich  gespeichert...!';  // Hier fehlt auch noch eine Punkt
          

        } else { 
          
    $ausgabe $benutzername.' gibt es schon in meiner Liste'   // Hier fehlt auch noch eine Punkt
       

      } else { 
        
    $ausgabe 'Password stimmt nicht überrein!'
      } 
     
      echo 
    $ausgabe
     
    ?>
    Gruss Dave
    Es wäre geschickt wenn du jeweils die Fehlermeldung dazu schreiben würdest. Dann müsste man nicht raten. Fehler ist halt nicht gleich Fehler.

    Auch würde ich keine singlequotes (') bei den echos benutzen sondern doublequotes(").


    Zu dem in Zeile 31:
    Da gibt es gleich mehrere Fehler. Zum einen müssen die Spaltennamen in die Werte eingetragen werden auch benannt werden.
    Also
    INSERT INTO tabelle (spaltenname1, spaltenname2) VALUES ('wert1', 'wert2')

    Zum anderen fehlt bei der if Anweisung doch ne Klammer.
    Bei if(mysql_query($sql) fehlt schlicht und einfach eine schließende.

    Desweiteren schreib einfach
    $ausgabe = "$benutzername gibt es schon in meiner Liste";
    statt
    $ausgabe = $benutzername.' gibt es schon in meiner Liste';

    Achso, da fehlt auch noch ein Strichpunkt.


    Würde mir an deiner Stelle etwas mehr Zeit bei der Fehlersuche lassen. Denn so wie es aussieht verstehst du ja schon die Ansätze.


    Viele Grüße Stefan
     
    Die Kunst zu gefallen, ist die Kunst zu täuschen. (Vavenarques)

  11. #11
    wingman wingman ist offline Mitglied Gold
    Registriert seit
    Sep 2003
    Beiträge
    119
    Hallo

    Juhui habe es rausgefunden es geht jetzt alles

    Besten Dank euch allen

    Das ist die Lösung

    PHP-Code:
    <?php 
      
    if( !isset($_POST['abschicken']) ) { 
        include(
    'add_user.php'); 
        exit; 
      } 
     
      include(
    'config.php'); 
     
     
      
    $benutzername = ( isset($_POST['benutzername']) && trim($_POST['benutzername'])!='' 
        ?  
    mysql_escape_string(trim($_POST['benutzername'])) 
        :  
    FALSE
      
    $password = ( isset($_POST['password']) && trim($_POST['password'])!='' 
        ?  
    mysql_escape_string(trim($_POST['password'])) 
        :  
    FALSE
      
    $password2 = ( isset($_POST['password2']) && trim($_POST['password2'])!='' 
        ?  
    mysql_escape_string(trim($_POST['password2'])) 
        :  
    FALSE
     
      if( !
    $benutzername || !$password || !$password2 ) {
        echo 
    'Eingaben inkorrekt'
        } 
     
      
    $sql ="SELECT benutzername FROM users WHERE benutzername='".$benutzername."' LIMIT 1"
      
    $res mysql_query($sql); 
      
    $gefunden mysql_num_rows($res); 
     
       if( 
    $password == $password2 ) { 
        if( 
    $gefunden <= ) { 
          
    $sql "INSERT INTO users VALUES ('".$benutzername."', '".$password."')"
          if( 
    mysql_query($sql)) {  //Zeile 31 ist doch aber richtig?
            
    $ausgabe $benutzername.' wurde erfolgreich  gespeichert...!';  // Hier fehlt auch noch eine Punkt
          

        } else { 
          
    $ausgabe $benutzername.' gibt es schon in meiner Liste';   // Hier fehlt auch noch eine Punkt
       

      } else { 
        
    $ausgabe 'Password stimmt nicht überrein!'
      } 
     
      echo 
    $ausgabe
     
    ?>
    Gruss Dave
    Geändert von wingman (25.07.04 um 23:02 Uhr)
     

  12. #12
    zarilla zarilla ist offline Mitglied Silber
    Registriert seit
    Jan 2004
    Beiträge
    54
    nich schlecht... debuggt ihr meine scripte in zukunft auch für mich?

    selber->denken();
     

  13. #13
    wingman wingman ist offline Mitglied Gold
    Registriert seit
    Sep 2003
    Beiträge
    119
    Hallo

    Warst auch mal Anfänger und warst auch froh wenn jemmand dir geholfen hat

    Gruss Dave
     

  14. #14
    mini_xs mini_xs ist offline Mitglied Silber
    Registriert seit
    Jun 2003
    Ort
    BW
    Beiträge
    78
    Nimms mir nicht zu übel, aber ich habe nicht geantwortet weil mir einfach die Zeit fehlt.
    Das mit dem Anfänger lass ich mal gelten, das heisst aber nicht dass du nicht selber die Leichtsinnsfehler beheben kannst,
    Habe dir auch unter anderem Fehler genannt die du noch gar nicht behoben hast.

    Gruß Stefan
     
    Die Kunst zu gefallen, ist die Kunst zu täuschen. (Vavenarques)

  15. #15
    wingman wingman ist offline Mitglied Gold
    Registriert seit
    Sep 2003
    Beiträge
    119
    Jo stimmt auch

    Habe das Scrip schon wieder ein bisschen verbessert



    Gruss Dave
     

Ähnliche Themen

  1. Antworten: 6
    Letzter Beitrag: 28.02.10, 19:00
  2. Ist klug sowas mit VB.Net zu machen, oder muss SQL her?
    Von Vamp7771 im Forum .NET Datenverwaltung
    Antworten: 39
    Letzter Beitrag: 22.11.05, 15:10
  3. Netzwerkparty - was muss ich genau machen
    Von gnetos im Forum Netzwerke
    Antworten: 3
    Letzter Beitrag: 12.10.04, 07:37
  4. was muss ich machen?
    Von Private Joker im Forum Sonstige Sprachen
    Antworten: 2
    Letzter Beitrag: 26.06.04, 12:23
  5. Antworten: 24
    Letzter Beitrag: 30.01.04, 05:22