Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 24

Thema: PHP & MySQL Formular Problem

  1. #1
    TP-Senior Avatar von Wild-Wolf
    Registriert seit
    May 2006
    Beiträge
    213

    PHP & MySQL Formular Problem

    Hallo zusammen,

    ich brauche eine Formular wo man sich eintragen/anmelden kann was in einer DB gespeichert wird.
    Habe da auch was gebaut aber irgendwie bekomme ich immer ein Parse error. Jedoch habe ich nichts gefunden.

    PS. ist mein erstes Script.

    Formular:
    HTML-Code:
    <html>
    <head>
     <title>Formularbeispiel</title>
    </head>
    <body>
     <h1>Formularbeispiel</h1>
     <form action="anmeldung.php" method="post">
        <!-- Einzeiliges Eingabefeld -->
        <p>
        Nick*: <input type="text" name="Nick" size="40" maxlength="20"><br />
        Vorname*: <input type="text" name="Vorname" size="40" maxlength="25"><br />
        Nachname*: <input type="text" name="Nachname" size="40" maxlength="25"><br />
        E-Mail*: <input type="text" name="E-Mail" size="40" maxlength="50" value=@>
        </p>
        <!-- Auswahlliste -->
        <p>Auftrittsart*: <select name="Art" size="1">
            <option value="1">Posen
            <option value="2" >Show/Vorführung
        </select>
        </p>
        <!-- Radiobuttons -->
        <p>Musik*:
        <input type="radio" name="Musik" value="1" >Ja
        <input type="radio" name="Musik" value="2" >Nein
        </p>
        <p>
        <input type="submit" value="Abschicken">
        <input type="reset" value="Zur&uuml;cksetzen">
        </p>
     </form>
    </body>
    </html>
    PHP Code:
    PHP-Code:
    <html>
    <head>
    <title></title>
    </head>
    <body>
    <?php
    if (!isset($_POST["abstimmen"]))
    {
    echo 
    "Bitte kein Direktaufruf";
    exit;
    }

    include(
    "../conf/zugriff.inc.php");

    $Nick=$_Post["Nick"];
    $Vorname=$_Post["Vorname"];
    $Nachname=$_Post["Nachname"];
    $E-Mail=$_Post["E-Mail"];
    $Art=$_Post["Art"];
    $Musik=$_Post["Musik"];
    INSERT INTO anmeldung (NickVornameNachnameE-MailArtMusik)
    VALUES ("$Nick""$Vorname""$Nachname""$E-Mail""$Art""$Musik");
    mysql_query($sql);
    mysql_close();
    ?>
    <p>Ihre Eintrag wurde gespeichert</p>
    </body>
    </html>

  2. #2
    TP-Specialist Avatar von max.m
    Registriert seit
    Dec 2005
    Ort
    Stuttgart
    Beiträge
    2.021
    Hi Wild-Wolf,

    Bindstriche sind in Variablennamen verboten ($E-Mail).
    Und $sql, was Du bei mysql_query verwendest, kann ich auch nirgends im Script entdecken. Dein Insert soll vermutlich darin gespeichert werden, also $sql = "INSERT ...", aber beachte bitte das richtige Setzen von Anführungszeichen und Hochkommata.

    Grüße max.m

  3. #3
    TP-Senior Avatar von Wild-Wolf
    Registriert seit
    May 2006
    Beiträge
    213
    Also bei mir gehts immer noch net.
    Habe es jetzt so:
    HTML-Code:
    <html>
    <head>
     <title>Formularbeispiel</title>
    </head>
    <body>
     <h1>Formularbeispiel</h1>
     <form action="anmeldung.php" method="post">
        <!-- Einzeiliges Eingabefeld -->
        <p>
        Nick*: <input type="text" name="Nick" size="40" maxlength="20"><br />
        Vorname*: <input type="text" name="Vorname" size="40" maxlength="25"><br />
        Nachname*: <input type="text" name="Nachname" size="40" maxlength="25"><br />
        E-Mail*: <input type="text" name="EMail" size="40" maxlength="50" value=@>
        </p>
        <!-- Auswahlliste -->
        <p>Auftrittsart*: <select name="Art" size="1">
            <option value="1">Posen
            <option value="2" >Show/Vorführung
        </select>
        </p>
        <!-- Radiobuttons -->
        <p>Musik*:
        <input type="radio" name="Musik" value="1" >Ja
        <input type="radio" name="Musik" value="2" >Nein
        </p>
        <p>
        <input type="submit" value="Abschicken">
        <input type="reset" value="Zur&uuml;cksetzen">
        </p>
     </form>
    </body>
    </html>
    PHP-Code:
    <html>
    <head>
    <title></title>
    </head>
    <body>
    <?php
    if (!isset($_POST["abstimmen"]))
    {
    echo 
    "Bitte kein Direktaufruf";
    exit;
    }

    include(
    "zugriff.inc.php");

    $Nick=$_Post["Nick"];
    $Vorname=$_Post["Vorname"];
    $Nachname=$_Post["Nachname"];
    $EMail=$_Post["EMail"];
    $Art=$_Post["Art"];
    $Musik=$_Post["Musik"];
    $sql="INSERT INTO anmeldung (Nick, Vorname, Nachname, E-Mail, Art, Musik)
    VALUES ("
    $Nick", "$Vorname", "$Nachname", "$EMail", "$Art", "$Musik")";
    mysql_query($sql);
    mysql_close();
    ?>
    <p>Ihre Eintrag wurde gespeichert</p>
    </body>
    </html>
    kommt aber immer noch:
    Code:
    Parse error: parse error in D:\Apache\htdocs\cosplay\anmeldung.php on line 22
    Geändert von Wild-Wolf (17.08.2011 um 10:43 Uhr)

  4. #4
    TP-Specialist Avatar von max.m
    Registriert seit
    Dec 2005
    Ort
    Stuttgart
    Beiträge
    2.021
    Das liegt an der falschen Nutzung von Anführungszeichen / Hochkommata, wie oben erwähnt. Das ist nicht mehr die
    alte Fehlermeldung. Versuchs mal damit:

    PHP-Code:
    $sql="INSERT INTO anmeldung (Nick, Vorname, Nachname, E-Mail, Art, Musik)
    VALUES ('$Nick', '$Vorname', '$Nachname', '$EMail', '$Art', '$Musik')"

    Und Deine Meldung "Ihre Eintrag wurde gespeichert" wird auch unabhängig vom Erfolg der Eintragung ausgegeben.

  5. #5
    TP-Senior Avatar von Wild-Wolf
    Registriert seit
    May 2006
    Beiträge
    213
    Jetzt kommt das: Bitte kein Direktaufruf
    Eingetragen in die Datenbank wird leider auch nichts

    Ich habe das so aus nem Lehrnbuch gemacht.
    Heißt das das Buch ist falsch?

    Wie muss das denn dann aussehen?

  6. #6
    TP-Specialist Avatar von max.m
    Registriert seit
    Dec 2005
    Ort
    Stuttgart
    Beiträge
    2.021
    Zitat Zitat von Wild-Wolf Beitrag anzeigen
    Jetzt kommt das: Bitte kein Direktaufruf
    Eingetragen in die Datenbank wird leider auch nichts
    Das kommt weil kein Formularelemet Namens abstimmen ($_POST["abstimmen"]) übergeben wird.
    Du kannst diesen Block:

    PHP-Code:
    if (!isset($_POST["abstimmen"]))
    {
    echo 
    "Bitte kein Direktaufruf";
    exit;

    testweise auskommentieren oder einem Formularelement den Namen abstimmen geben.
    Das exit bewirkt dass das Script abgebrochen wird, d. h. es kann nichts in die DB eingetragen werden.

    Zitat Zitat von Wild-Wolf Beitrag anzeigen
    Ich habe das so aus nem Lehrnbuch gemacht.
    Heißt das das Buch ist falsch?
    Wenn DU das 1:1 aus dem Buch übernommen hast: ja.

  7. #7
    TP-Senior Avatar von Wild-Wolf
    Registriert seit
    May 2006
    Beiträge
    213
    Ich werde blöde. Habs auskommentiert.
    Jetzt kommt das Parse error: parse error in D:\Apache\htdocs\cosplay\zugriff.inc.php on line 3

    PHP-Code:
    <? php
    //Zugangsdaten
    $host="localhost";
    $user="test";
    $password="*******";
    $dbname="testDB";

    //Verbindung aufbauen
    $db mysql_connect($host$user$password) or die ("Verbindung fehlgeschlagen");

    //Datenbank als Standard definieren
    mysql_select_db($dbname,&db);
    ?>

  8. #8
    TP-Specialist Avatar von max.m
    Registriert seit
    Dec 2005
    Ort
    Stuttgart
    Beiträge
    2.021
    Entferne hier: <? php das Leerzeichen und mach aus:

    PHP-Code:
    mysql_select_db($dbname,&db); 
    ein:
    PHP-Code:
    mysql_select_db($dbname,$db); 

  9. #9
    TP-Senior Avatar von Wild-Wolf
    Registriert seit
    May 2006
    Beiträge
    213
    Ok das geht soweit nur übertragen tut der nix.
    Kannst du mir das vielleicht anpassen das es geht? ich weiß net wo noch der Fehler sein kann.

  10. #10
    TP-Specialist Avatar von max.m
    Registriert seit
    Dec 2005
    Ort
    Stuttgart
    Beiträge
    2.021
    Bitte? Danke?

    Auf die Schnelle hab ich noch gesehen dass die POST-Variablen $_Post["Nick"]; groß geschrieben werden müssen, sprich: $_POST["Nick"];

  11. #11
    TP-Senior Avatar von Wild-Wolf
    Registriert seit
    May 2006
    Beiträge
    213
    Also im Buch steht das das nur der Übersicht dient und nicht muss.
    Ich teste es mal

  12. #12
    TP-Specialist Avatar von max.m
    Registriert seit
    Dec 2005
    Ort
    Stuttgart
    Beiträge
    2.021
    Zitat Zitat von Wild-Wolf Beitrag anzeigen
    Also im Buch steht das das nur der Übersicht dient und nicht muss.
    Was dient nur der Übersicht?

  13. #13
    TP-Senior Avatar von Wild-Wolf
    Registriert seit
    May 2006
    Beiträge
    213
    Das alles groß geschrieben werden muss.

    So getestet und auch hier wird nix übertragen.

  14. #14
    TP-Specialist Avatar von max.m
    Registriert seit
    Dec 2005
    Ort
    Stuttgart
    Beiträge
    2.021
    Kannst Du nochmal das komplette Script posten?

    Und Du kannst mal mit echo $sql = "..."; Deine Query ausgeben lassen und hier posten, bzw. versuchen in phpMyAdmin direkt auszuführen.

  15. #15
    TP-Senior Avatar von Wild-Wolf
    Registriert seit
    May 2006
    Beiträge
    213
    Das Stimmt
    Code:
    INSERT INTO anmeldung (Nick, Vorname, Nachname, EMail, Art, Musik) VALUES ('sds', 'Test', 'Testing', 'test@test.de', 'Show', 'Nein')
    
    Ihre Eintrag wurde gespeichert
    Formular:
    HTML-Code:
    <html>
    <head>
     <title>Formularbeispiel</title>
    </head>
    <body>
     <h1>Formularbeispiel</h1>
     <form action="anmeldung.php" method="post">
        <!-- Einzeiliges Eingabefeld -->
        <p>
        Nick*: <input type="text" name="Nick" size="40" maxlength="20"><br />
        Vorname*: <input type="text" name="Vorname" size="40" maxlength="25"><br />
        Nachname*: <input type="text" name="Nachname" size="40" maxlength="25"><br />
        E-Mail*: <input type="text" name="EMail" size="40" maxlength="50" value=@>
        </p>
        <!-- Auswahlliste -->
        <p>Auftrittsart*: <select name="Art" size="1">
            <option value="Posen">Posen
            <option value="Show" >Show/Vorführung
        </select>
        </p>
        <!-- Radiobuttons -->
        <p>Musik*:
        <input type="radio" name="Musik" value="Ja" >Ja
        <input type="radio" name="Musik" value="Nein" >Nein
        </p>
        <p>
        <input type="submit" name="abschicken" value="Abschicken">
        <input type="reset" value="Zur&uuml;cksetzen">
        </p>
     </form>
    </body>
    </html>
    Übergabe:
    PHP-Code:
    <html>
    <head>
    <title>Test</title>
    </head>
    <body>
    <?php
    if (!isset($_POST["abschicken"]))
    {
    echo 
    "Bitte kein Direktaufruf";
    exit;
    }
    include(
    "zugriff.inc.php");

    $Nick=$_POST["Nick"];
    $Vorname=$_POST["Vorname"];
    $Nachname=$_POST["Nachname"];
    $EMail=$_POST["EMail"];
    $Art=$_POST["Art"];
    $Musik=$_POST["Musik"];
    $sql="INSERT INTO anmeldung (Nick, Vorname, Nachname, EMail, Art, Musik)
    VALUES ('$Nick', '$Vorname', '$Nachname', '$EMail', '$Art', '$Musik')"

    mysql_query($sql);
    mysql_close();

    //Echo Befehl
    echo $sql "INSERT INTO anmeldung (Nick, Vorname, Nachname, EMail, Art, Musik)
    VALUES ('$Nick', '$Vorname', '$Nachname', '$EMail', '$Art', '$Musik')"
    ;
    ?>
    <p>Ihre Eintrag wurde gespeichert</p>
    </body>
    </html>
    Config:
    PHP-Code:
    <?php
    //Zugangsdaten
    $host="localhost";
    $user="test";
    $password="*****";
    $dbname="testDB";

    //Verbindung aufbauen
    $db mysql_connect($host$user$password) or die ("Verbindung fehlgeschlagen");

    //Datenbank als Standard definieren
    mysql_select_db($dbname,$db);
    ?>

Seite 1 von 2 12 LetzteLetzte

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. Formular mit PHP und MySQL
    Von xecuta im Forum Jobs & Aufträge
    Antworten: 0
    Letzter Beitrag: 20.01.2010, 10:17
  2. MYSQL UPDATE Formular Problem
    Von Template im Forum Traum-Dynamik
    Antworten: 2
    Letzter Beitrag: 16.01.2008, 13:50
  3. [PHP-MySQL]Formular mit Anmeldung
    Von saman im Forum Traum-Dynamik
    Antworten: 8
    Letzter Beitrag: 01.04.2005, 11:48
  4. Antworten: 12
    Letzter Beitrag: 27.01.2002, 14:59

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51