Om du kör följande SQL-sats:
SELECT COUNT(*) FROM member;
Och skriver ut resultatet, hur många rader har du då?
Finns det någon medlem med det nick du använder? Är du säker på att vederbörande har email angiven?
5 svar · 307 visningar · startad av soidog
Håller på med en funktion som gör att medlemmar kan skicka e-post till varandra. Denna kod håller jag på att pilla på, men får det inte att funka.
if(@$_GET['skicka'] == 'skicka')
{
//kollar om användarnamnet har en emailadress
$q = mysql_query("SELECT email,nick FROM member WHERE nick = '{$_POST['nick']}' ORDER BY datum DESC LIMIT 1")
or exit(mysql_error());
while ($res = mysql_fetch_array($q))
$to = $res['email'];
}
if($to == NULL){
echo ('<p> </p><p> </p><p> </p><p><center>Användaren du försöker skicka e-post till har ingen registrerad e-post adress.<p> </p><p> </p><p> </p><a href="javascript:window.close()">Stäng detta fönster</a></div></center>');
}
// här kommer allt som har med mailet att göra.
else{
Här skickas mailet.
}
?>
Koden stannar hela tiden med att användaren inte har något adress. Har provat att ändra
$q = mysql_query("SELECT email,nick FROM member WHERE nick = '{$_POST['nick']}' ORDER BY datum DESC LIMIT 1")
till
$q = mysql_query("SELECT email,nick FROM member WHERE nick = 'Webmaster' ORDER BY datum DESC LIMIT 1")
Det hjälpte inte. Någon som har en aning om vad som är för fel?
Soidog
Om du kör följande SQL-sats:
SELECT COUNT(*) FROM member;
Och skriver ut resultatet, hur många rader har du då?
Finns det någon medlem med det nick du använder? Är du säker på att vederbörande har email angiven?
Det finns en medlem med det nick, samt en emailadress som är knuten till den personen. Om jag kör SELECT COUNT(*) FROM member så får jag 2648 som resultat.
Om jag kör denna denna kod
(@$_GET['skicka'] == 'skicka')
//kollar om användarnamnet har en emailadress
$q = mysql_query("SELECT email,nick FROM member WHERE nick = '{$_POST['nick']}' ORDER BY datum DESC LIMIT 1")
or exit(mysql_error());
while ($res = mysql_fetch_array($q))
$to = $res['email'];
// här kommer allt som har med mailet att göra.
Här skickas mailet. samt en kvittens på att mailet gått iväg,
?>
Tänkte att man skulle få ett meddelande om man försöker skicka ett e-post meddelande till någon som inte har en e-post adress registrerad. Om jag kör denna kod ovan så får man en kvittens på att mailet gått iväg oavsett om användaren har en e-post adress eller inte.
Soidog...
Jag tror du har måsvingefel! Se nedan:
Inte för att det påverkar ditt fel men... kan ett visst nick förekomma mer än en gång i member?
Annars borde följande räcka:
if(@$_GET['skicka'] == 'skicka') {
//kollar om användarnamnet har en emailadress
$q = mysql_query("SELECT email,nick FROM member WHERE nick = '{$_POST['nick']}'") or exit(mysql_error());
if ($res = mysql_fetch_array($q)) { //Finns bara 0 eller 1
$to = $res['email'];
if ($to == NULL) {
echo '<p> </p><p> </p><p> </p><p><center>Användaren du försöker skicka e-post till har ingen registrerad e-post adress.<p> </p><p> </p><p> </p><a href="javascript:window.close()">Stäng detta fönster</a></div></center>');
}
// här kommer allt som har med mailet att göra.
else {
//Här skickas mailet.
}
}
Får ut en e-post adress och den ser ut som den ska.
Jag har ändrat min post, såg plötsligt något! Se ovan.