/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
PHP script /mail virker ikke
Fra : Hans Andersen


Dato : 17-03-10 21:35

Hej
Jeg har hentet dette fra Hjemmesideskolen, men et eller andet
sted er der gået noget galt.

<?if (!empty($_POST['subject'])) { header ("Location:
blokeret.php"); exit;}?>

<!DOCTYPE osv.>
<head>
<title>mens section odder</title>
<?php include("meta-mso.txt");?>
<link rel="stylesheet" type="text/css" href="mso.css"
media="screen" />
</head>
<body>

<div class="box2">
<?php include("hulspil-mso.txt");?>
</div>

<?php
if (isset($_POST['submit']))
{
if (
// her følger sikringen mod spambotter
!strpos($_POST['name'], "www.menssectionodder.dk") && // tjek,
at dit domæne ikke er skrevet i feltet "navn"
!strpos($_POST['email'], "www.menssectionodder.dk") && // tjek,
at dit domæne ikke er skrevet i feltet "email"
!strpos($_POST['name'], "@") && // tjek, at der ikke er et @ i
"navn"
!eregi("\r",$_POST['name']) && // tjek, at der ikke er
"vogn-retur" i "navn"
!eregi("\n",$_POST['name']) && // tjek, at der ikke er
"linjeskift" i "navn"
!eregi("\r",$_POST['email']) && // tjek, at der ikke er
"vogn-retur" i "email"
!eregi("\n",$_POST['email'])) // tjek, at der ikke er
"linjeskift" i "email"

// er alt ok, fortsættes med afsendelse af mailen
{
$headers="From: ".$_POST['name']."<".$_POST['email'].">";
{
}
$body .= "Den " . date("d/m y") . " kl. " . date("G:i") . "
skrev " . $_POST['name'] . ":\r\n\r\n" . $_POST['besked'];
if (@mail("ft@msodder.dk", strip_tags($_POST['emne']),
stripslashes(strip_tags($body)), $headers))
{
echo "<p>E-mailen blev ikke sendt. Der skete en fejl. Prøv
igen!</p>";
}
}
else
{
echo "<p>Mailen kunne ikke sendes, alle felter skal udfyldes
korrekt!</p>";
}
}
?>

</body>
</html>

Jeg vil være glad, hvis I kan hjælpe!
mvh
Hans

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Birger Sørensen (18-03-2010)
Kommentar
Fra : Birger Sørensen


Dato : 18-03-10 00:31

Følgende er skrevet af Hans Andersen:
8X
> if (@mail("ft@msodder.dk", strip_tags($_POST['emne']),
> stripslashes(strip_tags($body)), $headers))
> {
> echo "<p>E-mailen blev ikke sendt. Der skete en fejl. Prøv
> igen!</p>";
> }
8X
> Jeg vil være glad, hvis I kan hjælpe!
> mvh
> Hans

Umiddelbart giver ovenstående en fejlmeddelelse, hvis mail() ikke
fejler?
Ellers bliver du nok nødt til at specificere, hvad det er der går
galt...

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk



Martin (18-03-2010)
Kommentar
Fra : Martin


Dato : 18-03-10 08:52

On 18-03-2010 00:31, Birger Sørensen wrote:
> Følgende er skrevet af Hans Andersen:
> 8X
>> if (@mail("ft@msodder.dk", strip_tags($_POST['emne']),
>> stripslashes(strip_tags($body)), $headers))
>> {
>> echo "<p>E-mailen blev ikke sendt. Der skete en fejl. Prøv
>> igen!</p>";
>> }
> 8X
>> Jeg vil være glad, hvis I kan hjælpe!
>> mvh
>> Hans
>
> Umiddelbart giver ovenstående en fejlmeddelelse, hvis mail() ikke fejler?
> Ellers bliver du nok nødt til at specificere, hvad det er der går galt...

Du mener mail() IKKE giver en fejlmeddelse tilbage ikk? :)
@ betyder at PHP skal ignorer enhver fejl mail() caster retur.

Start med at fjerne @ og se om mail() smider en fatal error/warning
retur - kan være din server ikke er sat korrekt op eller andet :)

Martin (18-03-2010)
Kommentar
Fra : Martin


Dato : 18-03-10 08:54

On 18-03-2010 08:52, Martin wrote:
> On 18-03-2010 00:31, Birger Sørensen wrote:
>> Følgende er skrevet af Hans Andersen:
>> 8X
>>> if (@mail("ft@msodder.dk", strip_tags($_POST['emne']),
>>> stripslashes(strip_tags($body)), $headers))
>>> {
>>> echo "<p>E-mailen blev ikke sendt. Der skete en fejl. Prøv
>>> igen!</p>";
>>> }
>> 8X
>>> Jeg vil være glad, hvis I kan hjælpe!
>>> mvh
>>> Hans
>>
>> Umiddelbart giver ovenstående en fejlmeddelelse, hvis mail() ikke fejler?
>> Ellers bliver du nok nødt til at specificere, hvad det er der går galt...
>
> Du mener mail() IKKE giver en fejlmeddelse tilbage ikk? :)
> @ betyder at PHP skal ignorer enhver fejl mail() caster retur.
>
> Start med at fjerne @ og se om mail() smider en fatal error/warning
> retur - kan være din server ikke er sat korrekt op eller andet :)

PS
eregi er på vej ud af verdenen, og hvis/når du bruger PHP 5.3 så vil du
få en deprecated error. Brug istedet preg_match funktionen, i PHP 6 så
findes eregi højst sandsynligt slet ikke mere

Hans Andersen (18-03-2010)
Kommentar
Fra : Hans Andersen


Dato : 18-03-10 10:35

Hej
Tak for svarene.
Jeg har prøvet igen, men stadig uden resultat.
Men p.t. har jeg ikke tid til at gøre mere ved det, så jeg vender måske tilbage
på et senere tidspunkt.
mvh
Hans

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Birger Sørensen (18-03-2010)
Kommentar
Fra : Birger Sørensen


Dato : 18-03-10 11:22

Martin formulerede torsdag:
> On 18-03-2010 00:31, Birger Sørensen wrote:
>> Følgende er skrevet af Hans Andersen:
>> 8X
>>> if (@mail("ft@msodder.dk", strip_tags($_POST['emne']),
>>> stripslashes(strip_tags($body)), $headers))
>>> {
>>> echo "<p>E-mailen blev ikke sendt. Der skete en fejl. Prøv
>>> igen!</p>";
>>> }
>> 8X
>>> Jeg vil være glad, hvis I kan hjælpe!
>>> mvh
>>> Hans
>>
>> Umiddelbart giver ovenstående en fejlmeddelelse, hvis mail() ikke fejler?
>> Ellers bliver du nok nødt til at specificere, hvad det er der går galt...
>
> Du mener mail() IKKE giver en fejlmeddelse tilbage ikk? :)
> @ betyder at PHP skal ignorer enhver fejl mail() caster retur.
>
> Start med at fjerne @ og se om mail() smider en fatal error/warning
> retur - kan være din server ikke er sat korrekt op eller andet :)

Nej, det er ikke hvad jeg mener.
if( mail(..)) {
echo "<p>E-mailen blev ikke sendt. Der skete en fejl. Prøv
igen!</p>";
}
Står der.
Altså hvis emailen bliver sendt uden fejl, gives en fejlmeddelelse til
brugeren.

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk



Martin (18-03-2010)
Kommentar
Fra : Martin


Dato : 18-03-10 15:15

On 18-03-2010 11:22, Birger Sørensen wrote:
> Nej, det er ikke hvad jeg mener.
> if( mail(..)) {
> echo "<p>E-mailen blev ikke sendt. Der skete en fejl. Prøv igen!</p>";
> }
> Står der.
> Altså hvis emailen bliver sendt uden fejl, gives en fejlmeddelelse til
> brugeren.

Hehe, nå ja, nu kan jeg godt se det

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408914
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste