webForumDet fria alternativet

Skickar inte iväg ett bekräftelsemail...

PHP

4 svar · 328 visningar · startad av Elias Mårtensso

Medlem sedan okt. 200410 inlägg
Frågan#1

Hejsan,

Jag håller på lägger upp ett nyhetsbrev som jag hittade i interneworld tidningen och har stött på patrull!

Problemet: när jag har fyllt i uppgifterna personuppgifterna och epost adessen i formen som ska registrera så läggs det i databasen dock så skickas inte det iväg ett bekräftelsemail till det registrerade e-post kontot för aktivering av det och jag förstår inte varför, är det så att jag måste göra något i sql db?

så här ser koden ut:

<?
require("common.inc");

//-----Läs in variablerna från formuläret
$fornamn = $_POST['fornamn'];
$efternamn = $_POST['efternamn'];
$epost = $_POST['epost'];
$action = $_POST['action'];

//-----Kollla om e-posten redan finns i listan
$sql = "SELECT epost FROM mejladresser";
$result = mysql_query($sql) OR DIE(mysql_error());
$rows = mysql_numrows($result);
for($index=0; $index<$rows; $index++)
{
$check_email = mysql_result($result,$index,"epost");
if ($check_email==$epost){
//-----Om besökaren valt att avbeställa, plockas posten bort ---
if($action=="stop"){
$sql = "DELETE FROM mejladresser WHERE epost='$epost'";
$result = mysql_query($sql) OR DIE(mysql_error());
DIE ("Adressen $epost är nu borttagen från listan.");
}
else DIE("Adressen $epost finns redan.<br><br><a href=\"form.htm\">Tillbaka</a>");
}
}
if($action=="stop") DIE ("Adressen fanns inte i listan");

$message = "Adressen $epost har blivit anmäld till vår prenumerantlista.
\nKlicka på följande länk för att aktivera din prenumeration:\n
http://www.xxxxxxx.xx/confirm.php?epost=$epost";
$datum = date("Y-m-d");

//-----Posten läggs in i databasen
$query = "INSERT INTO mejladresser (epost,fornamn,efternamn,datum)
VALUES('$epost','$fornamn','$efternamn','$datum')";
$result = mysql_query($query) or die(mysql_error());

//-----Bekräftelsemejl skickas till e-postadressen.
mail("$epost", "Bekräfta din beställning", "$message", "Wrom: WFAOBUZXUWLSZLKBRNVWWCUFPEGAUTFJMVRESKPN

//-----Kontrollera om det finns inaktiva poster som är äldre än 7 dagar, och rensa bort dessa ----
$exp_month=date("m");
$exp_day=date("d")-7;
$exp_year=date("Y");
$expires=date( "Y-m-d", mktime(0,0,0,$exp_month,$exp_day,$exp_year) );

$sql = "DELETE FROM mejladresser WHERE aktiv='no' AND datum<'$expires'";
$result = mysql_query($sql) or DIE(mysql_error());

?>

<html>
<head>
<title>Tack för din amnälan!</title>
</head>
<body bgcolor="#FFFFFF" link="#CC0000" vlink="#999999" alink="#CC0000">
Tack för din anmälan. <b><?= $epost; ?></b> är nu med i vårt prenumerantutskick.<br>
Ett bekräftelsemejl skickas till dig nu. Där står hur du gör för att aktivera din prenumeration.<br>
</body>
</html>

tacksam för all hjälp jag kan få...

Vänliga hälsningar
Elias Mårtensson

Medlem sedan juni 20006 031 inlägg
#2

Beroende på olika inställningar så är det svårt att skicka mail från vissa webbhotell. Kan vara något sådant som är problemet. För övrigt så kan det kanske göra skillnad om du ändrar

mail("$epost", "Bekräfta din beställning", "$message", "Wrom: WFAOBUZXUWLSZLKBRNVWWCUFPEGAUTFJMVRESKPN

till

mail("$epost", "Bekräfta din beställning", "$message", "From: [email]din@epost.se[/email]

Testa att lägga in din epostadress och se om det hjälper.

Medlem sedan okt. 200410 inlägg
#3

eftersom jag tog koden från servern direkt så råkade den översättas, den är annars så här:

("$epost", "Bekräfta din beställning", "$message", "Wrom: LYRWTQTIPWIGYOKSTTZRCLBDXRQBGJSNBOHMKHJYFM

Om det är så att det är webbhotellet som strular? har du någon ide hur jag kan komma vidare?

Medlem sedan okt. 200410 inlägg
#4

rackarns... så fort jag skickar svaret så omvandlas texten...

Medlem sedan okt. 200410 inlägg
#5

text som ändrats: , "from: Nyhetsbrevet <nyhetsbrevet@dinsajt.com>");

269 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)