Update werkt niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jordi Kroon

Jordi Kroon

09/01/2011 21:27:36
Quote Anchor link
Hallo,

Alweer een probleempje.
Ik ben bezig met een scriptje voor wachtwoord vergeten .
Dit lukt aardig alleen kom ik niet verder.
Ik weet niet wat ik fout doe.

de code:

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
<?php

// random wachtwoord

$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$shuffle = str_shuffle($chars);
$randpass = substr($shuffle,0,8);


Include 'includes/config.php';

If($_GET['resetpass'] && $_GET['naam']) {

 $query = "SELECT wachtwoord_id, u_pass, u_name FROM SFI_users WHERE u_name = '" . mysql_real_escape_string($_GET['naam']) . "'";
 
 $get = mysql_query($query);
 $aantal = mysql_num_rows($get);
 $login = mysql_fetch_assoc($get);
 
 if($aantal == 0) {
 $errors =  "Uw bevestigingscode is onjuist!";
 }
else if($_GET['resetpass'] !== $login['wachtwoord_id']){
 $errors =  "Uw bevestigingscode is onjuist!";
 }
else if($login['wachtwoord_id'] == 0 ){
 $errors =  "Uw bevestigingscode is onjuist!";
 }

 
if( !isset( $errors ) ) {
$update = "UPDATE SFI_users SET wachtwoord_id = 0, u_pass = '" . $randpass . "' WHERE
  u_name = '"
. mysql_real_escape_string($_GET['naam']) . "' ";
  
$result = mysql_query($update);  
if($result) {  

  $errors =  'tot nu toe gaat alles goed';
}
else {
Echo mysql_error();
}
}



Echo $errors;

}


?>


Hij geeft de melding tot nu toe gaat alles goed alleen.
maar hij update de query niet
Gewijzigd op 10/01/2011 11:25:39 door Jordi Kroon
 
PHP hulp

PHP hulp

28/07/2021 11:59:11
 
Vincent Huisman

Vincent Huisman

09/01/2011 21:49:16
Quote Anchor link
bedoel je nou insert of update? je kan ook beter netjes inspringen, dat maakt het geheel wat overzichtelijker
 
Jordi Kroon

Jordi Kroon

09/01/2011 21:50:43
Quote Anchor link
update sorry
even de titel aanpassen
Gewijzigd op 09/01/2011 22:01:39 door Jordi Kroon
 
Aad B

Aad B

09/01/2011 22:09:40
Quote Anchor link
Klopt,
Je voert de update ook niet uit richting MySQL, bijvoorbeeld:
$result = mysql_query($update)
Gewijzigd op 09/01/2011 22:10:24 door Aad B
 
Bas Cost Budde

Bas Cost Budde

09/01/2011 22:44:05
Quote Anchor link
Zeg, als je randpass zelf samenstelt, hoef je die niet te escapen hoor.
 
Jordi Kroon

Jordi Kroon

09/01/2011 22:47:22
Quote Anchor link
@aad ik zal het morgen proberen.

@bas wat bedoel je?
 
Thomas van den Bulk

Thomas van den Bulk

10/01/2011 00:04:31
Quote Anchor link
wat bas bedoelt, is dat je zelf wel weet dat je geen kwade bedoelingen hebt met je eigen script, dus je niet perse een escape erop hoeft uit te voeren :)
mysql_real_escape_string($randpass);
heb je zelf gemaakt, escapen is dus niet nodig.
Gewijzigd op 10/01/2011 00:05:42 door Thomas van den Bulk
 
Jordi Kroon

Jordi Kroon

10/01/2011 00:16:13
Quote Anchor link
Ow nu snap ik het ja
Het is inderdaad onnodig.
Ik zal het er morgen uithalen.

Achja je kan beter teveel escapen als teweinig
 
Bas Cost Budde

Bas Cost Budde

10/01/2011 11:30:49
Quote Anchor link
Jaja! Hoe meer backslashes, hoe beter! Of probeer eens een paar keer urlencode() achter elkaar :)

-- Just Kidding.
 
Kris Peeters

Kris Peeters

10/01/2011 14:59:55
Quote Anchor link
Jordi kroon op 10/01/2011 00:16:13:
Achja je kan beter teveel escapen als teweinig


Beter genoeg dan te veel.

Hou er wat je kop bij en denk logisch na.
Als een veld een interger moet zijn, cast dan naar int ipv. te escapen.

bv.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$sql
= "INSERT INTO mijn_tabel
  (groep_id, naam) VALUES
  (
    "
. (int) $_POST['groep'] .",
    "
. mysql_real_escape_string $_POST['naam'] ."
  )
"
;
?>
 



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.