Hi,
ich bin gerade dabei ein Registrationsscript für eine Seite zu basteln. Dabei habe ich mehrere Probleme bzw Fragen. Das ganze geht in 3 Schritten. Ich poste am besten mal alle 3 Scripts.:
reg.php(Ein Formular, dass man ausfüllen muss)
reg2.php (Hier werden die Daten in die DB eingetragen + Email mit Zufallsnummer versendet)
reg3.php (Der Account soll hier freigeschaltet werden)
Noch kurze Anmerkungen zu den include Files.
1/2/3.php ist einfach nur der Aufbau der Seite. In sql.php sind die Daten für die Verbindung drinne.
Meine Fragen:
In reg2.php arbeite ich mit empty. Das Form ist aber nicht "empty", wenn einfach 1x die Leertaste gedrückt wurde. Kann man das mit irgendeiner Funktion verhindern, dass man einfach nur die Leertaste drücken muss, um das umgehen zu können?
In reg2.php habe ich eine 7stellige Zufallsnummer, die ich nachher zum freischalten brauche, stehen. Es ist zwar eher unwahrscheinlich, dass sich eine Zahl wiederholt, aber kann ich schon beim Zufallsgen. die Nummern ausschließen, die schon benutzt wurden?
Das wars fürs erste, aber ich habe grade das Gefühl, dass ich noch ne Frage hab, die mir aber nicht einfällt ^^, aber bitte beantwortet mir diese beiden Fragen, danke
ich bin gerade dabei ein Registrationsscript für eine Seite zu basteln. Dabei habe ich mehrere Probleme bzw Fragen. Das ganze geht in 3 Schritten. Ich poste am besten mal alle 3 Scripts.:
reg.php(Ein Formular, dass man ausfüllen muss)
PHP-Code:
<?php
include('include/1.php');
echo 'Registrierung';
include('include/2.php');
echo '
Um sich Daten vom Server herunterladen zu können, müssen Sie sich registrieren. Dazu einfach das Formular komplett ausfüllen und auf "Abschicken" klicken. Sie werden dann eine Email mit einem Link bekommen, auf den Sie bitte gehen um die Registration zu bestätigen.</p>
<form method="POST" action="reg2.php?a=testen">
<table border="0" width="100%">
<tr>
<td width="50%" valign="top"><font size="1" face="Tahoma"><input type="text" name="nname" size="20">
Nachname </font>
</td>
<td width="50%" valign="top"><font size="1" face="Tahoma"><input type="text" name="vname" size="20">
Vorname </font></td>
</tr>
<tr>
<td width="50%" valign="top"><font size="1" face="Tahoma"><input type="text" name="anschrift" size="51">
Straße & Hausnummer</font></td>
<td width="50%" valign="top"></td>
</tr>
<tr>
<td width="50%" valign="top"><font size="1" face="Tahoma"><input type="text" name="plz" size="20">
Postleihzahl</font></td>
<td width="50%" valign="top"><font size="1" face="Tahoma"><input type="text" name="ort" size="20">
Ort</font></td>
</tr>
<tr>
<td width="50%" valign="top"><font size="1" face="Tahoma"><input type="text" name="land" size="20">
Land</font>
</td>
<td width="50%" valign="top"></td>
</tr>
<tr>
<td width="50%" valign="top"><font size="1" face="Tahoma"><input type="text" name="tele" size="20">
Telefon</font>
</td>
<td width="50%" valign="top"></td>
</tr>
<tr>
<td width="50%" valign="top"><font size="1" face="Tahoma"><input type="text" name="mail" size="20">
Email</font></td>
<td width="50%" valign="top"><font size="1" face="Tahoma"><input type="text" name="pwd" size="20">
Kennwort (Achtung: Wird bei der Registrierung nicht durch Punkte verdeckt!)</font></td>
</tr>
<tr>
<td width="50%" valign="top"></td>
<td width="50%" valign="top">
<font size="1" face="Tahoma"><input type="submit" value="Abschicken" name="B1"><input type="reset" value="Zurücksetzen" name="B2"></font></p>
</td>
</table>
</form>
';
include('include/3.php');
?>
PHP-Code:
<?php
include('include/1.php');
echo 'Registrierung';
include('include/2.php');
$nname = $HTTP_POST_VARS["nname"];
$vname = $HTTP_POST_VARS["vname"];
$anschrift = $HTTP_POST_VARS["anschrift"];
$plz = $HTTP_POST_VARS["plz"];
$ort = $HTTP_POST_VARS["ort"];
$land = $HTTP_POST_VARS["land"];
$tele = $HTTP_POST_VARS["tele"];
$mail = $HTTP_POST_VARS["mail"];
$pwd = $HTTP_POST_VARS["pwd"];
$zufall = rand(1,9999999);
include('include/sql.php');
$kennwort = md5($pwd);
if (!empty ($nname) AND !empty ($vname) AND !empty ($anschrift) AND !empty ($plz) AND !empty ($ort)
AND !empty ($land) AND !empty ($tele) AND !empty ($mail) AND !empty ($pwd))
{
$sql = "INSERT INTO `benutzerdaten` ( `Id`, `nr`, `Kennwort`, `Nachname`, `Vorname`, `rechte`, `anschrift`, `plz`, `ort`, `tele`, `mail`, `land`, `freigeschalten` )
VALUES (
'', '$zufall', '$kennwort', '$nname', '$vname', '0', '$anschrift', '$plz', '$ort', '$tele', '$mail', '$land', '0'
)";
mysql_query($sql) or die(mysql_error());
mail($mail, 'Registration bei ProFit', 'Hallo '.$vname.' '.$nname.',
Sie haben sich bei ProFit für den Downloadbereich registriert und können nun, wenn Sie auf den folgenden Link klicken, auf die Downloads zugreifen.
http://www.profitsoftware.de/frembs/reg3.php?a=testen&nr='.$zufall.'
Vielen Dank,
ProFit', "From: ProFit")
or die("Die Mail konnte nicht versendet werden.");
echo 'Mail wurde versendet';
}
else
{ echo 'Bitte alle Felder ausfüllen!';}
include('include/3.php');
?>
reg3.php (Der Account soll hier freigeschaltet werden)
PHP-Code:
<?php
include('include/1.php');
echo 'Registration';
include('include/2.php');
include('include/sql.php');
$nr = $HTTP_GET_VARS["nr"];
$sql = "UPDATE `benutzerdaten` SET `freigeschalten` = '1' WHERE `nr` = '$nr'";
mysql_query($sql) or die(mysql_error());
$x_query = mysql_query ("SELECT Nachname, Vorname FROM benutzerdaten WHERE nr = '$nr'");
while ($x = mysql_fetch_array($x_query))
{
$nname = $x["Nachname"];
$vname = $x["Vorname"];
echo 'Guten Tag '.$vname.' '.$nname.',
Sie haben soeben Ihre Registration bestätigt und können sich nun einloggen um Dateien vom Server zu holen.
Viel Spaß, ProFit';
}
include('include/3.php');
?>
1/2/3.php ist einfach nur der Aufbau der Seite. In sql.php sind die Daten für die Verbindung drinne.
Meine Fragen:
In reg2.php arbeite ich mit empty. Das Form ist aber nicht "empty", wenn einfach 1x die Leertaste gedrückt wurde. Kann man das mit irgendeiner Funktion verhindern, dass man einfach nur die Leertaste drücken muss, um das umgehen zu können?
In reg2.php habe ich eine 7stellige Zufallsnummer, die ich nachher zum freischalten brauche, stehen. Es ist zwar eher unwahrscheinlich, dass sich eine Zahl wiederholt, aber kann ich schon beim Zufallsgen. die Nummern ausschließen, die schon benutzt wurden?
Das wars fürs erste, aber ich habe grade das Gefühl, dass ich noch ne Frage hab, die mir aber nicht einfällt ^^, aber bitte beantwortet mir diese beiden Fragen, danke

Kommentar