Hallo,
Om bij het registratieformulier te checken of de naam al voorkomt in de database heb ik deze 3 bestandjes:
Registreren.php:
check.js:PHP Code:
<?php
/**
* @author Milan
* @package registreren.php
* @copyright 2009
*/
include ('config.php');
?>
<script type="text/javascript" src="check.js"></script>
<?php
if($_SERVER['REQUEST_METHOD'] == "POST")
{
$gebruikersnaam = mysql_real_escape_string($_POST['gebruikersnaam']);
$gebruikersnaam = str_replace(" ","",$gebruikersnaam);
$gebruikersnaam = ucfirst($gebruikersnaam);
$wachtwoord = mysql_real_escape_string($_POST['paas']);
$wachtwoord = str_replace(" ","",$wachtwoord);
$wachtwoord = md5($wachtwoord);
$email = mysql_real_escape_string($_POST['email']);
$email = str_replace(" ","",$email);
if (empty($_POST['info']))
{
$info = "nee";
}else{
$info = "ja";
}
$errors = array();
if (empty($gebruikersnaam))
{
$errors[] = "Je moet een gebruikersnaam invullen.";
}
$result1= "SELECT * FROM leden WHERE naam = '" . $gebruikersnaam . "'";
$result = mysql_query($result1) or die(mysql_error());
if(mysql_num_rows($result) > 0) {
$errors[] = "Een gebruiker met deze naam bestaat al.";
}
if (empty($wachtwoord))
{
$errors[] = "Je moet een wachtwoord invullen.";
}
if ($gebruikersnaam == $wachtwoord)
{
$errors[] = "De gebruikersnaam mag niet hetzelfde zijn als je wachtwoord.";
}
if (empty($email))
{
$errors[] = "Je moet een email adres invullen.";
}
$result1= "SELECT * FROM leden WHERE email = '" . $email . "'";
$result = mysql_query($result1) or die(mysql_error());
if(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$", $email)) {
$errors[] = "Voer een geldige email adres in.";
}
if(mysql_num_rows($result) != 0) {
$errors[] = "Er is al een gebruiker met deze e-mail.";
$result1= "SELECT * FROM table WHERE ip = '" . $_SERVER['REMOTE_ADDR'] . "'";
$result = mysql_query($result1) or die(mysql_error());
if(mysql_num_rows($result) > 0) {
$errors[] = "Er is al een gebruiker met dit ip, er kan maximaal 1 account per ip worden aangemaakt.";
}
}
if (count($errors) > '0' )
{
echo "De volgende fouten zijn opgetreden.<br />";
foreach ($errors AS $error)
{
echo $error . "<br />";
}
?>
<a href="registreren"><button>Ga terug</button></a>
<?php
}
else
{
$code= rand(1111111111,9999999999);
mysql_query("INSERT INTO pb (afzender,bericht,voor,onderwerp,tijd) VALUES ('site','Hallo " . $gebruikersnaam . ",<br /><br />Welkom op site.nl!<br /><br />Met vriendelijke groeten,<br />site.nl','".$gebruikersnaam."','Welkom op site.nl',now())") or die(mysql_error());
mysql_query("INSERT INTO table (naam, wachtwoord, email, geactiveerd, ip, status, aangemeldop, activatiecode, verbannen, bericht, geld, soldaten, dorpslevel, beginnersbescherming, aangevallen, info) VALUES ('" . $gebruikersnaam . "', '" . $wachtwoord . "', '" . $email . "', 'nee', '" . $_SERVER['REMOTE_ADDR'] . "', 'lid', NOW() ,'" . $code . "', 'nee', 'nee', '1000', '0', '0', 'ja', 'nee', '" . $info . "')") or print(mysql_error());
echo "U heeft zich aangemeld! U krijgt een e-mail van ons om uw account te activeren.<br /><b>Let op! De e-mail kan aankomen als spam/ongewenst.</b>";
$to = $_POST['email'];
$subject = 'Activatie account';
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1" . "\r\n";
$headers .= "From: site.nl <info@site.nl>" . "\r\n";
$headers .= "X-Mailer: PHP v".phpversion(). "\r\n";
$bericht = registratiemailboven();
$bericht .= 'Hallo '.$_POST['gebruikersnaam'].',<br /><br />
Je hebt aangemeld bij site.nl met de volgende gegevens. <br />
<br />
Gebruikersnaam: '.$_POST['gebruikersnaam'].'<br />
Wachtwoord: '.$_POST['pass'].'<br />
email: '.$_POST['email'].'<br />
<br />
Je moet nu je account activeren.. <br />
<a href="http://www.site.nl/activeer?user='.$_POST['gebruikersnaam'].'&code='.$code.'">klik hier</a> om je account te activeren.<br />
<br />
Met Vriendelijk Groeten,
<br />
site.nl<br />
<br />
<font size=\'1\' color=red>Deze e-mail is automatisch verstuurd omdat iemand zich heeft geregistreerd op site.nl met dit e-mail adres. Indien u zich niet geregistreerd hebt, gelieve deze mail te verwijderen.</font>';
$bericht .= registratiemailonder();
mail($to, $subject, $bericht, $headers);
}
} else {
?>
<form name="form1" id="form1" method="POST" action="">
Gebruikersnaam:<br /><input type="text" name="gebruikersnaam" value="<?php echo $gebruikersnaam; ?>" onkeyup="checkname(this.value)" ><div id="usererror"></div><br />
Wachtwoord:<br /><INPUT type="password" name="pass" value="<?php echo $_POST['wachtwoord']; ?>"><br />
E-mail:<br /><INPUT type="text" name="email" value="<?php echo $email; ?>"><br /><br />
<input type="checkbox" name="info" value="info" />Ik wil informatie ontvangen over mijn account.
<br />
<input type="submit" name="Submit" value="Registreren" />
</form>
<?php
}
layoutonder();
?>
check.php:PHP Code:
function checkname(value)
{
$.ajax({
type: "POST",
url: "check.php", // Het php bestandje dat je wilt aanoepen
data: "naam=" + value, // values die je mee wilt geven
success: function(msg){
$("#usererror").html(msg); // de div waarin je het wilt echoen
}
});
}
PHP Code:
<?php
if (isset($_POST['naam'])) {
$username = strtolower($_POST['naam']);
$user = mysql_query("SELECT naam FROM table WHERE naam = '" . $username . "'");
if(mysql_num_rows($user)){
echo '<div class="rederror">Gebruikersnaam is in gebruik</div>';
}
elseif (strlen($username) > 16) {
echo '<div class="rederror">Gebruikersnaam is te lang</div>';
}
elseif (empty($username)) {
echo '<div class="rederror">Vul aub een naam in</div>';
}
else {
echo '<div class="greenerror">Gebruikersnaam is beschikbaar</div>';
}
}
?>
Wanneer ik iets invoer bij de naam, gebeurd er niks.. Waar zit de fout?
Alvast bedankt,
Milan
- Probleem met live checken
-
08-10-2009, 16:58 #1
- Berichten
- 548
- Lid sinds
- 16 Jaar
Probleem met live checken
-
08-10-2009, 17:04 #2
- Berichten
- 935
- Lid sinds
- 17 Jaar
in check.php moet het volgens mij GET naam zijn en niet POST naam
-
08-10-2009, 17:05 #3
- Berichten
- 548
- Lid sinds
- 16 Jaar
Werkt helaas niet
-
08-10-2009, 17:52 #4
- Berichten
- 95
- Lid sinds
- 18 Jaar
Staan er ook geen errors in je Error Console van Firefox?
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic