Goedendag,
Ik heb een tutorial gevolgt voor het maken van een inlog systeem, http://www.phphulp.nl/php/tutorials/2/167/ om precies te zijn. Het enige wat ik er graag bij zou willen is een email controle. Ik heb dus dit geprobeert.
<?php
include("data.inc");
$global_dbh = mysql_connect($hostname, $username, $password);
mysql_select_db($db, $global_dbh);
?>
<html>
<head>
<title>Registreren</title>
<style type="text/css">
<!--
table { border-style: solid;
border-width: 2px 2px;
border-color: #8182FE;
width: 100%;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 75%;
border-collapse: collapse;
}
th { background-color: #BFBFFF;
padding: 5px 5px 5px 5px;
color: #FFFFFF;
width: 50%;
text-align: center;
}
td { background-color: #E3E3FF;
padding: 5px 30px 5px 10px;;
width: 50%;
}
A:link { color: red;
text-decoration: none;
}
A:visited { color: red;
text-decoration: none;
}
A:hover { color: red;
text-decoration: underline;
}
A:active { color: red;
text-decoration: underline;
}
.help { font-size: 75%;
color: #000000;
font-weight: normal;
}
td.error { color: red;
text-align: center;
font-size: 12;
font-weight: bold;
background-color: #FEFD9A;
}
-->
</style>
</head>
<body>
<?php
// *********************** Stage 1 **********************
if(!IsSet($_POST['stage']))
{
?>
<form method="post" action="<?php print($PHP_SELF); ?>">
<table>
<tr>
<th colspan="2">REGISTREREN</th>
</tr>
<tr>
<td align="right">Gebruikersnaam</td>
<td><input type="text" name="gebruikersnaam" size="20" maxlength="30" />
</tr>
<tr>
<td align="right">Wachtwoord</td>
<td><input type="password" name="wachtwoord" size="20" maxlength="30" /></td>
</tr>
<tr>
<td align="right">E-mailadres</td>
<td><input type="text" name="email" size="40" maxlength="50" /></td>
<tr>
<th colspan="2"><input type="hidden" name="stage" value="2" />
<input type="submit" value="Registreren" /></th>
</tr>
</table>
</form>
<?php
}
function check_email($mail)
{
if (eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$mail))
{
$email_adres = $mail;
$email = explode("@", $email_adres);
if (gethostbyname($email[1]) == $email[1])
$valid = "no";
}
else
$valid = "no";
return $valid;
}
// *********************** Stage 2 ***************************
elseif($_POST['stage'] == 2)
{
// ****************** Alle velden zijn ingevuld *********************
if ($_POST["submit"] && $_POST["login"] && $_POST["pass"] && $_post["email"] && !check_email($_POST["email"]))
{
$query_1 = "SELECT * FROM members WHERE Gebruikersnaam = '$_POST[gebruikersnaam]'";
$result_id_1 = mysql_query($query_1) or die(mysql_error($query_1));
$row = mysql_num_rows($result_id_1);
// ************************** Nog niet gebruikte gebruikersnaam ********************
if($row == 0)
{
$query_2 = "INSERT INTO members (Gebruikersnaam, Wachtwoord, Email) values ('$_POST[gebruikersnaam]', '$_POST[wachtwoord]', '$_POST[email]')";
$result_id_2 = mysql_query($query_2) or die(mysql_query($query_2));
$mailsend = mail($_POST[email], "Uw registratiegegevens bij $site_name", "Hallo $_POST[gebruikersnaam]!\n\nBedankt dat u geregistreerd hebt bij ons!\n\nUw gebruikersnaam: $_POST[gebruikersnaam]\nUw wachtwoord: $_POST[wachtwoord]\n\n\nDe webmaster");
?>
<table>
<tr>
<td class="error">
<?php
if($mailsend && $result_id_2)
{
print("Uw gegevens zijn opgeslagen in onze database en er is naar u een e-mail verzonden met deze gegevens. U kunt nu inloggen!");
}
else
{
print("Gegevens opslaan of e-mail verzenden is mislukt. Probeer het later opnieuw!");
}
?>
</td>
</tr>
</table>
<?php
include("login.php");
}
// ***************************** Al gebruikte gebruikersnaam *********************
else
{
?>
<table>
<tr>
<td class="error">Deze gebruikersnaam is reeds in gebruik. Probeer een andere!</error></td>
</tr>
</table>
<form method="post" action="<?php print($PHP_SELF); ?>">
<table>
<tr>
<th colspan="2">REGISTREREN</th>
</tr>
<tr>
<td align="right">Gebruikersnaam</td>
<td><input type="text" name="gebruikersnaam" size="20" maxlength="30" />
</tr>
<tr>
<td align="right">Wachtwoord</td>
<td><input type="password" name="wachtwoord" size="20" maxlength="30" /></td>
</tr>
<tr>
<td align="right">E-mailadres</td>
<td><input type="text" name="email" size="40" maxlength="50" /></td>
<tr>
<th colspan="2"><input type="hidden" name="stage" value="2" />
<input type="submit" value="Registreren" /></th>
</tr>
</table>
</form>
<?php
}
}
// ******************* Niet alle velden zijn ingevuld **********************
else
{
?>
<table>
<tr>
<td class="error">U moet alle velden invullen!</error></td>
</tr>
</table>
<form method="post" action="<?php print($PHP_SELF); ?>">
<table>
<tr>
<th colspan="2">REGISTREREN</th>
</tr>
<tr>
<td align="right">Gebruikersnaam</td>
<td><input type="text" name="gebruikersnaam" size="20" maxlength="30" />
</tr>
<tr>
<td align="right">Wachtwoord</td>
<td><input type="password" name="wachtwoord" size="20" maxlength="30" /></td>
</tr>
<tr>
<td align="right">E-mailadres</td>
<td><input type="text" name="email" size="40" maxlength="50" /></td>
<tr>
<th colspan="2"><input type="hidden" name="stage" value="2" />
<input type="submit" value="Registreren" /></th>
</tr>
</table>
</form>
<?php
}
}
?>
</body>
</html>
Het probleem is dat ook als ik alles goed in vul er steeds de fout melding: Uw gegevens zijn opgeslagen in onze database en er is naar u een e-mail verzonden met deze gegevens. U kunt nu inloggen! komt. Ik kan zelf zo niet zien wat er fout is omdat ik nog maar net met PHP begonnen ben. Alle hulp is makkelijk. Alvast bedankt en greetz Dave
998 views