Winziges PHP Script

  • [COLOR="Cyan"]Huhu @all PHPler

    Ich hätte ne kleine bitte.
    Kann mir jemand ein winziges PHP sccript schreiben, das folgendes macht und so aussieht ^^,


    Aussehen:

    3 Textboxen
    3 Labels (Account, Pw, E-Mail)
    1 Button (Sende)

    Das Script sollte die Daten in den Textboxen an eine Mysql db schiken

    IP : localhost
    Datenbankname : Plain
    Benutzer: root
    Tabelle : Acc, pw , e-mail


    Ich hoffe jemand tut mir den kleinen gefallen.

    Und h4te komm ja nicht auf die Idee deine Standartfrage zu benutzen <.<

    Lg
    OffiGM[/COLOR]

  • [COLOR="Cyan"]Wenn man es so ausdrücken will ja xD

    PW soll nicht crypted o.ä werden im Plain bleiben

    Ja ein Register script auf MySql basis[/COLOR]

  • Zitat von OffiGM;65600

    [COLOR="Cyan"]Tabelle : Acc, pw , e-mail[/COLOR]


    Und wie heißt die Tabelle??

    /EDIT: Hier.
    Nächstes mal keine Sonderzeichen oder Großbuchstaben verwenden. xD

    Habs nicht getestet, sollte aber klappen.

  • Surako

    PHP
    mysql_query("INSERT INTO `Regi`(Account, PW, E-Mail) VALUES(\"".mysql_real_escape_string($_POST['account'])."\", \"".mysql_real_escape_string($_POST['password'])."\", \"".mysql_real_escape_string($_POST['email'])."\")");

    Wieso zur hölle benutzt du nicht einfach ein ' anstatt einem " ? Das Escapen ist ja mal voll der umweg :s

    PHP
    mysql_query("SELECT * FROM `Regi` WHERE `Account`=\"".mysql_real_escape_string($_POST['account'])."\"");

    Wieso Selectierst du alles aus der Tabelle Regi heraus ?! Das ist doch nur unnötiger Arbeitsspeicher der bei diesem vorgang flöten geht. >.<


    So hier der Code nochmal schöner, effizienter und vollständiger ;D

  • [COLOR="Cyan"]Also danke Surako ^^

    Jetzt nächste Frage ich habe mir Mysql seit ewigkeiten nicht gearbeitet.

    Wie müsste ich die Spalten umsetzen=

    varchar
    int
    oder whar ever=[/COLOR]

  • Zitat von OffiGM;65628

    [COLOR="Cyan"]Also danke Surako ^^

    Jetzt nächste Frage ich habe mir Mysql seit ewigkeiten nicht gearbeitet.

    Wie müsste ich die Spalten umsetzen=

    varchar
    int
    oder whar ever=[/COLOR]

    Suraki? :S nimm lieber mein Code.

    Zu deinem Problem.

    Varchar = ein String abc..xyz0123789 usw. passt alles rein. Sehr gut geeignet für Emails namen passwörter usw.

    Integer = Zahlen

    Also E-mail/Accountname/Password = Varchar für email 64zeichen für accountname/password 32zeichen maximal find ich angemessen.

  • [COLOR="Cyan"]Ok anderst muss ich fragen xD

    Danke dir auch Yannick.

    Kann mir jemand schnell ne SQL machen XD
    mein Navicate meckert bei jeder Aktion beim DB erstellen :(

    Lg
    OffigM

    *P.s. Jeder der mich nicht mag darf sich jetzt über meine unfähigkeit in SQL totlachen[/COLOR]

  • Zitat von OffiGM;65630

    [COLOR="Cyan"]Ok anderst muss ich fragen xD

    Danke dir auch Yannick.

    Kann mir jemand schnell ne SQL machen XD
    mein Navicate meckert bei jeder Aktion beim DB erstellen :(

    Lg
    OffigM[/COLOR]

    [COLOR="Red"]*P.s. Jeder der mich nicht mag darf sich jetzt über meine unfähigkeit in SQL totlachen[/COLOR]

    OffiGM :

    Nicht Jeder kann Alles und warum Sollte man dich Deshalb Auslachen ?!?

    Es gibt Genug leute, die Garnix können oder Ganz Wenig.

    Jeder Mensch, lernt im Leben, vorallem im Jungen Alter :)


    LG Ghostfire

  • [COLOR="Cyan"]

    Deswegen die Betonung auf "Jeder der mich nicht mag"
    Die suchen nur solche gelegenheiten :P

    Aber klar nicht jeder kann alles XD[/COLOR]

  • Man könnte auch anstatt mysql_num_rows einfach direkt SELECT count(Account) FROM `Regi` WHERE...

    EDIT:

    Hier deine Table:

    Zitat

    CREATE TABLE `Plain`.`accounts` (
    `id` INT( 255 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    `accountname` VARCHAR( 64 ) NOT NULL ,
    `password` VARCHAR( 64 ) NOT NULL ,
    `email` VARCHAR( 128 ) NOT NULL
    ) ENGINE = MYISAM ;

    Und das PW ja gecriptet werden soll müsste diese Zeile eigentlich so heißen:

    PHP
    mysql_query("INSERT INTO `Regi`(Account, PW, E-Mail) VALUES('".mysql_real_escape_string($_POST['account'])."', '".md5($_POST['password'])."', '".mysql_real_escape_string($_POST['email'])."')");

  • Mein Versuch...

  • [COLOR="Cyan"]@ h4te danke
    ^^

    aber

    Zitat

    PW soll nicht crypted o.ä werden im Plain bleiben

    Plain = Rein

    Also es soll nicht crypted werden ^^[/COLOR]


    Edite:
    [COLOR="Red"]Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\index.php on line 12[/COLOR]

    Kommt bei jedem :(

  • PHP
    <form method="post" action="<?=$_SERVER['PHP_SELF']?>">


    Würde auch reichen wenn man action leer lässt.

    Aber ansonsten sehr anschaulich geschrieben ;0

  • Zitat

    Edite:
    Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\index.php on line 12

    Kommt bei jedem :(


    Die Meldung sagt aus, wie du ja sicher bereits gelesen hast, dass der Funktion mysql_num_rows() statt einer Resource eine Variable vom Typ boolean als Parameter übergeben wurde. Der Parameter ist die Rückgabe der Funktion mysql_query(). Diese gibt wenn das Query erfolgreich ausgeführt wurde eine Resource zurück, ansonsten ein false. Um den Fehler also abzufangen, reicht es, die Rückgabe abzufangen:

    Füge bei den Beispielen von yannick / Surako also vor Zeile 12 folgendes ein:

    PHP
    if(!$accounts) {
      die('Fehler im MySQL Query!');
    }

    Um nun noch eine genaue Fehlerbeschreibung von MySQL zu erhalten, ersetze das die(); mit folgendem:

    PHP
    die('MySQL meldet: '.mysql_errno().': '.mysql_error());

    Das gesammte Skript sieht nun also so aus:

    Nun poste die Fehlermeldung. :)

  • [COLOR="Cyan"]

    Zitat

    MySQL Fehler: 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-Mail) VALUES("ohdkmqomm", "üpgsmp", "pmfs4")' at line 1'

    Das ist der Error[/COLOR]

  • Sofern zu h4tes Tabelle nutzt:

    Zitat

    $result = mysql_query("INSERT INTO `accounts` (`accountname`, `password`, `email`) VALUES (\"".mysql_real_escape_string($_POST['account'])."\", \"".mysql_real_escape_string($_POST['password'])."\", \"".mysql_real_escape_string($_POST['email'])."\")");

  • [COLOR="Cyan"]Wo muss ich das einfügen xD

    Sry vollnoob xD[/COLOR]

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!