He all,

Ik heb een login script maar aanmelden.php doe het gewoon niet!
Zelf veel gekloot! En daar kwam dit uit:

<?PHP
error_reporting(E_ALL); 
ini_set("display_errors", 1); 
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>

<head>
<meta content="text/html; charset=iso-8859-2" http-equiv="Content-Type">
<meta http-equiv="Content-Language" content="nl">
<link rel="stylesheet" content="text/css" href="style.css">
</head>

<body>

<?php
require "config.php"; 

if(!($_POST['actie'])){ 
?>Velden met een * zijn verplicht...
<form method="POST" action="aanmelden.php">
	<input type="hidden" name="actie" value="1">
	<input type="hidden" size="1" name="pm" value="0">Naam:<br>
	<input type="text" name="naam" size="30"> *<br>
	Email adres:<br>
	<input type="text" name="email" size="30"> *<br>
	Woonplaats:<br>
	<input type="text" name="woonplaats" size="30"><br>
	Geboortedatum ( dd-mm-jjjj ):<br>
	<input type="text" name="geb1" size="2" maxlength="2"> - <input type="text" name="geb2" size="2" maxlength="2"> - <input type="text" name="geb3" size="4" maxlength="4"><br>
	Gewenste gebruikersnaam::<br>
	<input type="text" name="gebruikersnaam" size="25"> *<br>
	Wachtwoord:<br>
	<input class="w8" type="password" name="wachtwoord" size="12" maxlength="12"> 
	*<br>
	Wachtwoord [ bevestig ]<br>
	<input class="w8" type="password" name="wachtwoord2" size="12" maxlength="12"> 
	*<br>
	<input type="submit" value="Aanmelden">
	<input type="reset" value="Wis velden"><p></p>
</form>
<?php 
}
else{
	$query = mysql_query("SELECT * FROM members WHERE gebruikersnaam = '$gebruikersnaam'"); 
	$result = mysql_num_rows($query); 

	if($result){ 
		echo "Deze gebruikersnaam is al in gebruik<br><br><a href='javascript:history.go(-1)'>Ga terug</a>";
	}
	else{		
		if($wachtwoord!=$wachtwoord2){ 
			echo "De wachtwoorden zijn niet gelijkt aan elkaar"; 
		}				
		else{ 
			$geboortedatum = "$geb1-$geb2-$geb3"; 

			$tekens=array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"); 
			$activeringscode; 
			for($c = 0; $c < 12; $c++){ 
				srand((double)microtime() * 100000000000000); 
				$pass = $tekens[rand(0, 62)]; 
				$activeringscode=$activeringscode.$pass; 
			} 

			if($actmail == 1){ 
				$activeringscode = 0; 
			} 
			elseif($actmail == 2){ 
				$activeringscode = 1; 
			}
			elseif($actmail == 0){ 
				$activeringscode = 0;
			}
			/*		
			$gebruikersnaam = $_POST['gebruikersnaam'];
			$wachtwoord 	= $_POST['wachtwoord'];
			$naam 			= $_POST['naam'];
			$email 			= $_POST['email '];
			$geboortedatum 	= $_POST['geboortedatum '];
			$woonplaats 	= $_POST['woonplaats '];
			$pm 			= $_POST['pm']; 
			*/
			mysql_query("INSERT INTO members (gebruikersnaam,wachtwoord,naam,email,geboortedatum,woonplaats,geactiveerd,pm) VALUES ('$gebruikersnaam','$wachtwoord','$naam','$email','$geboortedatum','$woonplaats','$geactiveerd','$pm'')") or die(mysql_error()); 
	
			$bericht = "Via onze website heb jij (als het goed is) een aanmeldingsformulier ingevuld waarmee je een lid van onze 
						website wordt, als dit niet het geval is kun je dit mailtje het beste verwijderen.\n\nAls je je wel wilt aanmelden voor een  
						account op onze website moet je op de onderstaande url klikken om je account te activeren:\n\n 
						<a href=\"$script_url/activeer.php?activate=$activeringscode\">$script_url/activeer.php?activate=$activeringscode</a>\n\nMet vriendelijke groet
						Webmaster $webmaster_url";
	
			if($actmail == 1){ 
				mail("$email","Activeer nu je account $naam !","$bericht"); 
				echo "De aanmelding is succesvol gelukt, er word nu een mailtje verstuurd aan <b>$email</b> waarin de activerings url staat..."; 
			} 
			elseif($actmail == 2){ 
				echo "Je account is geactiveerd, je kunt nu inloggen...";  
			}
			elseif($actmail == 0){ 
					echo "De aanmelding is gelukt, het is nu aan de webmaster om te beslissen of hij/zij je accepteerd als member van deze website..."; 
			}
		} 
	}
	echo "Onbekende Fout";
}
?>
</body>
</html>


Kan iemand mij helpen een als er iets niet duidelijk is moet je het vragen.
Alvast Bedankt.
Trouwens, heb je al naar je kleurtjes gekeken? Die lijken me neit helemaal te kloppen.

PS: Vertellen WAT er gebeurt is ook erg handig in het vervolg.
Op regel 85:


iveringscode/">$script


Daar heb je de slash de verkeerde kant op gezet. Daar moeten de variablen eigenlijk buiten de quotes. Zo dus:


<?php
 $hai = "test";
 echo "Dit is een ".$hai;
?>
[quote='``Joris,, schreef op 27.12.2009 16:31']Op regel 85:

[..]

Daar heb je de slash de verkeerde kant op gezet. Daar moeten de variablen eigenlijk buiten de quotes. Zo dus:

[..]
[quote]

oke Tnks

Als ik aanmelden.php open in internet krijg ik nettjes mijn form tezien.
Invullen gaat goed. Dan klik je submit en krijg ik onbekende fout.
De laaste else is dat.
Regel 46:
<?php
if($naam AND $email AND $gebruikersnaam AND $naam){
?>
Wat is dat voor controle? Ik geloof er niets van dat al die variabelen booleans zijn, het lijkt mij eerder dat het strings zijn en in dat geval klopt hier niets van. Dat zou zomaar eens de reden kunnen zijn dat je script telkens naar die else schiet.

ps. Waar komen die variabelen überhaupt vandaan? Ik zie ze nergens eerder in je script terug komen?
Zet dit bovenin je script.
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

// rest
?>
Je script is oud en gevoelig voor sql injections
Blanche schreef op 27.12.2009 16:37
Regel 46:
<?php
if($naam AND $email AND $gebruikersnaam AND $naam){
?>
Wat is dat voor controle? Ik geloof er niets van dat al die variabelen booleans zijn, het lijkt mij eerder dat het strings zijn en in dat geval klopt hier niets van. Dat zou zomaar eens de reden kunnen zijn dat je script telkens naar die else schiet.

ps. Waar komen die variabelen überhaupt vandaan? Ik zie ze nergens eerder in je script terug komen?


Als het goed is komt van

$gebruikersnaam = $_POST['gebruikersnaam'];
$wachtwoord = $_POST['wachtwoord'];
$naam = $_POST['naam'];

Maar ik haal die idd maar weg

SanThe schreef op 27.12.2009 16:39
Zet dit bovenin je script.
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

// rest
?>

Klopt dat is zeer handig maar mijn internet host heeft zitten kutten daar mee en er komt nu alleen 500 Internal Sever Error testaan

Klaasjan Boven schreef op 27.12.2009 16:50
Je script is oud en gevoelig voor sql injections


Hoe dan zo?

Marc schreef op 27.12.2009 16:58

[quote='SanThe schreef op 27.12.2009 16:39']Zet dit bovenin je script.
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

// rest
?>

Klopt dat is zeer handig maar mijn internet host heeft zitten kutten daar mee en er komt nu alleen 500 Internal Sever Error testaan
[/quote]
Dat kan niet door deze regels komen.
SanThe schreef op 27.12.2009 17:04
[quote='Marc schreef op 27.12.2009 16:58']
[quote='SanThe schreef op 27.12.2009 16:39']Zet dit bovenin je script.
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

// rest
?>

Klopt dat is zeer handig maar mijn internet host heeft zitten kutten daar mee en er komt nu alleen 500 Internal Sever Error testaan
[/quote]
Dat kan niet door deze regels komen.[/quote]
Sorry je hebt gelijk deze error krijg ik er ook nog even door:
Notice: Undefined index: submit in /sites/[website]/[subsite]/MemberSysteem/aanmelden.php on line 18
Die bestaat dus niet.

Reageren