Ankündigung

Einklappen
Keine Ankündigung bisher.

php form mit multiple pages

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

  • php form mit multiple pages

    Hallo zusammen,

    wär echt super, wenn ihr mir weiterhelfen könntet, es ist ein php quiz mit multiplen pages geplant, eigentlich funktioniert einiges nur werden der name, email, stadt und land nicht in datenbank eingetragen (soll natürlich in denselben record)

    PHP-Code:


      page1.php

      <form method="post" action="page2.php">











       <fieldset>
            <legend>Personendaten</legend>
            <div>
                <label for="Name" accesskey="U">Name</label>
                <input name="Name" type="text" id="Name" placeholder="Namen eingeben" required />
            </div>

            <div>
                <label for="E-Mail" accesskey="E">E-Mail</label>
                <input name="E-Mail" type="text" id="E-Mail" placeholder="E-Mail" required />        </div>

            <label for="Stadt">Stadt</label>
            <input name="Stadt" type="text" id="Stadt" placeholder="test2" required />

            <div>
                <label for="Land">Land</label>
                <input name="Land" type="text" id="Land" placeholder="test" required />
            </div>
        </fieldset>
        <fieldset>


        <input type="submit" name="submit" />


        </form>


    page2.php


       <?php
     $name 
    $_POST['Name'];
     
    $email $_POST["E-Mail"];
     
    $stadt $_POST["Stadt"];
     
    $land $_POST["Land"];
    ?>

        <html>
        <head></head>
        <body>
        <form method="post" action="page3.php">

        <input type="hidden" name="Name" value="<?php  $name;?>" />
        <input type="hidden" name="E-Mail" value="<?php  $email;?>" />
        <input type="hidden" name="Stadt" value="<?php $stadt;?>" />
        <input type="hidden" name="Land" value="<?php $land;?>" />



    <input type="radio" name="rb1" value="a1" required > a1<br>
    <input type="radio" name="rb1" value="a2"> a2<br>
    <input type="radio" name="rb1" value="a3" required > a3<br>
    <input type="radio" name="rb1" value="a4"> a4<br>



    <input type="radio" name="rb2" value="b1" required > a1<br>
    <input type="radio" name="rb2" value="b2"> a2<br>
    <input type="radio" name="rb2" value="b3" required > a3<br>
    <input type="radio" name="rb2" value="b4"> a4<br>



    <input type="radio" name="rb3" value="c1" required > a1<br>
    <input type="radio" name="rb3" value="c2"> a2<br>
    <input type="radio" name="rb3" value="c3" required > a3<br>
    <input type="radio" name="rb3" value="c4"> a4<br>



    <input type="radio" name="rb4" value="d1" required > a1<br>
    <input type="radio" name="rb4" value="d2"> a2<br>
    <input type="radio" name="rb4" value="d3" required > a3<br>
    <input type="radio" name="rb4" value="d4"> a4<br>




    <input type="radio" name="rb5" value="d1" required > a1<br>
    <input type="radio" name="rb5" value="d2"> a2<br>
    <input type="radio" name="rb5" value="d3" required > a3<br>
    <input type="radio" name="rb5" value="d4"> a4<br>



    <input type="radio" name="rb6" value="e1" required > a1<br>
    <input type="radio" name="rb6" value="e2"> a2<br>
    <input type="radio" name="rb6" value="e3" required > a3<br>
    <input type="radio" name="rb6" value="e4"> a4<br>



    <input type="radio" name="rb7" value="f1" required > a1<br>
    <input type="radio" name="rb7" value="f2"> a2<br>
    <input type="radio" name="rb7" value="f3" required > a3<br>
    <input type="radio" name="rb7" value="f4"> a4<br>


    <input type="radio" name="rb8" value="g1" required > a1<br>
    <input type="radio" name="rb8" value="g2"> a2<br>
    <input type="radio" name="rb8" value="g3" required > a3<br>
    <input type="radio" name="rb8" value="g4"> a4<br>



    <br> <br>







        <input type="submit" name="submit" />
        </form>
        </body>
        </html>


    page3.php


    <?php

    include 'dbconfig.php';


    if (isset(
    $_POST['submit']))
    {


     
    $name $_POST["Name"];
     
    $email $_POST["E-Mail"];
     
    $stadt $_POST["Stadt"];
     
    $land $_POST["Land"];
     
    $rb1 $_POST["rb1"];
     
    $rb2 $_POST["rb2"];
      
    $rb3 $_POST["rb3"];
     
    $rb4 $_POST["rb4"];
      
    $rb5 $_POST["rb5"];
     
    $rb6 $_POST["rb6"];
      
    $rb7 $_POST["rb7"];
     
    $rb8 $_POST["rb8"];




     echo 
    "Successfully submitted\n";

    echo(
    "\n");

    $score 0;

      if(
    $rb1 == "a1") {

    $score++;

      } else if(
    $rb1 == "a2") {
    $score--;

      }
    else if(
    $rb1 == "a3") {
    $score--;

      }
    else if(
    $rb1 == "a4") {
    $score--;

      }



      if(
    $rb2 == "b1") {

    $score++;

      } else if(
    $rb2 == "b2") {
    $score--;

      }
    else if(
    $rb2 == "b3") {
    $score--;

      }
    else if(
    $rb2 == "b4") {
    $score--;

      }


      if(
    $rb3 == "c1") {

    $score++;

      } else if(
    $rb3 == "c2") {
    $score--;

      }
    else if(
    $rb3 == "c3") {
    $score--;

      }
    else if(
    $rb3 == "c4") {
    $score--;

      }



      if(
    $rb4 == "d1") {

    $score++;

      } else if(
    $rb4 == "d2") {
    $score--;

      }
    else if(
    $rb4 == "d3") {
    $score--;

      }
    else if(
    $rb4 == "d4") {
    $score--;

      }


      if(
    $rb5 == "e1") {

    $score++;

      } else if(
    $rb5 == "e2") {
    $score--;

      }
    else if(
    $rb5 == "e3") {
    $score--;

      }
    else if(
    $rb5 == "e4") {
    $score--;

      }



      if(
    $rb6 == "f1") {

    $score++;

      } else if(
    $rb6 == "f2") {
    $score--;

      }
    else if(
    $rb6 == "f3") {
    $score--;

      }
    else if(
    $rb6 == "f4") {
    $score--;

      }


      if(
    $rb7 == "g1") {

    $score++;

      } else if(
    $rb7 == "g2") {
    $score--;

      }
    else if(
    $rb7 == "g3") {
    $score--;

      }
    else if(
    $rb7 == "g4") {
    $score--;

      }


      if(
    $rb8 == "h1") {

    $score++;

      } else if(
    $rb8 == "h2") {
    $score--;

      }
    else if(
    $rb == "h3") {
    $score--;

      }
    else if(
    $rb8 == "h4") {
    $score--;

      }








     
    $query "INSERT INTO wertetest VALUES ('$name', '$email', '$stadt', '$land', '$rb1', '$rb2', '$rb3', '$rb4', '$rb5', '$rb6', '$rb7', '$rb8', '$score')";

     
    mysql_query($query) or die(mysql_error());







    header ("refresh:50;url=http://link.com");

     }

    ?>

    dbconfig.php

     <?php

    //Define your host here.
    $hostname "localhost";

    //Define your database username here.
    $username "root";

    //Define your database password here.
    $password "+++++++";

    //Define your database name here.
    $dbname "dbtest1";

     
    $conn mysql_connect($hostname$username$password);

     if (!
    $conn)

     {

     die(
    'Could not connect: ' mysql_error());

     }

     
    mysql_select_db($dbname$conn);



    ?>



    score.php

    <?php

    include 'dbconfig.php';

    echo 
    "$score";

    echo 
    "$score";


    ?>


  • #2
    Dann lass dir den POST-Array ausgeben (var_dump()) um zu sehen was drinsteht oder was nicht.

    Ausserdem:
    - mysql_ ist veraltet und wird mit PHP 7 entfernt, verwende mysqli oder gleich PDO
    - Wenn du Werte in die Datenbank einträgst solltest du sie escapen

    Sich irgendetwas zusammenzukopieren ist meistens keine gute Idee (und ich gehe mal davon aus, dass du das getan hast).

    Kommentar


    • #3
      Mit Fortgeschritten hat Deine Kram absolut garnix zu tun! Das sind Anfängerfragen.
      PHP-Manual ¡ mysql_* ist veraltet ¡ Debugging: Finde DEINE Fehler selbst ¡ Passwort-Hashing ¡ Prepared Statements

      Kommentar


      • #4
        Ui, der Code ist schlimm... Also - spontan fällt mir sofort auf:

        - mysql_ ist veraltet nutze PDO (bevorzugt) oder mysqli_

        - Schau dir mal das EVA-Prinzip an und versuch daran zu halten https://php-de.github.io/jumpto/eva-prinzip/

        - Ebenso das D.R.Y-Prinzip. du hast lauter Wiederholungen mit unsinnigen Variablennamen. Nummerierte Variablen sind fast immer ein Zeichen von Fehldesign https://de.wikipedia.org/wiki/Don%E2...epeat_yourself

        - Ausgabe von header() -> Nutze "EVA"

        - SQL-Injection Lücke (siehe oben, nutze Prepared Stamtnents zB in PDO) und bestimmt auch XSS-Lücke -> htmlspecialchars() zu HTML hin.

        - "Code-Smells" https://php-de.github.io/jumpto/code...s-doubleqoutes
        PHP-Code:
        echo "$score"

        - Etc...


        Ev. solltest du mit etwas Kleinerem anfangen und mal die Grundlagen verinnerlichen.. Nicht böse gemeint, aber der Code oben ist echt schlecht.

        Dann debugge und dann konkretisiere dein Problem. Wenn du es nicht selbst machen willst oder kannst, kann ich es auch gerne in die Scriptbörse verschieben.


        MOD: Verschoben von PHP-Fortgeschritten
        PHP.de Wissenssammlung | Debugging: Finde DEINE Fehler selbst! | mysql_* ist veraltet! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__ | Kein Support per PN

        Kommentar

        Lädt...
        X