/ 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
HELP! Total newbie - php mail...
Fra : Lars Brink


Dato : 04-10-04 13:28

Hey

Jeg er på total gyngende og ny grund her og håber nogen har et råd.

Har sat en side op: www.perlenet.dk

Der er under "bestil" en formular (lavet i Go Live) med bestillingsskema.

Laver normalt den slags med et cgi script men det kan udbyderen ikke
håndtere - de siger jeg skal bruge php.

Har nu i selve formularsiden skrevet:
<form id="FormName" action="http://www.perlenet.dk/sender.php" method="post"
name="FormName" enctype="multipart/form-data" target="_self">

Den skulle så pege på en side jeg har lavet der hedder sender.php med
følgende script:
<?php
if(isset($_POST['submit'])) {
if(!empty($_POST['name']) && !empty($_POST['subject']) &&
!empty($_POST['email']) && !empty($_POST['message'])) {
if(@mail("mail@perlenet.dk", strip_tags($_POST['subject']),
strip_tags($_POST['message']), "From: ".$_POST['name']."
<".$_POST['email'].">")) {
echo '<p>Tak for din henvendelse. Jeg vender tilbage s hurtigt som
muligt.</p>'; }else{ echo '<p>E-mailen blev ikke sendt. Der skete en fejl.
Pr¯v igen!</p>'; } }else{ echo '<p>Alle felter skal udfyldes!</p>";
}
}
?>

Men det virker ikke.

Når man prøver at sende bestilling får man flg. fejlmeddelelse:
Parse error: parse error, unexpected $end in E:\perlenet.dk\sender.php on
line 12

Udbyderen vil ikke hjælpe - hvad gør jeg?
På forhånd mang tak
Hilsen Lars



 
 
Bent Stigsen (04-10-2004)
Kommentar
Fra : Bent Stigsen


Dato : 04-10-04 14:39

Lars Brink wrote:
> Hey
[snip]
> Pr¯v igen!</p>'; } }else{ echo '<p>Alle felter skal udfyldes!</p>";
> }
> }
> ?>
>
> Men det virker ikke.
>
> Når man prøver at sende bestilling får man flg. fejlmeddelelse:
> Parse error: parse error, unexpected $end in E:\perlenet.dk\sender.php on
> line 12
>
> Udbyderen vil ikke hjælpe - hvad gør jeg?

Du har en syntax fejl i din kode. Det er ikke noget din udbyder
nogensinde hjælpe dig med.

Start med at sæt din kode lidt pænere op.
Check at parenteser, tuborgtegn og strenge afsluttes korrekt.

/Bent

Lars Brink (04-10-2004)
Kommentar
Fra : Lars Brink


Dato : 04-10-04 14:53

Tak Bent

Jeg har kopieret koden direkte fra
http://www.hjemmesideskolen.dk/scripts/phpmail.php

så jeg regnede med at den var ok. Mit problem er at jeg simpelthen ikke aner
hvordan man skriver de koder - jeg plejer kun at bruge GoLive uden at skrive
koder.

Men tak for svaret

Hilsen Lars

> Fra: Bent Stigsen <ngap@thevoid.dk>
> Organisation: TheVoid
> Nyhedsgrupper: dk.edb.internet.webdesign.serverside.php
> Dato: Mon, 04 Oct 2004 15:39:26 +0200
> Emne: Re: HELP! Total newbie - php mail...
>
> Lars Brink wrote:
>> Hey
> [snip]
>> Pr¯v igen!</p>'; } }else{ echo '<p>Alle felter skal udfyldes!</p>";
>> }
>> }
>> ?>
>>
>> Men det virker ikke.
>>
>> Når man prøver at sende bestilling får man flg. fejlmeddelelse:
>> Parse error: parse error, unexpected $end in E:\perlenet.dk\sender.php on
>> line 12
>>
>> Udbyderen vil ikke hjælpe - hvad gør jeg?
>
> Du har en syntax fejl i din kode. Det er ikke noget din udbyder
> nogensinde hjælpe dig med.
>
> Start med at sæt din kode lidt pænere op.
> Check at parenteser, tuborgtegn og strenge afsluttes korrekt.
>
> /Bent


Michael Foged (04-10-2004)
Kommentar
Fra : Michael Foged


Dato : 04-10-04 15:09

On Mon, 04 Oct 2004 15:53:17 +0200, Lars Brink wrote:

> echo '<p>Alle felter skal udfyldes!</p>";

Dette går galt, du åbner strengen med en ', og lukker med en "

--
mvh
Michael Foged

Lars Brink (04-10-2004)
Kommentar
Fra : Lars Brink


Dato : 04-10-04 15:32

Mange tak - nu får jeg da ingen fejlmeddelelse, men jeg får hverken den
afsendte mail eller kvitteringen, så jeg gør nok stadig en masse galt.

Koden på hele dokumentet: sender.php ser nu således ud:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>
<meta http-equiv="content-type"
content="text/html;charset=ISO-8859-1">
<meta name="generator" content="Adobe GoLive 6">
<title>Welcome to Adobe GoLive 6</title>
</head>

<body bgcolor="#ffffff">
<p></p>
</body>
<?php
if(isset($_POST['submit'])) {if(!empty($_POST['name']) &&
!empty($_POST['subject']) &&!empty($_POST['email']) &&
!empty($_POST['message'])) {if(@mail("mail@perlenet.dk",
strip_tags($_POST['subject']), strip_tags($_POST['message']), "From:
".$_POST['name']." <".$_POST['email'].">")) {echo '<p>Tak for din
henvendelse. Jeg vender tilbage så hurtigt som muligt.</p>'; }else{ echo
'<p>E-mailen blev ikke sendt. Der skete en fejl. Prøv igen!</p>'; } }else{
echo '<p>Alle felter skal udfyldes!</p>';
}
}
?>

</html>


For det første skal det måske slet ikke være et html dokument php koden
ligger i? Og hvor skal den ind i html koden? Er det gjort rigtigt?

For det andet har jeg bare kørt hele koden i én lang linje pånær de 3 sidste
linjer?

Hilsen Lars

> Fra: Michael Foged <spamme@mogif.de>
> Organisation: T-Online
> Nyhedsgrupper: dk.edb.internet.webdesign.serverside.php
> Dato: Mon, 04 Oct 2004 16:08:32 +0200
> Emne: Re: HELP! Total newbie - php mail...
>
> On Mon, 04 Oct 2004 15:53:17 +0200, Lars Brink wrote:
>
>> echo '<p>Alle felter skal udfyldes!</p>";
>
> Dette går galt, du åbner strengen med en ', og lukker med en "
>
> --
> mvh
> Michael Foged


Michael Foged (04-10-2004)
Kommentar
Fra : Michael Foged


Dato : 04-10-04 16:50

On Mon, 04 Oct 2004 16:31:50 +0200, Lars Brink wrote:

> Mange tak - nu får jeg da ingen fejlmeddelelse, men jeg får hverken den
> afsendte mail eller kvitteringen, så jeg gør nok stadig en masse galt.

Det script med formen er lige så vigtigt, er den method="post"?
Hedder inputfelterne det samme (case sensitive) som de $_POST variabler du
anvender?.

>
> For det første skal det måske slet ikke være et html dokument php
> koden ligger i?

Kommer an på om serveren er sat op til at parse html-filer som php.

> Og hvor skal den ind i html koden? Er det gjort rigtigt?

Når der nu outputtes til skærmen ville jeg nok foretrække at placere
det inden for <BODY></BODY>. Men principielt er det ligegyldigt.

> For det andet har jeg bare kørt hele koden i én lang linje pånær de
> 3 sidste linjer?

Tjah, hvis du kan overskue det er det helt ligegyldigt hvordan du skriver
koden, så længe du overholder syntaxen. Jeg har ikke chancen for at se
hvad der sker i den stump kode du postede her, medmindre jeg
omstrukturerer det.

prøv at kigge her:
http://mogif.de/eksempler/test.phps

formen til at kalde med er her:
http://mogif.de/eksempler/testform.phps

Disse er testet, men email-adressen er ændret. *php filerne er slettet,
men du kan bare omdøbe *phps til *php

--
mvh
Michael Foged

Bent Stigsen (04-10-2004)
Kommentar
Fra : Bent Stigsen


Dato : 04-10-04 17:04

Lars Brink wrote:
> Mange tak - nu får jeg da ingen fejlmeddelelse, men jeg får hverken den
> afsendte mail eller kvitteringen, så jeg gør nok stadig en masse galt.

mjaa, der er ikke rigtigt nogen sammenhæng mellem formularen og
php-scriptet.

Til at starte med checkes om en værdi for 'submit' er sat, hvilket er
sende-knappen i eksemplet fra hjemmesideskolen. I din formular har
sende-knappen navnet 'submitButtonName'. Og så er der alle de andre
indtastningsfelter, som du sikkert også gerne vil have med i mailen.

Hvis du er totalt blank hvad angår programmering, må du bestikke en ven
eller håbe på der er en her med tid og hjerte til at lave det for dig.


[snip]
> <body bgcolor="#ffffff">
> <p></p>
> </body>
[snip]
> For det første skal det måske slet ikke være et html dokument php koden
> ligger i? Og hvor skal den ind i html koden? Er det gjort rigtigt?

Det er ikke kritiskt at det ligger i et html-dokument. Som koden er
burde den være placeret mellem <p> og </p>


> For det andet har jeg bare kørt hele koden i én lang linje pånær de 3 sidste
> linjer?

Lidt grimt at kigge på vil de fleste nok mene, men bortset fra det
betyder det ikke noget.


/Bent

Peter (04-10-2004)
Kommentar
Fra : Peter


Dato : 04-10-04 16:00

Lars Brink wrote:
> Jeg har kopieret koden direkte fra
> http://www.hjemmesideskolen.dk/scripts/phpmail.php
>
> så jeg regnede med at den var ok. Mit problem er at jeg simpelthen ikke aner
> hvordan man skriver de koder - jeg plejer kun at bruge GoLive uden at skrive
> koder.

Kan du ikke angive et link til en .phps fil så vi kan se sourcen lidt
bedre formateret, det burde ikke give problemer at sende en mail, parse
error's forsages ofte af at der mangler et ; et sted eller der er
uafsluttede paranteser, det kan lade sig gøre at tjekke uden at være php
kyndig

Erik Ginnerskov (04-10-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 04-10-04 17:18

Lars Brink wrote:
> Tak Bent
>
> Jeg har kopieret koden direkte fra
> http://www.hjemmesideskolen.dk/scripts/phpmail.php

Jeg er blevet gjort opmærksom på, at der havde desværre indsneget sig en
fejl i den viste kode. Fejlen er nu rettet. Men du kan få den her:

<?php
if(isset($_POST['submit'])) {
if(!empty($_POST['name']) && !empty($_POST['subject']) &&
!empty($_POST['email']) && !empty($_POST['message'])) {
if(@mail("navn@domæne.dk", strip_tags($_POST['subject']),
strip_tags($_POST['message']), "From: ".$_POST['name']."
<".$_POST['email'].">")) {
echo "<p>Tak for din henvendelse. Jeg vender tilbage så hurtigt som
muligt.</p>";
}
else{
echo "<p>E-mailen blev ikke sendt. Der skete en fejl. Prøv igen!</p>";
}
}
else{ echo "<p>Alle felter skal udfyldes!</p>";
}
}
?>

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://html-faq.dk
http://ginnerskov.frac.dk



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

Månedens bedste
Årets bedste
Sidste års bedste