CrazyMonkeyz
Legacy Member
Ik zit met een registratiesysteem dat werkt via uitnodiging. Er wordt op moment van uitnodiging een code gegenereerd die wordt toegevoegd aan de url (register.html?code='$code')
Indien er dan op de link geklikt wordt hoeft men enkel nog gebruikersnaam en wachtwoord in te geven. Het formulier voert volgende code uit:
Ziet iemand iets fout want ik krijg steeds volgende melding:
Nochtans wordt "code" doorgegeven in de url en daarna gelijkgesteld aan $activatiestatus
Indien er dan op de link geklikt wordt hoeft men enkel nog gebruikersnaam en wachtwoord in te geven. Het formulier voert volgende code uit:
PHP:
<?php
include('configdb.php');
if($_POST["gebruikersnaam"] && $_POST["wachtwoord"] && $_POST["wachtwoord2"])
{
if($_POST["wachtwoord"]==$_POST["wachtwoord2"])
{
if(isset($_GET['code'])){
$activatiestatus = $_GET['code'];
}
$con = mysql_connect("localhost","root");
mysql_select_db("test", $con);
$check = mysql_query("SELECT * FROM `gebruikers` WHERE `activatiestatus` = '$activatiestatus'");
$test = mysql_num_rows($check);
if($test == 1)
{
$gebruikersnaam= 'gebruikersnaam';
$servername="localhost";
$username="root";
$conn= mysql_connect($servername,$username)or die(mysql_error());
mysql_select_db("test",$conn);
$sql="UPDATE gebruikers SET(gebruikersnaam,wachtwoord)values('$_POST[gebruikersnaam]','$_POST[wachtwoord]') WHERE activatiestatus='$activatiestatus'";
$result=mysql_query($sql,$conn) or die(mysql_error());
if($result)
{
$to = $emailadres;
$subject = "Bevestiging voor $gebruikersnaam";
$header = "Bevestiging van account";
$message = "Klik op onderstaande link om uw account te activeren.";
$message .= "localhost/confirm.php?passkey=$activatiestatus";
$sentmail = mail($to,$subject,$message,$header);
if($sentmail)
{
echo "De bevestigingsmail is verstuurd naar je emailadres";
}
else print "Verzenden van bevestigingsmail mislukt";
}
}
else print "Je kan je niet registreren!";
}
else print "Wachtwoorden zijn niet hetzelfde! ";
}
else print"Gegevens zijn niet allemaal ingevuld";
?>
Ziet iemand iets fout want ik krijg steeds volgende melding:
Code:
Notice: Undefined variable: activatiestatus in D:\Software\XAMPP\htdocs\confirminvitation.php on line 14
Notice: Undefined variable: activatiestatus in D:\Software\XAMPP\htdocs\confirminvitation.php on line 24
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(gebruikersnaam,wachtwoord)values('goossensj','123') WHERE activatiestatus=''' at line 1
Nochtans wordt "code" doorgegeven in de url en daarna gelijkgesteld aan $activatiestatus


want dit is vrij basic en vol fouten ^^
je gebruikt nog altijd $_POST variabelen rechtstreeks in je query , dat is zowat de makkelijkste hack die er bestaat denk ik.