PHP- database wil niet geupdate worden
Ik zit met het probleem dat me database niet geupdate wil worden
Reeds heeft de gebruiker bij activ.php zijn gegevens ingetypt en word door gestuurd naar verify2.php
Hier moet zijn zijn activatiecode en status geupdate worden.
ook moet deze pagina gelijk zijn aan de cookie.
Hier zijn de codes
activ.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
include('contactdb.php');
// waar moet de bezoeker heengestuurd worden nadat hij/zij succesvol zijn gegevens invult?
$redirect_pagina = "verify2.php";
if ($_GET['actie'] == 'Activeer!') {
// als formulier is verstuurd
$sql = "SELECT * FROM members WHERE passwoord='".$_POST['passwoord']."'";
$resultaat = mysql_query($sql) OR die ("Kon geen verbinding maken met MySQL");
$activationkey= $_POST['activationkey'];
$rij = mysql_fetch_array($resultaat);
if ($_COOKIE['passwoord'] != $rij['passwoord'] && $activationkey != $rij['activationkey'] ){
echo "Uw gegevens kloppen niet, klik <a href=\"".$_SERVER['PHP_SELF']."\">hier</a> om nogmaals te proberen.";
} else {
echo "U gegevens worden gecontroleerd <META HTTP-EQUIV=\"REFRESH\" CONTENT=\"2; URL=".$redirect_pagina."\">";
}
}
else {
// activatieformulier
echo "<form action=\"verify2.php\" method=\"post\">
<table>
<tr><th colspan=\"2\">Activeer uw abonoment</th></tr>
<tr><td>Activatie code</td><td><input type=\"text\" name=\"activationkey\" size=\"15\"></td></tr>
<tr><td>Wachtwoord</td><td><input type=\"password\" name=\"passwoord\" size=\"15\"></td></tr>
<tr><td></td><td><input type=\"submit\" value=\"Activeer!\"></td></tr>
<tr><td>
</table></form>";
}
?>
include('contactdb.php');
// waar moet de bezoeker heengestuurd worden nadat hij/zij succesvol zijn gegevens invult?
$redirect_pagina = "verify2.php";
if ($_GET['actie'] == 'Activeer!') {
// als formulier is verstuurd
$sql = "SELECT * FROM members WHERE passwoord='".$_POST['passwoord']."'";
$resultaat = mysql_query($sql) OR die ("Kon geen verbinding maken met MySQL");
$activationkey= $_POST['activationkey'];
$rij = mysql_fetch_array($resultaat);
if ($_COOKIE['passwoord'] != $rij['passwoord'] && $activationkey != $rij['activationkey'] ){
echo "Uw gegevens kloppen niet, klik <a href=\"".$_SERVER['PHP_SELF']."\">hier</a> om nogmaals te proberen.";
} else {
echo "U gegevens worden gecontroleerd <META HTTP-EQUIV=\"REFRESH\" CONTENT=\"2; URL=".$redirect_pagina."\">";
}
}
else {
// activatieformulier
echo "<form action=\"verify2.php\" method=\"post\">
<table>
<tr><th colspan=\"2\">Activeer uw abonoment</th></tr>
<tr><td>Activatie code</td><td><input type=\"text\" name=\"activationkey\" size=\"15\"></td></tr>
<tr><td>Wachtwoord</td><td><input type=\"password\" name=\"passwoord\" size=\"15\"></td></tr>
<tr><td></td><td><input type=\"submit\" value=\"Activeer!\"></td></tr>
<tr><td>
</table></form>";
}
?>
and dan moet in de volgende pagina verify2.php de database geupdate worden en tekst aan geven.
verify2.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php
error_reporting(E_ALL ^ E_NOTICE);
// sql connectie includen
include('contactdb.php');
// inlogpagina
$activatie_pagina = "activ.php";
$sql = "SELECT * FROM members WHERE passwoord='".$_COOKIE['passwoord']."'";
$resultaat = mysql_query($sql) OR die ("Kon geen verbinding maken met MySQL");
$aantal = mysql_num_rows($resultaat);
if ($aantal == '0') {
// de waarde van de aanwezige inlognaam-cookie bij de bezoeker komt niet overeen met een waarde uit de database
echo " Uw gegevens kloppen niet <a href='activ.php'> hier </a> om nog maals te proberen";
} else {
$activate = mysql_fetch_array($resultaat);
if ($_COOKIE['passwoord'] != $activate['passwoord'] && $_POST['activationkey'] != $activate['activationkey']) {
echo "Uw gegevens kloppen niet";
} else {
##geddelde om activaticode te verwijderen en status naar succes
$queryString = $_SERVER['QUERY_STRING'];
$query = "SELECT * FROM members";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result)){
if ($queryString == $row["activationkey"]){
echo "Gefeliciteerd! " . $row["inlognaam"] . " Uw abonoment is geactiveerd.";
$sql="UPDATE users SET activationkey = 'x', status='geactiveerd' WHERE (id = $row[id])";
if (!mysql_query($sql))
{
die('Error: ' . mysql_error());
}
}}}}
?>
error_reporting(E_ALL ^ E_NOTICE);
// sql connectie includen
include('contactdb.php');
// inlogpagina
$activatie_pagina = "activ.php";
$sql = "SELECT * FROM members WHERE passwoord='".$_COOKIE['passwoord']."'";
$resultaat = mysql_query($sql) OR die ("Kon geen verbinding maken met MySQL");
$aantal = mysql_num_rows($resultaat);
if ($aantal == '0') {
// de waarde van de aanwezige inlognaam-cookie bij de bezoeker komt niet overeen met een waarde uit de database
echo " Uw gegevens kloppen niet <a href='activ.php'> hier </a> om nog maals te proberen";
} else {
$activate = mysql_fetch_array($resultaat);
if ($_COOKIE['passwoord'] != $activate['passwoord'] && $_POST['activationkey'] != $activate['activationkey']) {
echo "Uw gegevens kloppen niet";
} else {
##geddelde om activaticode te verwijderen en status naar succes
$queryString = $_SERVER['QUERY_STRING'];
$query = "SELECT * FROM members";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result)){
if ($queryString == $row["activationkey"]){
echo "Gefeliciteerd! " . $row["inlognaam"] . " Uw abonoment is geactiveerd.";
$sql="UPDATE users SET activationkey = 'x', status='geactiveerd' WHERE (id = $row[id])";
if (!mysql_query($sql))
{
die('Error: ' . mysql_error());
}
}}}}
?>
weet iemand wat ik fout doe de pagina is gewoon blank. en geeft geen fouten aan.
OffTopic: Wat is 'abonoment'?
Heb de oplossing reeds gevonden.
abonnoment=keuze van een abonnoment die de gebruiker heeft gemaakt voor een simonly kaart :)
(schoolopdracht)
PS: Zullen we het gewoon abonnement noemen? ;-)
al gedaan :P
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$sql = "UPDATE users SET activationkey = 'x', status='geactiveerd' WHERE id = ".$row[id];
?>
$sql = "UPDATE users SET activationkey = 'x', status='geactiveerd' WHERE id = ".$row[id];
?>
Moet je update query worden
Gewijzigd op 01/01/1970 01:00:00 door Afra ca
En sla geen wachtwoorden op in cookies!
Barry schreef op 11.06.2009 21:03:
En sla geen wachtwoorden op in cookies!
MD5 van je phphulp.nl wachtwoord kan je ook mooi in je cookie bekijken hoor ;) En met de huidige md5 databases kan je daar leuk een wachtwoord uit krijgen.
Afra schreef op 11.06.2009 21:06:
MD5 van je phphulp.nl wachtwoord kan je ook mooi in je cookie bekijken hoor ;) En met de huidige md5 databases kan je daar leuk een wachtwoord uit krijgen.
Barry schreef op 11.06.2009 21:03:
En sla geen wachtwoorden op in cookies!
MD5 van je phphulp.nl wachtwoord kan je ook mooi in je cookie bekijken hoor ;) En met de huidige md5 databases kan je daar leuk een wachtwoord uit krijgen.
maar dat betekent nog niet dat het 'mag' !
iemand die weet hoe ik een gratis smtp server kan krijgen? :P
resultaten= http://issisoul.comxa.com/TELE4/home.php
alles doet het behalve het verzenden van de email ^^
dus een activatie zul je niet krijgen :P tenzij je me databse kan 'hacken' =P
Gewijzigd op 01/01/1970 01:00:00 door ismael aharouay
Verder mist 'vershillende' een c -> verschillende.
Als smtp de mailserver van je host gebruiken.
of doe simpweg.
Code (php)
1
2
3
2
3
<?
$sql = "UPDATE users SET activationkey = 'x', status='geactiveerd' WHERE id = '{$row['id']}';
?>
$sql = "UPDATE users SET activationkey = 'x', status='geactiveerd' WHERE id = '{$row['id']}';
?>
Als je niet weet hoe je vars buiten de quotes moet plaatsen.
Gewijzigd op 01/01/1970 01:00:00 door Tim Kampherbeek
Tim Kampherbeek schreef op 12.06.2009 13:23:
Goeie tip van Afra.
of doe simpweg.
...
Als je niet weet hoe je vars buiten de quotes moet plaatsen.
of doe simpweg.
...
Als je niet weet hoe je vars buiten de quotes moet plaatsen.
Blijkbaar weet jij het zelf ook niet echt he?
zolang het maar werkt :)
ismael schreef op 12.06.2009 17:16:
Lekker naïef. Zie onder andere dit artikel waarom je variabelen buiten quotes moet halen en je niet met alle andere mogelijke lapmiddelen moet werken.zolang het maar werkt :)
De manier die Tim voorstelt is dus ook niet aan te raden...
Tim Kampherbeek schreef op 12.06.2009 13:23:
Tim, dit is nou al de zoveelste keer dat je beginners code voorschotelt met grove fouten erin. Wordt het niet eens tijd om te luisteren en echt PHP te gaan leren?Gewijzigd op 01/01/1970 01:00:00 door Midas