1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

PHP: Registrierungsformular über mehrere Schritte und mit eingebauter Überprüfung

Discussion in 'Web-Know-how für die Homepage' started by h3llghost, Aug 11, 2007.

Thread Status:
Not open for further replies.
  1. h3llghost

    h3llghost Kbyte

    Hallo Leute,

    ich habe vor einen Registrierungsformular über mehrere Seiten zu schreiben, d.h. mit mehreren Schritten etc.
    Dazu habe ich als erstes folgenden Code:

    PHP:
    <?php
    require ("config.inc");
    session_start();

    if ((
    $_POST['send']!= "1") || (isset($err_text)))
    {
    require (
    "includes/member1.inc");
    require (
    "includes/peintragen.js");
    }
    else
    {    
    require (
    "includes/member2.inc");
    }
    ?>
    Da fangen aber meine Probleme schon an ...
    Es werden wahrscheinlich drei oder noch mehr Schritte werden.
    Wie kann ich da am Besten unterscheiden?

    Das JavaScript lassen wir außen vor!
    Das ist für das Formular selber irrelevant.

    Nun zu der Datei member1.inc:

    PHP:
    <?php
    $_SESSION
    ['Vorname'] = $_POST['Vorname'];
    $_SESSION['Nachname'] = $_POST['Nachname'];
    $_SESSION['EMail'] = $_POST['EMail'];
    $_SESSION['ICQ'] = $_POST['ICQ'];
    $_SESSION['PLZ'] = $_POST['PLZ'];
    $_SESSION['Ort'] = $_POST['Ort'];
    $_SESSION['Land'] = $_POST['Land'];
    $_SESSION['CLAN'] = $_POST['CLAN'];

    if(
    trim($_SESSION['Vorname'])=="")
    {
    $err_text.="<center>Please fill the field Vorname.<br></center>";
    } else if (
    strlen($_SESSION['Vorname']) < 4)
    {
    $err_text.="<center>Too short Vorname.<br></center>";
    }

    if(
    trim($_SESSION['Nachname'])=="")
    {
    $err_text.="<center>Please fill the field Nachname.<br></center>";
    } else if (
    strlen($_SESSION['Nachname']) < 4)
    {
    $err_text.="<center>Too short Nachname.<br></center>";
    }

    if(
    trim($_SESSION['EMail'])=="")
    {
      
    $err_text.="<center>Please fill the field E-Mail.<br></center>";
    }
    else
    {
      if(!
    ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$",$_SESSION['EMail']))
    {
        
    $err_text.="<center>Incorrect E-Mail.<br></center>";
    }
    }

    if((
    trim($_SESSION['ICQ'])!="") && (preg_match('/\D/' $_SESSION['ICQ'])))
    {
      
    $err_text.="<center>Incorrect ICQ.<br></center>";
    }

    if(
    trim($_SESSION['PLZ'])=="")
    {
     
    $err_text.="<center>Please fill the field PLZ.<br></center>";
    } else if (
    strlen($_SESSION['PLZ']) < 4)
    {
     
    $err_text.="<center>Too short PLZ.<br></center>";
    } else if(
    preg_match('/\D/' $_SESSION['PLZ']))
    {
     
    $err_text.="<center>Incorrect PLZ.<br></center>";
    }
      

    if(
    trim($_SESSION['Ort'])=="")
    {
    $err_text.="<center>Please fill the field Ort.<br></center>";
    } else if (
    strlen($_SESSION['Ort']) < 4)
    {
     
    $err_text.="<center>Too short Ort.<br></center>";
    }

    if(
    trim($_SESSION['Land']) == "0")
    {
    $err_text.="<center>Please select a country.<br></center>";
    }

    if(
    trim($_SESSION['CLAN']) == "-1")
    {
    $err_text.="<center>Please select a CLAN.<br></center>";
    }

    if((
    $_POST['send'] == "1") && (isset($err_text))) {
      echo 
    "<center><p><big><b>Error:</b></big><br></center>";
      echo 
    "$err_text</p>";
    }

    ?>
    <form name="eintragen" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    <table border=0 align="center" width="50%">
    <tr>
    <td width="20%">
    Vorname*:
    </td>
    <td>
    <input name="Vorname" type="text" size="30" maxlength="30" value="<?php echo $_SESSION['Vorname']; ?>" onChange="pruefung()">
    </td>
    <td width="30%">
    <span id="Teil1a">&nbsp;</span>&nbsp;<strong><span id="fehler1a">&nbsp;</span></strong>
    </td>
    </tr>
    <tr>
    <td width="20%">
    Nachname*:
    </td>
    <td>
    <input name="Nachname" type="text" size="30" maxlength="30" value="<?php echo $_SESSION['Nachname']; ?>" onChange="pruefung()">
    </td>
    <td width="30%">
    <span id="Teil1b">&nbsp;</span>&nbsp;<strong><span id="fehler1b">&nbsp;</span></strong>
    </td>
    </tr>
    <tr>
    <td width="20%">
    E-Mail*:
    </td>
    <td>
    <input name="EMail" type="text" size="30" maxlength="30" value="<?php echo $_SESSION['EMail']; ?>" onChange="pruefung()">
    </td>
    <td width="30%">
    <span id="Teil2">&nbsp;</span>&nbsp;<strong><span id="fehler2">&nbsp;</span></strong>
    </td>
    </tr>
    <tr>
    <td width="20%">
    ICQ:
    </td>
    <td>
    <input name="ICQ" type="text" size="30" maxlength="30" value="<?php echo $_SESSION['ICQ']; ?>" onChange="pruefung()">
    </td>
    <td width="30%">
    <span id="Teil3">&nbsp;</span>&nbsp;<strong><span id="fehler3">&nbsp;</span></strong>
    </td>
    </tr>
    <tr>
    <td width="20%">
    Straße:
    </td>
    <td>
    <input name="Strasse" type="text" size="30" maxlength="30" value="<?php echo $_SESSION['Strasse']; ?>" onChange="pruefung()">
    </td>
    <td width="30%">
    <span id="Teil4">&nbsp;</span>&nbsp;<strong><span id="fehler4">&nbsp;</span></strong>
    </td>
    </tr>
    <tr>
    <td width="20%">
    PLZ*:
    </td>
    <td>
    <input name="PLZ" type="text" size="30" maxlength="6" value="<?php echo $_SESSION['PLZ']; ?>" onChange="pruefung()">
    </td>
    <td width="30%">
    <span id="Teil5">&nbsp;</span>&nbsp;<strong><span id="fehler5">&nbsp;</span></strong>
    </td>
    </tr>
    <tr>
    <td width="20%">
    Ort*:
    </td>
    <td>
    <input name="Ort" type="text" size="30" maxlength="30" value="<?php echo $_SESSION['Ort']; ?>" onChange="pruefung()">
    </td>
    <td width="30%">
    <span id="Teil6">&nbsp;</span>&nbsp;<strong><span id="fehler6">&nbsp;</span></strong>
    </td>
    </tr>
    <tr>
    <td width="20%">
    Land*:
    </td>
    <td>
    <select name="Land" onChange="pruefung()">
    <option value="0"<?php if ($_SESSION['Land'] == "0") { echo "selected"; } ?>>&nbsp;&nbsp;-&nbsp;Ihre Auswahl&nbsp;-&nbsp;&nbsp;</option>

    <option value="Germany"<?php if ($_SESSION['Land'] == "Germany") { echo "selected"; }?>>Deutschland</option>
    </select>
    </td>
    <td width="30%">
    <span id="Teil7">&nbsp;</span>
    </td>
    </tr>
    <tr>
    <td colspan="2">
    <span id="Link">&nbsp;</span>
    </td>
    <td>
    <span id="Teil8">&nbsp;</span>&nbsp;<strong><span id="fehler8">&nbsp;</span></strong>
    </td>
    </tr>
    <tr>
    <td>&nbsp;
    </td>
    </tr>
    <tr>
    <td width="20%">
    CLAN-Mitglied/-Leader*:
    </td>
    <td>
    <select name="CLAN" onChange="pruefung()">
    <option value="-1"<?php if ($_SESSION['CLAN'] == "-1") { echo "selected"; } ?>>&nbsp;&nbsp;-&nbsp;Ihre Auswahl&nbsp;-&nbsp;&nbsp;</option>

    <option value="1"<?php if ($_SESSION['CLAN'] == "1") { echo "selected"; }?>>Ja</option>
    <option value="0"<?php if ($_SESSION['CLAN'] == "0") { echo "selected"; }?>>Nein</option>
    </select>
    </td>
    <td width="30%">
    <span id="Teil9">&nbsp;</span>
    </td>
    </tr>
    </table>
    <center>
    <input name="weiter" type="Submit" value="Weiter">
    <input name="send" type="hidden" value="1">
    <input name="admineingriff" type="hidden" id="admineingriff">
    <input name="admineingriff2" type="hidden" id="admineingriff2">
    <br>
    <br>
    * Diese Angaben sind Pflichtangaben!<br><br>
    Infos zu den Angaben:<br>
    Hier klicken <!-- hier kommt der Link zur Hilfe -->
    </center>
    </form>
    Die Datei member2.inc sieht ähnlich aus:

    PHP:
    <?php
    $_SESSION
    ['CLAN-Name'] = $_POST['CLAN-Name']; //CLAN-Name
    $_SESSION['CLAN-Member'] = $_POST['CLAN-Member']; //CLAN-Mitglieder
    $_SESSION['CLAN-HP'] = $_POST['CLAN-HP']; //CLAN-HP
    $_SESSION['CLAN-Pos'] = $_POST['CLAN-Pos']; //CLAN Position
    $_SESSION['CLAN-JPW'] = $_POST['CLAN-JPW']; //CLAN Join Passwort
    $_SESSION['CLAN-JPW2'] = $_POST['CLAN-JPW2']; //CLAN Join Passwort2

    $_SESSION['CLAN-Suche'] = $_POST['CLAN-Suche']; //Auf CLAN Suche

    echo $_SESSION['CLAN'];

    if (
    $_SESSION['CLAN'] == "1")
    {
        if(
    trim($_SESSION['CLAN-Name']) == "")
        {
        
    $err_text.="<center>Please define your CLAN-Name.<br></center>";
        }
        if(
    trim($_SESSION['CLAN-Member'])=="")
        {
        
    $err_text.="<center>Please fill the field Number of CLAN-Member.<br></center>";
        }
        else
        {
            if(!
    ereg("^([0-9]+)$",$_SESSION['CLAN-Member']))
            {
            
    $err_text.="<center>Incorrect Number of CLAN-Member.<br></center>";
            }                          
        }
        if(
    trim($_SESSION['CLAN-HP'])=="")
        {
        
    $err_text.="<center>Please fill the field CLAN-HP.<br></center>";
        }
        else
        {
            if(!
    ereg("^[http://www.]+[_a-z0-9-]*(\.[a-z]{2,6})$",$_SESSION['CLAN-HP']))
            {
            
    $err_text.="<center>Incorrect CLAN-HP.<br></center>";
            }                             
        }
        if(
    trim($_SESSION['CLAN-Pos']) == "-1")
        {
        
    $err_text.="<center>Please select your CLAN-Position.<br></center>";
        }
        if(
    trim($_SESSION['CLAN-JPW']) == "")
        {
        
    $err_text.="<center>Please define your CLAN-Join-Password.<br></center>";
        }
        if(
    trim($_SESSION['CLAN-JPW2']) == "")
        {
        
    $err_text.="<center>Please repeat your CLAN-Join-Password.<br></center>";
        }
        if(
    trim($_SESSION['CLAN-JPW']) == trim($_SESSION['CLAN-JPW2']))
        {
        
    $err_text.="<center>The CLAN-Join-Passwords are incorrect.<br></center>";
        }
    } else
    {
        if(
    trim($_SESSION['CLAN-Suche']) == "-1")
        {
        
    $err_text.="<center>Please select your CLAN-Position.<br></center>";
        }
    }

    if((
    $_POST['send'] == "2") && (isset($err_text))) {
      echo 
    "<center><p><big><b>Error:</b></big><br></center>";
      echo 
    "$err_text</p>";
    }

    ?>
    ...
    So das sollte einen Einblick in die Quelltexte und meine Struktur bringen.
    Zur Unterscheidung benutze ich ja auch
    Code:
    <input type="hidden" name="send" value="[Zahl]">
    .
    Ich weiß aber nicht, ob das sinnvoll ist!

    Deswegen poste ich hier.
    Kann mir jemand helfen?
     
  2. lightdisc

    lightdisc Halbes Megabyte

    Du könntest mal etwas mehr dazu erklären, da ich keine Lust habe mir so viel Quelltext durchzulesen.
     
  3. h3llghost

    h3llghost Kbyte

    :D :D :D

    Das ist ja eine tolle Arbeitshaltung oder?! :heilig:
    Na egal ...

    Jetzt habe ich mein Problem anders geregelt und das läuft einwandfrei ...
    Sind nur 10 Zeilen Quelltext ... :aua:
     
  4. lightdisc

    lightdisc Halbes Megabyte

    Nach fast einem Monat hier wieder zu antworten auch :rolleyes:
     
  5. h3llghost

    h3llghost Kbyte

    Bin Schüler ... :D
    Und das erklärt doch alles oder?!
    So habe ich nicht immer Zeit alle E-Mails durchzuschauen!
     
Thread Status:
Not open for further replies.

Share This Page