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.
mail script
11 svar · 416 visningar · startad av Pedda
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.
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å.
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.
SMTP är satt till localhost, någon som vet vad det ska ändras till?
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.
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\">");
}
?>
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..
Det kommer från ett formulär.
Ska testa det du har skrivit.
Nä, fungerar inte med $_POST heller :(
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