Tarkoitus olis saada ohjattua käyttäjä lomakkeen lähetyksen jälkeen joko "message sent" tai "message delivery failed" -sivulle.
if (mail($to, $subject, $body)) {
header("Location: http://www...sent.html");
} näyttäisi toimivan mutta jos lisään
else {
header("Location: http://www...failed.html");
}
päädyn aina failed-sivulle. Missä vika? Siis tiedot kyllä tulee mailiin mutta käyttäjälle näkyy failed. Kiitos avusta etukäteen!
if (mail($to, $subject, $body)) {
header("Location: http://www...sent.html");
} näyttäisi toimivan mutta jos lisään
else {
header("Location: http://www...failed.html");
}
päädyn aina failed-sivulle. Missä vika? Siis tiedot kyllä tulee mailiin mutta käyttäjälle näkyy failed. Kiitos avusta etukäteen!
Vastaukset 5
Vanhimmat
En tähän hätään muista mitä mail palauttaa mail FALSE/TRUE vai yhtikäs mitään, manuaalista en löynänyt pikavilkasul mitään.
Kokeiles
var_dump(mail($to, $subject, $body));
Niin näät mitä mail palauttaa kun lähetys onnistuu tai epäonnistuu.
juuri niin kuin se on siellä php-sivullasi.
Mail-funktio palauttaa tru tai false ja kyllä tuon pitäisi toimia.
En tiedä pitikö mun ottaa tuo if-else kohta kokonaan pois kun kokeilen var_dumpia.
Jos pistän molemmat, joudun failed.html -sivulle.
Jos poistan if elsen ja laitan tilalle var_dumpin, saan bool(false)
Noni tuo false tarkoittaapi sitä että lähetys on epäonnistunut siksi else toteutuu aina. Bool on totuusarvo siis false tai true. Tuo ja koodinpätkä kertoo missä vika
Muuttelin tuota hieman
Kiitos paljon, nyt toimii!
Nämä on ihan selvästi miesten kehittämiä juttuja nämä php:t ja muut, ken ei näitä tajua... :)