MySQL Register Script Into klappt nicht

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

  • Delein
    antwortet
    Hey Leute das Thema hat sich erledigt hat sich herausgestellt das ich auf einmal mysqli habe und es deswegen nicht geklappt hatt. td danke an alle

    Einen Kommentar schreiben:


  • Delein
    antwortet
    Hey iBumsti danke für deine hilfe ich werds gleich mal austesten sage dann obs geklappt hat oder nicht

    Einen Kommentar schreiben:


  • eagle275
    antwortet
    was soll überhaupt mysql_real_escape_string(htmlspecialchars ?

    beschäftige dich bitte mit KONTEXT-WECHSEL

    Einen Kommentar schreiben:


  • wahsaga
    antwortet
    Zitat von iBumsti Beitrag anzeigen
    Dein Fehler ist -> INSERT INTO benutzer VALUES('', '$name', '$pass1', '4', 'a')
    Es muss heißen -> INSERT INTO benutzer ('id','name','password','zahlenspalte','buchstabenspalte') VALUES ('', '$name', '$pass1', '4', 'a')
    Nope.

    Wenn man Werte für alle Spalten angibt, muss man die Spalten nicht auflisten, dann reicht die VALUES-Klausel.

    Und die Spaltennamen in Hochkommata zu setzen, ist definitiv falsch.

    Einen Kommentar schreiben:


  • iBumsti
    antwortet
    Oh Mann.
    Du tust mir ein bisschen leid.
    Ich habe früher auch solche Antworten bekommen, die mir als Neuling nichts gebracht haben. Aber aber es muss sein um selbst besser auf Fehler und dessen Behebungsmöglichkeiten zu achten.
    Schau dir unbedingt mal die Sachen an die hier beschrieben worden sind um selbst einen Fehler zu finden.

    Aber nun zu deinem Problem.
    Wenn du einmal mit einer direkten Eingabe über zB phpmyadmin versucht hättest ob der INSERT funktioniert wärst du selbst drauf gekommen.
    Merke dir das du vorher den Test immer mal machen solltest ob der Insert auch ohne PHP funktioniert.

    Dein Fehler ist -> INSERT INTO benutzer VALUES('', '$name', '$pass1', '4', 'a')
    Es muss heißen -> INSERT INTO benutzer ('id','name','password','zahlenspalte','buchstabenspalte') VALUES ('', '$name', '$pass1', '4', 'a')

    Anmerkung: Bitte... die Namen id, name, passwort, zahlenspalte und buchstabenspalte sind von mir ausgedacht und von dir zu ersetzen.

    Einen Kommentar schreiben:


  • combie
    antwortet
    Zitat von Delein Beitrag anzeigen
    So habe nun vor den tags <?php session_start(); ?> steht aber klappen tuts immer noch nicht
    Was passiert denn?

    Error_reporting aktiviert?
    Nein?
    Machen!

    $name = mysql_real_escape_string(htmlspecialchars($_POST['name']));
    1. Die mysql Erweiterung ist veraltet. verwende besser PDO oder mysqli
    2. das htmlspecialchars() ist da flüssiger als Wasser. Überflüssig.





    Welche Datei zeigst du da überhaupt?
    Die Login.php, oder die index.php?


    echo"Der Benutzer wurde erfolgreich erstellt";
    Du gibst die Meldung einfach nur aus, ohne zu prüfen, ob das auch wirklich geklappt hat.
    Und eine mysql_error() Auswertung/Ausgabe sehe ich da auch nicht.
    Zuletzt geändert von combie; 27.08.2013, 06:05.

    Einen Kommentar schreiben:


  • Delein
    antwortet
    So habe nun vor den tags <?php session_start(); ?> steht aber klappen tuts immer noch nicht

    Einen Kommentar schreiben:


  • h3ll
    antwortet
    Zitat von Delein Beitrag anzeigen
    session_start() steht doch schon oben am anfang des Scripts
    Du verstehst unter "Anfang" offenbar was andere als wir. Was ist mit dem ganzen HTML-Zeug davor?

    Einen Kommentar schreiben:


  • Delein
    antwortet
    session_start() steht doch schon oben am anfang des Scripts muss session_start() noch iergend wo hin geschrieben werden?

    Aber kann mir auch nicht vorstellen das das nur daran liegen kann.

    Einen Kommentar schreiben:


  • combie
    antwortet
    Halte dich an das "EVA Prinzip"!
    Sonst wird das nichts.

    z.B: session_start() muss vor allen Ausgaben kommen.

    Einen Kommentar schreiben:


  • Delein
    hat ein Thema erstellt MySQL Register Script Into klappt nicht.

    MySQL Register Script Into klappt nicht

    Hey Leute!

    Habe da ein problem und zwar wenn ich mich Regestriere steht da zwar dann das es geklappt hat, aber wenn ich in der Datenbank nachschaue sthet dort kein neuer Benutzer.

    Ich hoffe ihr könnt mir weiter helfen.

    Danke schonmal im voraus.
    PHP-Code:
    <!DOCTYPE html>
    <html> 
    <head>

    </head>
    <header>
        <h1>Register Here:</h1>     
    </header>
    <body>
    <div id="register">
    <form action="index.php" method="post">    
    <?php
        session_start
    ();
        
    $connect mysql_connect("127.0.0.1""Delein""12345") or die ("Verbindung zur Datenbank konnte nicht hergestellt werden");
        
    mysql_select_db("admin_panel") or die ("Datenbank ist nicht vorhanden");
            
            if(isset(
    $_POST['submit'])){
                
    $name mysql_real_escape_string(htmlspecialchars($_POST['name']));
                
    $pass1 mysql_real_escape_string(htmlspecialchars($_POST['pass1']));
                
    $pass2 mysql_real_escape_string(htmlspecialchars($_POST['pass2']));
            if (
    $name!="" && $pass1!= "" && $pass2!=""){
                    if(
    $pass1==$pass2) {
                        if(
    strlen($name<32)) {
                            
    $query mysql_query("SELECT * FROM benutzer WHERE username ='$name'");
                            
    $count mysql_num_rows($query);
                                if(
    $count == 0) {
                                    
    $pass1 md5($pass1);
                                    
    $queryissert mysql_query("INSERT INTO benutzer VALUES('', '$name', '$pass1', '4', 'a')");
                                    echo
    "Der Benutzer wurde erfolgreich erstellt";
                                }else {
                                    echo
    "Dieser Name ist bereits vergeben";
                                }
                        }else {
                            echo
    "Der Username ist zu lange maximal 32 Buchstaben";
                        }
                    }else {
                        echo
    "Die Passörter stimmen nicht überein";
                    }
                }else {
                    echo 
    "Es wurden nicht alle Felder asgefüllt!";
                }
            }

    ?>
        <table>
            <tr><td>User Name:</td><td><input size="25" type="text" name="name"/></td></tr>
            <tr><td>Password:</td><td><input size="25" type="password" name="pass1" /></td></tr>
            <tr><td>Password repead:</td><td><input size="25" type="password" name="pass2" /></td></tr>
        </table>
                <tr><td></td><td><input type="submit" name="submit" value="Register" /></td></tr>
                <a href="Login.php">Login Here</a>
    </form>
    </div>
    </body> 
    </html>
Lädt...
X