webForumDet fria alternativet

mail script

11 svar · 416 visningar · startad av Pedda

PeddaMedlem sedan juni 20004 880 inlägg
#1

Jag är nybörjare på php, så det första script jag tänkte göra är ett mail script. Vi kan kalla det ett feedback formulär, där besökare kan skicka mig ett mail alltså.
Var hittar jag information, tips, och annat matnyttigt att läsa?
Behöver ett mailscript kopplas till MySQL?
Vill ha så många länkar som möjligt, gärna på svenska.

dhoMedlem sedan aug. 20021 515 inlägg
#2

IDG har en rätt bra sida som går igenom PHP. Du hittar den på http://www.idg.se/webstudio/pub/object.asp?id=11

Sedan finns ju givetvis PHP:s officiella sida där det mesta finns att hitta när man stöter på problem. Den hittar du på http://www.php.net/

Mailscript behöver inte kopplas till någon databas.

Jörgen HPMedlem sedan feb. 20012 179 inlägg
PeddaMedlem sedan juni 20004 880 inlägg
#4

Har testat lite, men inte fått det att fungera.
Är det något i php.ini som behöver ändras från default inställningarna? Kör lokalt, inget webbhotell alltså.

DarrenMedlem sedan dec. 2002741 inlägg
#5

Om du kör lokalt så blir det svårare... Vanligtsvis så använder man sig av sendmail på unix maskinerna när man gör sådana saker. Har du inte sendmail så måste du använda dig av ett smtp server för att kunna skica mailet.

Och ja, i php.ini filen skall du ange genvägen till sendmail eller din smtp server.

PeddaMedlem sedan juni 20004 880 inlägg
#6

SMTP är satt till localhost, någon som vet vad det ska ändras till?

dhoMedlem sedan aug. 20021 515 inlägg
#7

Pedda skrev:

SMTP är satt till localhost, någon som vet vad det ska ändras till?

Du kan ändra till den utgående mailserver som du har tillgång till via ditt internetabbonemang.

PeddaMedlem sedan juni 20004 880 inlägg
#8

Ok, scriptet är klart och allt fungerar när jag kör lokalt.
Men när jag testade att lägga upp det på ett annat ställe så fungerar det inte, får inget mejl och inget felmeddelande heller :(

Någon som vet varför?

Så här ser koden ut:

<? 
if($namn && $email && $meddelande) { 
mail("pedda@minmail.se","Meddelande från hemsidan"," 
Namn: $namn 
E-mail: $email 
Meddelande: $meddelande"); 
echo("<hr size=\"1\">"); 
echo("Ditt mail har skickats!"); 
echo("<hr size=\"1\">"); 
} elseif ($skicka) { 
echo("<hr size=\"1\">"); 
echo("Du har glömt fylla i något av fälten. Var vänlig gör ett nytt försök."); 
echo("<hr size=\"1\">"); 
} 
?>
Nexus86Medlem sedan okt. 20022 683 inlägg
#9

Vad får den $namn, $email, $meddelande, $skicka ifrån? Om det kommer ifrån ett formulär eller en cookie så prova byt ut det mot

<? 
if($_POST["namn"] && $_POST["email"] && $_POST["meddelande"]) { 
mail("pedda@minmail.se","Meddelande från hemsidan"," 
Namn: $namn 
E-mail: $email 
Meddelande: $meddelande"); 
echo("<hr size=\"1\">"); 
echo("Ditt mail har skickats!"); 
echo("<hr size=\"1\">"); 
} elseif ($_POST["skicka"]) { 
echo("<hr size=\"1\">"); 
echo("Du har glömt fylla i något av fälten. Var vänlig gör ett nytt försök."); 
echo("<hr size=\"1\">"); 
} 
?>

eller byt ut $_POST mot $_GET eller $_COOKIE om du använder någon av de metoderna istället..

PeddaMedlem sedan juni 20004 880 inlägg
#10

Det kommer från ett formulär.
Ska testa det du har skrivit.

PeddaMedlem sedan juni 20004 880 inlägg
#11

Nä, fungerar inte med $_POST heller :(

DarrenMedlem sedan dec. 2002741 inlägg
#12

Gör en koll och se att du får något i de variabler som du sedan kontrollerar mot...

<?
echo "  $_POST["namn"].<br>.$_POST["email"].<br>.$_POST["meddelande"])";

if($_POST["namn"] && $_POST["email"] && $_POST["meddelande"]) {

Observera att din form tag måste innehålla method="post" om du skall använda dig av $_POST. Annars kan du testa med $_REQUEST["namn"] osv

Genererad på 376 ms · cache AV · v20260730165559-full.f96bc7eb