Ik heb dit script staan:
Dat het registreer formulier afhandelt op deze pagina, alleen werkt het heel raar, en geeft hij de verkeerde error's aan, iemand een idee wat het kan zijn?PHP Code:
<?
header('Content-Type: text/javascript');
include('connection.php');
//Variablen maken van de GET gegevens
$username = addslashes($_GET['username']);
$password1 = addslashes($_GET['password1']);
$password2 = addslashes($_GET['password2']);
$email1 = addslashes($_GET['email1']);
$email2 = addslashes($_GET['email2']);
//Password checken
$password_status = '0';
if (!ctype_alnum($password1) and !ctype_alnum($password2)){
$password_status = '3';
}
if (!$password1 == $password2){
$password_status = '1';
}
if (strlen($password1)<6 and strlen($password2)<6){
$password_status = '2';
}
//E-mail checken
$email_status = '0';
if (!$email1 == $email2){
$email_status = 1;
}
if(!strstr($email1,"@") and !strstr($email1,".") and !strstr($email2,"@") and !strstr($email2,".")){
$email_status = 3;
}
if (strlen($email1)<5 and strlen($email2)<5){
$email_status = 2;
}
//Username checken
$num_rows = mysql_num_rows(mysql_query("SELECT username FROM users WHERE username='$username'"));
if ($num_rows == 0 and strlen($username)>6 and ctype_alnum($username)){
$username_status = 1;
} else {
$username_status = 0;
}
//Als alles klopt voegt ie een row in de DB toe, anders gaat het script naar de else, daar word de output bepaald
if ($password_status == 0 and $email_status == 0 and $username_status == 1){
mysql_query("INSERT INTO users (username, password, email) VALUES ('$username', '$password1', '$email1')");
$reg_status = 'Je hebt jezelf succesvol geregistreerd.';
} else {
//Email msg output
if ($email_status == 1){
echo "my_status2 = document.getElementById('email_status');";
echo "my_status2.innerHTML = ' | Het E-mail adres komt niet overeen.';";
echo "document.getElementById('email1').value = '';
document.getElementById('email2').value = '';
my_status5 = document.getElementById('counter_number2');
my_status5.innerHTML = '45';
my_status6 = document.getElementById('counter_number3');
my_status6.innerHTML = '45';";
}
if($email_status == 2){
echo "my_status2 = document.getElementById('email_status');";
echo "my_status2.innerHTML = ' | Het E-mail adres moet langer zijn dan 5 tekens.';";
echo "document.getElementById('email1').value = '';
document.getElementById('email2').value = '';
my_status5 = document.getElementById('counter_number2');
my_status5.innerHTML = '45';
my_status6 = document.getElementById('counter_number3');
my_status6.innerHTML = '45';";
}
if($email_status == 3){
echo "my_status2 = document.getElementById('email_status');";
echo "my_status2.innerHTML = ' | Het E-mail adres is incorrect.;";
echo "document.getElementById('email1').value = '';
document.getElementById('email2').value = '';
my_status5 = document.getElementById('counter_number2');
my_status5.innerHTML = '45';
my_status6 = document.getElementById('counter_number3');
my_status6.innerHTML = '45';";
}
if($email_status == 0){
}
//Username msg output
if ($username_status == 0){
$username_msg = ' | Deze gebruikersnaam bestaat al, is tekort(6 tekens minimaal) of bevat verboden tekens(!$%^€* etc.).';
}
// Password msg output
if ($password_status == 1){
echo "my_status1 = document.getElementById('password_status');";
echo "my_status1.innerHTML = ' | Het wachtwoord komt niet overeen.';";
echo "document.getElementById('password1').value = '';
document.getElementById('password2').value = '';
my_status7 = document.getElementById('counter_number4');
my_status7.innerHTML = '30';
my_status8 = document.getElementById('counter_number5');
my_status8.innerHTML = '30';";
}
if($password_status == 2){
echo "my_status1 = document.getElementById('password_status');";
echo "my_status1.innerHTML = ' | Het wachtwoord moet langer zijn dan 6 tekens.';";
echo "document.getElementById('password1').value = '';
document.getElementById('password2').value = '';
my_status7 = document.getElementById('counter_number4');
my_status7.innerHTML = '30';
my_status8 = document.getElementById('counter_number5');
my_status8.innerHTML = '30';";
}
if($password_status == 3){
echo "my_status1 = document.getElementById('password_status');";
echo "my_status1.innerHTML = ' | Het wachtwoord mag alleen letters en cijfers bevatten(A-Z, a-z en 0-9)';";
echo "document.getElementById('password1').value = '';
document.getElementById('password2').value = '';
my_status7 = document.getElementById('counter_number4');
my_status7.innerHTML = '30';
my_status8 = document.getElementById('counter_number5');
my_status8.innerHTML = '30';";
}
if($password_status == 0){
}
}
?>
my_status = document.getElementById('status');
my_status.innerHTML = '<? echo $reg_status; ?>';
my_status3 = document.getElementById('username_status');
my_status3.innerHTML = '<? echo $username_msg; ?>';
//my_status4 = document.getElementById('counter_number1');
//my_status4.innerHTML = '25';
//document.getElementById('username').value = '';
<?
mysql_close(); ?>
- JS/PHP fout, iemand een idee?
-
618 × bekeken sinds 21-02-2010, 14:54 #1
JS/PHP fout, iemand een idee?
-
-
21-02-2010, 14:58 #2
- Berichten
- 175
- Lid sinds
- 15 Jaar
Bij je mysql query's:
mysql_query("INSERT INTO users (username, password, email) VALUES ('$username', '$password1', '$email1')");
mysql_query("SELECT username FROM users WHERE username='$username'")
Moeten zijn:
mysql_query("INSERT INTO users (username, password, email) VALUES ('".$username."', '".$password1."', '".$email1."')");
mysql_query("SELECT username FROM users WHERE username='".$username."'")
En geloof mag dit ook niet werken:
$num_rows = mysql_num_rows(mysql_query("SELECT username FROM users WHERE username='$username'"));
-
21-02-2010, 15:04 #3
- Berichten
- 1.001
- Lid sinds
- 16 Jaar
Ik heb het bijgewerkt, en heb nu dit,
PHP Code:<?
header('Content-Type: text/javascript');
include('connection.php');
//Variablen maken van de GET gegevens
$username = addslashes($_GET['username']);
$password1 = addslashes($_GET['password1']);
$password2 = addslashes($_GET['password2']);
$email1 = addslashes($_GET['email1']);
$email2 = addslashes($_GET['email2']);
//Password checken
$password_status = '0';
if (!ctype_alnum($password1) and !ctype_alnum($password2)){
$password_status = '3';
}
if (!$password1 == $password2){
$password_status = '1';
}
if (strlen($password1)<6 and strlen($password2)<6){
$password_status = '2';
}
//E-mail checken
$email_status = '0';
if (!$email1 == $email2){
$email_status = 1;
}
if(!strstr($email1,"@") and !strstr($email1,".") and !strstr($email2,"@") and !strstr($email2,".")){
$email_status = 3;
}
if (strlen($email1)<5 and strlen($email2)<5){
$email_status = 2;
}
//Username checken
$result = mysql_query("SELECT username FROM users WHERE username='".$username."'");
$num_rows = mysql_num_rows($result);
if ($num_rows == 0 and strlen($username)>6 and ctype_alnum($username)){
$username_status = 1;
} else {
$username_status = 0;
}
//Als alles klopt voegt ie een row in de DB toe, anders gaat het script naar de else, daar word de output bepaald
if ($password_status == 0 and $email_status == 0 and $username_status == 1){
mysql_query("INSERT INTO users (username, password, email) VALUES ('".$username."', '".$password1."', '".$email1."')");
$reg_status = 'Je hebt jezelf succesvol geregistreerd.';
} else {
//Email msg output
if ($email_status == 1){
echo "my_status2 = document.getElementById('email_status');";
echo "my_status2.innerHTML = ' | Het E-mail adres komt niet overeen.';";
echo "document.getElementById('email1').value = '';
document.getElementById('email2').value = '';
my_status5 = document.getElementById('counter_number2');
my_status5.innerHTML = '45';
my_status6 = document.getElementById('counter_number3');
my_status6.innerHTML = '45';";
}
if($email_status == 2){
echo "my_status2 = document.getElementById('email_status');";
echo "my_status2.innerHTML = ' | Het E-mail adres moet langer zijn dan 5 tekens.';";
echo "document.getElementById('email1').value = '';
document.getElementById('email2').value = '';
my_status5 = document.getElementById('counter_number2');
my_status5.innerHTML = '45';
my_status6 = document.getElementById('counter_number3');
my_status6.innerHTML = '45';";
}
if($email_status == 3){
echo "my_status2 = document.getElementById('email_status');";
echo "my_status2.innerHTML = ' | Het E-mail adres is incorrect.;";
echo "document.getElementById('email1').value = '';
document.getElementById('email2').value = '';
my_status5 = document.getElementById('counter_number2');
my_status5.innerHTML = '45';
my_status6 = document.getElementById('counter_number3');
my_status6.innerHTML = '45';";
}
if($email_status == 0){
}
//Username msg output
if ($username_status == 0){
$username_msg = ' | Deze gebruikersnaam bestaat al, is tekort(6 tekens minimaal) of bevat verboden tekens(!$%^€* etc.).';
}
// Password msg output
if ($password_status == 1){
echo "my_status1 = document.getElementById('password_status');";
echo "my_status1.innerHTML = ' | Het wachtwoord komt niet overeen.';";
echo "document.getElementById('password1').value = '';
document.getElementById('password2').value = '';
my_status7 = document.getElementById('counter_number4');
my_status7.innerHTML = '30';
my_status8 = document.getElementById('counter_number5');
my_status8.innerHTML = '30';";
}
if($password_status == 2){
echo "my_status1 = document.getElementById('password_status');";
echo "my_status1.innerHTML = ' | Het wachtwoord moet langer zijn dan 6 tekens.';";
echo "document.getElementById('password1').value = '';
document.getElementById('password2').value = '';
my_status7 = document.getElementById('counter_number4');
my_status7.innerHTML = '30';
my_status8 = document.getElementById('counter_number5');
my_status8.innerHTML = '30';";
}
if($password_status == 3){
echo "my_status1 = document.getElementById('password_status');";
echo "my_status1.innerHTML = ' | Het wachtwoord mag alleen letters en cijfers bevatten(A-Z, a-z en 0-9)';";
echo "document.getElementById('password1').value = '';
document.getElementById('password2').value = '';
my_status7 = document.getElementById('counter_number4');
my_status7.innerHTML = '30';
my_status8 = document.getElementById('counter_number5');
my_status8.innerHTML = '30';";
}
if($password_status == 0){
}
}
?>
my_status = document.getElementById('status');
my_status.innerHTML = '<? echo $reg_status; ?>';
my_status3 = document.getElementById('username_status');
my_status3.innerHTML = '<? echo $username_msg; ?>';
//my_status4 = document.getElementById('counter_number1');
//my_status4.innerHTML = '25';
//document.getElementById('username').value = '';
<?
mysql_close(); ?>
-
21-02-2010, 15:10 #4
- Berichten
- 175
- Lid sinds
- 15 Jaar
Fouten liggen in een heel klein hoekje.
Zelf heb ik wel eens in een script 5 uur lang naar ; lopen zoeken.
-
21-02-2010, 15:11 #5
- Berichten
- 1.001
- Lid sinds
- 16 Jaar
Ja inderdaad, zijn altijd van die kleine dingetjes, alleen uhm, hij doet het nog steeds niet perfect, hij blijft de verkeerde fouten terug geven. Hmm..
-
21-02-2010, 15:24 #6
- Berichten
- 175
- Lid sinds
- 15 Jaar
Welke fout geeft hij terug, zou handiger zijn met oplossen.
-
21-02-2010, 15:27 #7
- Berichten
- 1.001
- Lid sinds
- 16 Jaar
Hij geeft geen PHP fout aan, alleen er zit ergens een fout die de verkeerde informatie geeft. Kijk maar naar het voorbeeld(link) wat ik in de begin post zei. De terugkerende informatie uit regist.php klopt niet.
Aanvullend bericht:
Nou ik heb er wat foutjes uitgehaald, maar nog steeds krijg ik dezelfde error's terug als ik gewoon alles goed heb ingegevuld, me account word ook gewoon toegevoegd in de database, maar de meldingen blijven staan, probeer anders zelf eens een account aan te maken, en je snapt wat ik bedoel.
PHP Code:<?
header('Content-Type: text/javascript');
include('connection.php');
//Variablen maken van de GET gegevens
$username = addslashes($_GET['username']);
$password1 = addslashes($_GET['password1']);
$password2 = addslashes($_GET['password2']);
$email1 = addslashes($_GET['email1']);
$email2 = addslashes($_GET['email2']);
//Password checken
$password_status = 0;
if (!ctype_alnum($password1) and !ctype_alnum($password2)){
$password_status = 3;
}
if (!$password1 == $password2){
$password_status = 1;
}
if (strlen($password1)<6 and strlen($password2)<6){
$password_status = 2;
}
//E-mail checken
$email_status = 0;
if (!$email1 == $email2){
$email_status = 1;
}
if(!strstr($email1,"@") and !strstr($email1,".") and !strstr($email2,"@") and !strstr($email2,".")){
$email_status = 3;
}
if (strlen($email1)<5 and strlen($email2)<5){
$email_status = 2;
}
//Username checken
$result = mysql_query("SELECT username FROM users WHERE username='".$username."'");
$num_rows = mysql_num_rows($result);
if ($num_rows == 0 and strlen($username)>6 and ctype_alnum($username)){
$username_status = 1;
} else {
$username_status = 0;
}
//Als alles klopt voegt ie een row in de DB toe, anders gaat het script naar de else, daar word de output bepaald
if ($password_status == 0 and $email_status == 0 and $username_status == 1){
mysql_query("INSERT INTO users (username, password, email) VALUES ('".$username."', '".$password1."', '".$email1."')");
$reg_status = 'Je hebt jezelf succesvol geregistreerd.';
} else {
//Email msg output
if ($email_status == 1){
echo "my_status2 = document.getElementById('email_status');";
echo "my_status2.innerHTML = ' | Het E-mail adres komt niet overeen.';";
echo "document.getElementById('email1').value = '';
document.getElementById('email2').value = '';
my_status5 = document.getElementById('counter_number2');
my_status5.innerHTML = '45';
my_status6 = document.getElementById('counter_number3');
my_status6.innerHTML = '45';";
}
if($email_status == 2){
echo "my_status2 = document.getElementById('email_status');";
echo "my_status2.innerHTML = ' | Het E-mail adres moet langer zijn dan 5 tekens.';";
echo "document.getElementById('email1').value = '';
document.getElementById('email2').value = '';
my_status5 = document.getElementById('counter_number2');
my_status5.innerHTML = '45';
my_status6 = document.getElementById('counter_number3');
my_status6.innerHTML = '45';";
}
if($email_status == 3){
echo "my_status2 = document.getElementById('email_status');";
echo "my_status2.innerHTML = ' | Het E-mail adres is incorrect.;";
echo "document.getElementById('email1').value = '';
document.getElementById('email2').value = '';
my_status5 = document.getElementById('counter_number2');
my_status5.innerHTML = '45';
my_status6 = document.getElementById('counter_number3');
my_status6.innerHTML = '45';";
}
if($email_status == 0){
}
//Username msg output
if ($username_status == 0){
$username_msg = ' | Deze gebruikersnaam bestaat al, is tekort(6 tekens minimaal) of bevat verboden tekens(!$%^€* etc.).';
}
// Password msg output
if ($password_status == 1){
echo "my_status1 = document.getElementById('password_status');";
echo "my_status1.innerHTML = ' | Het wachtwoord komt niet overeen.';";
echo "document.getElementById('password1').value = '';
document.getElementById('password2').value = '';
my_status7 = document.getElementById('counter_number4');
my_status7.innerHTML = '30';
my_status8 = document.getElementById('counter_number5');
my_status8.innerHTML = '30';";
}
if($password_status == 2){
echo "my_status1 = document.getElementById('password_status');";
echo "my_status1.innerHTML = ' | Het wachtwoord moet langer zijn dan 6 tekens.';";
echo "document.getElementById('password1').value = '';
document.getElementById('password2').value = '';
my_status7 = document.getElementById('counter_number4');
my_status7.innerHTML = '30';
my_status8 = document.getElementById('counter_number5');
my_status8.innerHTML = '30';";
}
if($password_status == 3){
echo "my_status1 = document.getElementById('password_status');";
echo "my_status1.innerHTML = ' | Het wachtwoord mag alleen letters en cijfers bevatten(A-Z, a-z en 0-9)';";
echo "document.getElementById('password1').value = '';
document.getElementById('password2').value = '';
my_status7 = document.getElementById('counter_number4');
my_status7.innerHTML = '30';
my_status8 = document.getElementById('counter_number5');
my_status8.innerHTML = '30';";
}
if($password_status == 0){
}
}
?>
my_status = document.getElementById('status');
my_status.innerHTML = '<? echo $reg_status; ?>';
my_status3 = document.getElementById('username_status');
my_status3.innerHTML = '<? echo $username_msg; ?>';
//my_status4 = document.getElementById('counter_number1');
//my_status4.innerHTML = '25';
//document.getElementById('username').value = '';
<? mysql_close(); ?>
Opgelost! :) strstr() foutje.Laatst aangepast door Eddy B. : 21-02-2010 om 19:49 Reden: Automatisch samengevoegd.
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