PHP- database wil niet geupdate worden

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ismael aharouay

ismael aharouay

10/06/2009 22:49:00
Quote Anchor link
Hoi,

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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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>"
;
}


?>



and dan moet in de volgende pagina verify2.php de database geupdate worden en tekst aan geven.

verify2.php


Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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());

  }

    

  

}}}}

?>


weet iemand wat ik fout doe de pagina is gewoon blank. en geeft geen fouten aan.
 
PHP hulp

PHP hulp

26/11/2024 04:48:20
 
- SanThe -

- SanThe -

10/06/2009 23:14:00
Quote Anchor link
Er is een mogelijkheid om precies door alle if()'s en elsen te gaan zonder dat er wat op het scherm wordt gezet. Zet dus ook even extra elsen neer met een echo zodat je weet waar het fout gaat.

OffTopic: Wat is 'abonoment'?
 
Ismael aharouay

ismael aharouay

11/06/2009 17:21:00
Quote Anchor link
dank je door bij alle if's een echo te zetten kwam ik erachter wat de scritp niet uitvoerde..

Heb de oplossing reeds gevonden.

abonnoment=keuze van een abonnoment die de gebruiker heeft gemaakt voor een simonly kaart :)

(schoolopdracht)
 
- SanThe -

- SanThe -

11/06/2009 17:24:00
Quote Anchor link
Mooi dat je het nu opgelost hebt.

PS: Zullen we het gewoon abonnement noemen? ;-)
 
Ismael aharouay

ismael aharouay

11/06/2009 18:35:00
Quote Anchor link
al gedaan :P
 
Afra ca

Afra ca

11/06/2009 20:21:00
Quote Anchor link
En haal je vars buiten quotes. Dus ook in je sql query.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

$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
 
Barry

Barry

11/06/2009 21:03:00
Quote Anchor link
En sla geen wachtwoorden op in cookies!
 
Afra ca

Afra ca

11/06/2009 21:06:00
Quote Anchor link
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.
 
Ivo K

Ivo K

11/06/2009 21:09:00
Quote Anchor link
Afra schreef op 11.06.2009 21:06:
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' !
 
Ismael aharouay

ismael aharouay

12/06/2009 00:05:00
Quote Anchor link
-vervolg

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
 
- SanThe -

- SanThe -

12/06/2009 11:55:00
Quote Anchor link
Je knop heeft nog steeds 'abonomenten'.
Verder mist 'vershillende' een c -> verschillende.

Als smtp de mailserver van je host gebruiken.
 
Tim Kampherbeek

Tim Kampherbeek

12/06/2009 13:23:00
Quote Anchor link
Goeie tip van Afra.

of doe simpweg.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
$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
 
Hipska BE

Hipska BE

12/06/2009 14:46:00
Quote Anchor link
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.


Blijkbaar weet jij het zelf ook niet echt he?
 
Ismael aharouay

ismael aharouay

12/06/2009 17:16:00
Quote Anchor link
zolang het maar werkt :)
 
Joren de Wit

Joren de Wit

12/06/2009 17:33:00
Quote Anchor link
ismael schreef op 12.06.2009 17:16:
zolang het maar werkt :)
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.

De manier die Tim voorstelt is dus ook niet aan te raden...
 
Midas

Midas

12/06/2009 17:56:00
Quote Anchor link
Tim Kampherbeek schreef op 12.06.2009 13:23:
Goeie tip van Afra.

of doe simpweg.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
$sql
= "UPDATE users SET activationkey = 'x', status='geactiveerd' WHERE id = '{$row['id']}';
?>


Als je niet weet hoe je vars buiten de quotes moet plaatsen.
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
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.