webForumDet fria alternativet

mail script

PHPur PHP

11 svar · 416 visningar · startad av Pedda

Medlem sedan juni 20006 032 inlägg
Frågan#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.

Medlem sedan aug. 20022 027 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.

Medlem sedan feb. 20012 412 inlägg
Medlem sedan juni 20006 032 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å.

Medlem sedan dec. 2002789 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.

Medlem sedan juni 20006 032 inlägg
#6

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

Medlem sedan aug. 20022 027 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.

Medlem sedan juni 20006 032 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\">"); 
} 
?>
Medlem sedan okt. 20023 030 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..

Medlem sedan juni 20006 032 inlägg
#10

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

Medlem sedan juni 20006 032 inlägg
#11

Nä, fungerar inte med $_POST heller :(

Medlem sedan dec. 2002789 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

140 ms totalt · 3 externa anrop · v20260731065814-full.55e59744
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)