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

Thema: Anmeldescript mit PHP & MySQL

  1. #1
    TP-Supporter Avatar von SNCIS
    Registriert seit
    Jun 2001
    Ort
    Mainz
    Beiträge
    454

    Anmeldescript mit PHP & MySQL

    Hallo alle zusammen,

    ich stehe mal wieder vor einem grossen Problem. Und zwar habe ich ein stinknormales Anmeldescript in HTML erstellt. Jetzt möchte ich aber dass der Teilnehmer bei der Anmeldung über 2 Seiten geleitet wird. Auf der ersten Seite stehen die persönlichen Angaben und auf der zweiten Seite die Teilnahmebedingungen, die er bestätigen muss. Anschliessen sollen die Daten in die Datenbank übernommen werden. Ich denke mal dass ich mit einer SessionID arbeiten muss. Die Felder die der User auf der ersten Seite ausfüllen muss sind "Spielername, Vorname, Name, Strasse, Hausnummer, PLZ, Ort, Länderkürzel, E-mail, Passwort, Turnierspiel" und auf der zweiten Seite ist eine Checkbox, die bestätigt werden muss. Die Daten sollen alle in der Tabelle "teilnehmer" gespeichert werden. Meine Frage: Wie lege ich mir die Datenbankstruktur bezüglich der SessionID an?

    Gruss SNCIS
    Geändert von SNCIS (01.02.2002 um 14:07 Uhr)
    Visions are no longer an empty phrase - they will become reality now...

  2. #2
    TP-Supporter Avatar von SNCIS
    Registriert seit
    Jun 2001
    Ort
    Mainz
    Beiträge
    454
    Also, das Problem mit der SessionID habe ich soweit gelöst. Anbei das Script:

    <?

    include("config.php");

    $sql = "SELECT info FROM sessioninfo WHERE id = '$id'";

    if(!$verbindung)

    {
    echo "Die Tabelle konnte nich ausgew&auml;hlt werden<br>\n";

    echo mysql_errno() . ": mysql_error()<br>\n";
    }

    function SessionID()

    {
    srand(time());
    $zeichen = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    $zeichen .= strtolower($zeichen);
    for ($i = 0; $i < 8; $i++)

    {
    $n = rand() % strlen($zeichen);
    $SID .= substr($zeichen, $n, 1);
    }

    return $SID;
    }

    ?>

    <html>
    <head>
    <title>German S.W.A.T. Team präsentiert die De-Lan 2002</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>

    <body bgcolor="#FFFFFF" text="#000000">
    <table width="600" border="0" cellspacing="0" cellpadding="0" align="center">
    <tr>
    <td colspan="2"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Bitte
    f&uuml;llt das Anmeldeformular bitte vollst&auml;ndig und ordnungsgem&auml;&szlig;
    aus. Schaut euch vor dem Abschicken der Anmeldung das Formular noch einmal
    genau durch, damit nicht so viel Datenm&uuml;ll ensteht. Nur so ist ein
    reibungsloser Ablauf eurer Anmeldung garantiert.</font></td>
    </tr>
    <tr>
    <td width="181">&nbsp;</td>
    <td width="419">&nbsp;</td>
    </tr>
    <tr>
    <td width="181"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Spielername:</font></td>
    <td width="419">
    <input type="text" name="player" size="20">
    </td>
    </tr>
    <tr>
    <td width="181"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Vorname:</font></td>
    <td width="419">
    <input type="text" name="vorname" size="20">
    </td>
    </tr>
    <tr>
    <td width="181"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Name:</font></td>
    <td width="419">
    <input type="text" name="name" size="20">
    </td>
    </tr>
    <tr>
    <td width="181">&nbsp;</td>
    <td width="419">&nbsp;</td>
    </tr>
    <tr>
    <td width="181"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Strasse:</font></td>
    <td width="419">
    <input type="text" name="strasse" size="20">
    </td>
    </tr>
    <tr>
    <td width="181"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Hausnummer:</font></td>
    <td width="419">
    <input type="text" name="nr" size="20">
    </td>
    </tr>
    <tr>
    <td width="181"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Postleitzahl:</font></td>
    <td width="419">
    <input type="text" name="plz" size="20">
    </td>
    </tr>
    <tr>
    <td width="181"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Ort:</font></td>
    <td width="419">
    <input type="text" name="ort" size="20">
    </td>
    </tr>
    <tr>
    <td width="181">&nbsp;</td>
    <td width="419">&nbsp;</td>
    </tr>
    <tr>
    <td width="181"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">E-mail:</font></td>
    <td width="419">
    <input type="text" name="mail" size="20">
    </td>
    </tr>
    <tr>
    <td width="181"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Passwort:</font></td>
    <td width="419">
    <input type="text" name="passwort" size="20">
    </td>
    </tr>
    <tr>
    <td width="181">&nbsp;</td>
    <td width="419">&nbsp;</td>
    </tr>
    <tr>
    <td width="181"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">L&auml;nderk&uuml;rzel:</font></td>
    <td width="419">
    <input type="text" name="land" size="20">
    </td>
    </tr>
    <tr>
    <td width="181">&nbsp;</td>
    <td width="419">&nbsp;</td>
    </tr>
    <tr>
    <td width="181"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Turnierspiel:</font></td>
    <td width="419">
    <input type="text" name="turnierspiel" size="20">
    </td>
    </tr>
    <tr>
    <td width="181">&nbsp;</td>
    <td width="419">&nbsp;</td>
    </tr>
    </table>
    </body>
    </html>

    Wie lese ich die Felder nun aus, damit die Werte in der Session ID gespeichert werden und wie leite ich den User auf die nächste Seite des Anmeldescripts weiter?

    Gruss SNCIS
    Geändert von SNCIS (01.02.2002 um 15:25 Uhr)
    Visions are no longer an empty phrase - they will become reality now...

  3. #3
    TP-Specialist Avatar von Stuck Mojo
    Registriert seit
    Feb 2001
    Ort
    Helmstedt/Wolfsburg
    Beiträge
    4.108
    Hi !!

    mein "einfachster" Vorschlag:

    1.Seite: Dein Formular, mit den Formularfeldern... ist denke ich mal klar.

    2. Seite: Alle übergebenen Variablen einer Sessionid zuweisen. Code ganz oben im Quelltext:
    PHP-Code:
    <?
    session_start
    ();
    session_register("daten");
    $daten $HTTP_POST_VARS;
    ?>
    ...jetzt stehen deine Variablen als Array in der Session zur Verfügung... Und jetzt den rest deiner Seite mit den "Bedingungen"...

    3. Seite: Hier halt einfach den INSERT mit den Daten deines Arrays ausführen.
    PHP-Code:
    <?
    session_start
    ();
    foreach(
    $daten as $key => $value) {
         
    $tmpquery .= "$key = '$value',";
         }
       
    $tmpquery substr($tmpquery,0,strlen($query)-1);
       
    mysql_query("INSERT teilnehmer SET ".$tmpquery);
    ?>
    Die Spalten in der Datenbank müssen die gleichen Namen haben, wie deine INPUT-Felder...

    ...ich hoffe das passt... hab ich mir eben schnell aus den Fingern gesaugt.
    Deine eigene SessionID brauchst du garnicht...seit PHP4 gibts ja schließlich schon ne' Funktion für sowas...

    Gruß Jan

  4. #4
    TP-Supporter Avatar von SNCIS
    Registriert seit
    Jun 2001
    Ort
    Mainz
    Beiträge
    454
    Sprich diesen Teil auf der 1. Seite kann ich herauslassen:

    function SessionID()

    {
    srand(time());
    $zeichen = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    $zeichen .= strtolower($zeichen);
    for ($i = 0; $i < 8; $i++)

    {
    $n = rand() % strlen($zeichen);
    $SID .= substr($zeichen, $n, 1);
    }

    return $SID;
    }


    Also nur den normalen HTML Quelltext. Und auf der zweiten Seite füge ich dies ein:

    <?
    session_start();
    session_register("daten");
    $daten = $HTTP_POST_VARS;
    ?>

    In "Daten" kommen dann die ganzen Feldbezeichnungen wenn ich das jett richtig verstanden habe.

    Gruss SNCIS
    Visions are no longer an empty phrase - they will become reality now...

  5. #5
    TP-Specialist Avatar von Stuck Mojo
    Registriert seit
    Feb 2001
    Ort
    Helmstedt/Wolfsburg
    Beiträge
    4.108
    jo... wie schon gesagt, du brauchst keine eigene Session-Funktion programmieren.
    in $daten liegt dann das Array $HTTP_POST_VARS ...
    Du kannst natürlich auch auf der Formularseite die Session schon mit <? session_start();?> starten, so kannst du bei Bedarf änderungen nach Falscheingabe korrigieren lassen...

  6. #6
    TP-Supporter Avatar von SNCIS
    Registriert seit
    Jun 2001
    Ort
    Mainz
    Beiträge
    454
    Also muss ich diesen Befehl dann in die 1.Seite setzen:

    <? session_start();?>

    Denn die Sache mit dem Korrigieren find ich klasse. Daran hatte ich gar nicht gedacht. Danke dir für dein Hilfe. Wenn noch was sein sollte, melde ich mich wieder.

    Gruss SNCIS
    Visions are no longer an empty phrase - they will become reality now...

  7. #7
    TP-Supporter Avatar von SNCIS
    Registriert seit
    Jun 2001
    Ort
    Mainz
    Beiträge
    454
    Achso, noch etwas: Wenn ich nach deinem Schema vorgehe, brauche ich dann noch eine Tabelle für die SessionID oder nicht?
    Visions are no longer an empty phrase - they will become reality now...

  8. #8
    TP-Specialist Avatar von Stuck Mojo
    Registriert seit
    Feb 2001
    Ort
    Helmstedt/Wolfsburg
    Beiträge
    4.108
    nein... brauchst du nicht, da PHP das ja für dich übernimmt.

  9. #9
    TP-Supporter Avatar von SNCIS
    Registriert seit
    Jun 2001
    Ort
    Mainz
    Beiträge
    454

    Post

    Ok, danke. Naja, als Gelegenheits Coder bildet sich mein Wissen langsam nach und nach.
    Visions are no longer an empty phrase - they will become reality now...

  10. #10
    TP-Supporter Avatar von SNCIS
    Registriert seit
    Jun 2001
    Ort
    Mainz
    Beiträge
    454
    Jetzt meine letzte Frage: Wie verlinke ich die einzelnen Seiten untereinander. Muss ich irgend etwas dabei beachten, oder kann ich normale Links erstellen?
    Visions are no longer an empty phrase - they will become reality now...

  11. #11
    TP-Specialist Avatar von Stuck Mojo
    Registriert seit
    Feb 2001
    Ort
    Helmstedt/Wolfsburg
    Beiträge
    4.108
    ehhh wie jetzt??
    Über normale links kannst du natürlich keine Formulardaten versenden... ...
    Du mußt alle Formulardaten per Methode=Post senden...

  12. #12
    TP-Supporter Avatar von SNCIS
    Registriert seit
    Jun 2001
    Ort
    Mainz
    Beiträge
    454
    Nee, alles klar. Habe mich nur etwas falsch ausgedrückt.

    Danke.
    Visions are no longer an empty phrase - they will become reality now...

  13. #13
    TP-Supporter Avatar von SNCIS
    Registriert seit
    Jun 2001
    Ort
    Mainz
    Beiträge
    454
    Hi Stuck,

    wie binde ich das mit dem Korrigieren auf der 3 Seite ein?

    Gruss SNCIS
    Visions are no longer an empty phrase - they will become reality now...

  14. #14
    TP-Specialist Avatar von Stuck Mojo
    Registriert seit
    Feb 2001
    Ort
    Helmstedt/Wolfsburg
    Beiträge
    4.108
    auf der 3. Seite?? Dort führst du doch schon die Anmeldung durch...
    Ändern würde ich nur auf der 2ten Seite möglich machen. Einfach einen Link zu Seite 1 setzten.
    Auf der ersten Seite solltest du dann allen Felder einen Value geben, der z.B. so aussieht:
    PHP-Code:
    <input type="text" name="name" size="20" value="<?=$daten[name];?>">
    Beim ersten Aufruf, ist das Array ja noch garnicht da, also sind keine Daten drin... also auch kein Value vorhanden.
    Achja, was mir noch eingefallen ist... Du müsstest nach der Anmeldung die session-Variable $daten am besten wieder "zerstören", wenn du das mit editieren machen willst. Da man, wenn man nach der Anmeldung nochmals auf die 1te Seite geht, die Felder ebenfalls ausgefüllt wären. Also nach dem INSERT noch folgende Zeile:
    PHP-Code:
    session_unregister("daten"); 
    Gruß Jan

  15. #15
    TP-Supporter Avatar von SNCIS
    Registriert seit
    Jun 2001
    Ort
    Mainz
    Beiträge
    454
    Hmm, naja. Die Funktion werde ich einbauen. Jedoch habe ich auf der 2. Seite noch eine neue Variable mit einer Einverständniserklärung. Wie gehe ich nun vor. Am Ende, sprich auf der 4 Seite möchte ich dann das die Daten des Users angezeigt werden mit denen er sich registriert hat und eine Bestätigung kommt. Wie mache ich das?
    Visions are no longer an empty phrase - they will become reality now...

Seite 1 von 2 12 LetzteLetzte

Aktive Benutzer

Aktive Benutzer

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

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