Geen rijen geselecteerd in db melden
patrick vollenbroek
31/07/2013 21:26:03Beste mensen,
Ik heb een script gemaakt dat er een nieuw wachtwoord wordt gemaakt.
Voor een bezoeker die zijn wachtwoord kwijt is.
Maar als hij zijn naam en e-mail verkeerd invoert moet er een error kommen.
Hoe moet ik dat doen?
Dit heb ik al:
Alvast bedankt.
Ik heb een script gemaakt dat er een nieuw wachtwoord wordt gemaakt.
Voor een bezoeker die zijn wachtwoord kwijt is.
Maar als hij zijn naam en e-mail verkeerd invoert moet er een error kommen.
Hoe moet ik dat doen?
Dit heb ik al:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
$result = mysql_query("SELECT * FROM gebruikers WHERE email = '". $email ."' AND gebruikersnaam = '". $gebruikersnaam ."'");
while($row = mysql_fetch_array($result))
{
echo "Er is een e-mail verstuurd naar <i>". $row['email'] ."</i>. In deze mail vindt u uw nieuwe wachtwoord, waarmee u weer kunt inloggen op deze site.";
mysql_query("UPDATE gebruikers SET wachtwoord='$gecodeerd' WHERE gebruikersnaam='$gebruikersnaam' AND mail='$email'");
}
if(.......) {
echo 'Uw naam en e-mail komen niet overn.';
}
while($row = mysql_fetch_array($result))
{
echo "Er is een e-mail verstuurd naar <i>". $row['email'] ."</i>. In deze mail vindt u uw nieuwe wachtwoord, waarmee u weer kunt inloggen op deze site.";
mysql_query("UPDATE gebruikers SET wachtwoord='$gecodeerd' WHERE gebruikersnaam='$gebruikersnaam' AND mail='$email'");
}
if(.......) {
echo 'Uw naam en e-mail komen niet overn.';
}
Alvast bedankt.
PHP hulp
21/12/2024 12:57:32Francoi gckx
31/07/2013 21:30:29Gewijzigd op 31/07/2013 21:31:09 door Francoi gckx
patrick vollenbroek
31/07/2013 21:39:37Obelix Idefix
31/07/2013 22:10:32In dit stukje code wordt dus nog geen mail verstuurd (je meldt het wel aan de bezoeker).
Waarom * gebruiken in je query en niet het veld/de velden benoemen?
In je query staat $email / $gebruikersnaam; die komen (vermoed ik) uit een formulier. Kennelijk maak je nieuwe variabelen aan (ipv de $_POST waarden te gebruiken). Zorg (in de query) voor beveiliging (mysql-injection)
Ik mis foutafhandeling bij de query's.
Waarom een while-lus? Je hebt of 1 of 0 resultaten.
Waarom gebruik je $row['email']? Je hebt ook $email (en vermoedelijk ook nog $_POST waarde).
De tekst 'Uw naam en e-mail komen niet overeen' klopt niet. Het kan ook zijn dat 1 van twee niet juist was. Ik zou het woordje of er tussen zetten: "uw naam en/of emailadres".
Waarom * gebruiken in je query en niet het veld/de velden benoemen?
In je query staat $email / $gebruikersnaam; die komen (vermoed ik) uit een formulier. Kennelijk maak je nieuwe variabelen aan (ipv de $_POST waarden te gebruiken). Zorg (in de query) voor beveiliging (mysql-injection)
Ik mis foutafhandeling bij de query's.
Waarom een while-lus? Je hebt of 1 of 0 resultaten.
Waarom gebruik je $row['email']? Je hebt ook $email (en vermoedelijk ook nog $_POST waarde).
De tekst 'Uw naam en e-mail komen niet overeen' klopt niet. Het kan ook zijn dat 1 van twee niet juist was. Ik zou het woordje of er tussen zetten: "uw naam en/of emailadres".