/ 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
Til Bent, Michael, Peter og Erik
Fra : Lars Brink


Dato : 05-10-04 08:37

Hej allesammen

1000 tak for jeres hjælp.
Jeg er blevet meget klogere, men åbenbart ikke klog nok.
Bent har helt ret i at der manglede sammenhæng mellem bestillingsformularen
og php scriptet.
Jeg prøvede ud fra min logiske sans at skrive koderne så de refererede til
svarfelterne i formularen. Men der er for mange steder jeg går kold og det
virker stadig ikke...desværre.

Jeg ville blive meget glad hvis en af jer kunne løbe dem igennem og se hvor
det går galt.

Jeg kan godt se at det er lidt urimeligt at forvente at i gør det gratis.
Siden laver jeg til min kone - så der er jo ikke rigtigt nogen penge i
projektet - jeg er grafiker og kan måske gi' igen med noget grafisk support
eller min kone kunne nok overtales til at lave en flot kæde ell. lign. som
honorar (hun designer også smykker)

Hvis nogen gider hedder siden jo www.perlenet.dk og det er formularen under
"bestilling" der skal sendes. Der er også nogle andre problemer med siden -
bl.a. kan jeg ikke få min roll-over funktion på knapperne til at virke på
andet end min egen computer (som selvfølgelig er en Mac - det gør det ikke
lettere)

Hilsen fra Lars

PHP scriptet som formularen sender til ser 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">
<title>Untitled Page</title>
</head>

<body bgcolor="#ffffff">
<p>
<?php
if(isset($_POST['submit'])) {
if(!empty($_POST['Navn']) && !empty($_POST['Adresse']) &&
!empty($_POST['Postnr']) && !empty($_POST['By']) &&
!empty($_POST['Telefon']) && !empty($_POST['Email']) &&
!empty($_POST['Varenr 1']) && !empty($_POST['Antal 1']) &&
!empty($_POST['Stk. pris 1']) && !empty($_POST['Ialtpris 1']) &&
!empty($_POST['Varenr 2']) && !empty($_POST['Antal 2']) &&
!empty($_POST['Stk. pris 2']) && !empty($_POST['Ialtpris 2']) &&
!empty($_POST['Varenr 3']) && !empty($_POST['Antal 3']) &&
!empty($_POST['Stk. pris 3']) && !empty($_POST['Ialtpris 3']) &&
!empty($_POST['Varenr 4']) && !empty($_POST['Antal 4']) &&
!empty($_POST['Stk. pris 4']) && !empty($_POST['Ialtpris 4']) &&
!empty($_POST['Varenr 5']) && !empty($_POST['Antal 5']) &&
!empty($_POST['Stk. pris 5']) && !empty($_POST['Ialtpris 5']) &&
!empty($_POST['Varenr 6']) && !empty($_POST['Antal 6']) &&
!empty($_POST['Stk. pris 6']) && !empty($_POST['Ialtpris 6']) &&
!empty($_POST['Varenr 7']) && !empty($_POST['Antal 7']) &&
!empty($_POST['Stk. pris 7']) && !empty($_POST['Ialtpris 7']) &&
!empty($_POST['Varenr 8']) && !empty($_POST['Antal 8']) &&
!empty($_POST['Stk. pris 8']) && !empty($_POST['Ialtpris 8']) &&
!empty($_POST['Varenr 9']) && !empty($_POST['Antal 9']) &&
!empty($_POST['Stk. pris 9']) && !empty($_POST['Ialtpris 9']) &&
!empty($_POST['Varenr 10']) && !empty($_POST['Antal 10']) &&
!empty($_POST['Stk. pris 10']) && !empty($_POST['Ialtpris 10']) &&
!empty($_POST['Varenr 11']) && !empty($_POST['Antal 11']) &&
!empty($_POST['Stk. pris 11']) && !empty($_POST['Ialtpris 11']) &&
!empty($_POST['Varenr 12']) && !empty($_POST['Antal 12']) &&
!empty($_POST['Stk. pris 12']) && !empty($_POST['Ialtpris 12']) &&
!empty($_POST['Totalpris'])) {
if(@mail("mail@perlenet.dk", strip_tags($_POST['subject']),
strip_tags($_POST['message']), "From: ".$_POST['name']."
<".$_POST['email'].">")) {
echo "<p>Tak for din ordre. Vi ekspederer den 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>";
}
}
?>
</body>

</html>


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


Dato : 05-10-04 09:54

On Tue, 05 Oct 2004 09:37:00 +0200, Lars Brink wrote:

Din submit button, hedder stadig ikke submit, som formmail scriptet
forventer.


Enten ombøber du din submit button, til submit, og ikke submitButtonName,
eller du omskriver første phplinie til at være:

if(isset($_POST['submitButtonName'])){
istedet for
if(isset($_POST['submit'])){

Derudover er mellemrum vist ikke lovligt i variabel navne, så omdøb dine
inputfelter (og variabelnavne) så de ikke indeholder mellemrum.

--
mvh
Michael Foged

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


Dato : 05-10-04 12:57

wow...nu sker der da noget

Mange tak Michael

Dog kan jeg nu se at "alle felter skal udfyldes" må væk, for det skal jo
ikke være tvunget at udfylde hele ordreskemaet ud. Men kan man ikke bare
slette den del af php koden?

Når man så sender bestillingen virker det som om man vil maile 1GB..mindst!

Der sker et eller andet og man kan se at explorer arbejder på noget - MEGET
LANGSOMT - til sidst gå den i stå. Det burde da tage et splitsekund at maile
den formular?

Forhåbningsfulde hilsner

> Fra: Michael Foged <spamme@mogif.de>
> Organisation: T-Online
> Nyhedsgrupper: dk.edb.internet.webdesign.serverside.php
> Dato: Tue, 05 Oct 2004 10:53:54 +0200
> Emne: Re: Til Bent, Michael, Peter og Erik
>
> On Tue, 05 Oct 2004 09:37:00 +0200, Lars Brink wrote:
>
> Din submit button, hedder stadig ikke submit, som formmail scriptet
> forventer.
>
>
> Enten ombøber du din submit button, til submit, og ikke submitButtonName,
> eller du omskriver første phplinie til at være:
>
> if(isset($_POST['submitButtonName'])){
> istedet for
> if(isset($_POST['submit'])){
>
> Derudover er mellemrum vist ikke lovligt i variabel navne, så omdøb dine
> inputfelter (og variabelnavne) så de ikke indeholder mellemrum.
>
> --
> mvh
> Michael Foged


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


Dato : 05-10-04 14:00

On Tue, 05 Oct 2004 13:56:32 +0200, Lars Brink wrote:

> wow...nu sker der da noget
>
> Mange tak Michael

Det var såmænd så lidt.

> Dog kan jeg nu se at "alle felter skal udfyldes" må væk, for det skal jo
> ikke være tvunget at udfylde hele ordreskemaet ud. Men kan man ikke bare
> slette den del af php koden?

Doh, det burde jeg have sagt, men du bør dog som minimum kræve navn og
email felterne udfyldt, resten kan du bare slette igen.

> Når man så sender bestillingen virker det som om man vil maile
> 1GB..mindst!

Prøv at fjerne det @ der er foran mail() funktionen i dit script, så
skulle du få at vide om der sker fejl. Prøver du hjemmefra? Har du måske
lidt konfiguration at udføre. Prøv at uploade og teste fra serveren. Jeg
har lige testet på serveren, og der fik jeg at vide at alle felter skal
udfyldes.

> Det burde da tage et splitsekund at maile den formular?

ja

> Forhåbningsfulde hilsner

Det var hvad det kunne blive til denne gang;)

--
Venlig hilsen
Michael Foged

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


Dato : 05-10-04 14:03

Lars Brink wrote:
> Når man så sender bestillingen virker det som om man vil maile 1GB..mindst!
>
> Der sker et eller andet og man kan se at explorer arbejder på noget - MEGET
> LANGSOMT - til sidst gå den i stå. Det burde da tage et splitsekund at maile
> den formular?

I første omgang, få noget skruet sammen som funktionelt virker. Sikkert
en følgefejl af noget andet, så det ville jeg ikke bekymre mig om lige
til at starte med.

Prøv med det nedenstående.
-----------------------------------------
<?php
$user_message = "";

if(isset($_POST['submit'])) {
if( !empty($_POST['Navn']) && !empty($_POST['Adresse']) &&
!empty($_POST['Postnr']) && !empty($_POST['By']) &&
!empty($_POST['Telefon']) && !empty($_POST['Email'])
) {
$mail_modtager = 'mail@perlenet.dk';
$mail_subject = 'Bestilling fra '.$_POST['Navn'];
$mail_message = var_export($_POST, true);
$mail_headers = "From: \"{$_POST['Navn']}\""
. " <{$_POST['Email']}>\r\n";
$mail_headers .= "X-Mailer: perlnet.dk/sender.php\r\n";
$mail_headers .= "X-PostFrom: {$_SERVER['REMOTE_ADDR']}\r\n";

$mail_ok = @mail($mail_modtager, $mail_subject,
$mail_message, $mail_headers);

if($mail_ok) {
$user_message =
"<p>Tak for din ordre."
. " Vi ekspederer den s&aring; hurtigt som muligt.</p>";
} else {
$user_message =
"<p>E-mailen blev ikke sendt. Der skete en fejl.</p>"
. "Gem dennne side ved at v&aelig;lge 'gem som'"
. " under meuen filer og send i email til $mail_modtager"
. "<hr><pre>$mail_message</pre>";
}
} else {
$user_message =
"<p>Alle kontakt felter skal udfyldes!"
. " <a href='javascript:history.go(-1)'>"
. "Klik her for at gå tilbage og rette</a></p>";
}
} else {
$user_message =
"<p>Der skete en fejl!"
. " <a href='javascript:history.go(-1)'>Tilbage</a></p>";
}

?>
<!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">
<title>Untitled Page</title>
</head>
<body bgcolor="#ffffff">
<p><?php echo $user_message ?></p>
</body>
</html>


-------
Den mail du vil modtage er ikke specielt køn, da det bare er et dump af
samtlige formularfelter, men er nok noget man kan leve med.

/Bent

karlosDK (05-10-2004)
Kommentar
Fra : karlosDK


Dato : 05-10-04 13:03

Udover hvad Michael har påpeget, skal alle felter med varenummer, antal,
stk. pris og totalpriser være udfyldt, for at slippe igennem din if() fælde.

Man kan ikke regne med, at alle vil bestille 12 varenumre, så der skal vel
laves mulighed for, at bestille éen ting / éet varenummer alene??

//karlosDK

"Lars Brink" <lars@ad-man.dk> skrev i en meddelelse
news:BD881BBC.62EA%lars@ad-man.dk...
> Hej allesammen
>
> 1000 tak for jeres hjælp.
> Jeg er blevet meget klogere, men åbenbart ikke klog nok.
> Bent har helt ret i at der manglede sammenhæng mellem
> bestillingsformularen
> og php scriptet.
> Jeg prøvede ud fra min logiske sans at skrive koderne så de refererede til
> svarfelterne i formularen. Men der er for mange steder jeg går kold og det
> virker stadig ikke...desværre.
>
> Jeg ville blive meget glad hvis en af jer kunne løbe dem igennem og se
> hvor
> det går galt.
>
> Jeg kan godt se at det er lidt urimeligt at forvente at i gør det gratis.
> Siden laver jeg til min kone - så der er jo ikke rigtigt nogen penge i
> projektet - jeg er grafiker og kan måske gi' igen med noget grafisk
> support
> eller min kone kunne nok overtales til at lave en flot kæde ell. lign. som
> honorar (hun designer også smykker)
>
> Hvis nogen gider hedder siden jo www.perlenet.dk og det er formularen
> under
> "bestilling" der skal sendes. Der er også nogle andre problemer med
> siden -
> bl.a. kan jeg ikke få min roll-over funktion på knapperne til at virke på
> andet end min egen computer (som selvfølgelig er en Mac - det gør det ikke
> lettere)
>
> Hilsen fra Lars
>
> PHP scriptet som formularen sender til ser 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">
> <title>Untitled Page</title>
> </head>
>
> <body bgcolor="#ffffff">
> <p>
> <?php
> if(isset($_POST['submit'])) {
> if(!empty($_POST['Navn']) && !empty($_POST['Adresse']) &&
> !empty($_POST['Postnr']) && !empty($_POST['By']) &&
> !empty($_POST['Telefon']) && !empty($_POST['Email']) &&
> !empty($_POST['Varenr 1']) && !empty($_POST['Antal 1']) &&
> !empty($_POST['Stk. pris 1']) && !empty($_POST['Ialtpris 1']) &&
> !empty($_POST['Varenr 2']) && !empty($_POST['Antal 2']) &&
> !empty($_POST['Stk. pris 2']) && !empty($_POST['Ialtpris 2']) &&
> !empty($_POST['Varenr 3']) && !empty($_POST['Antal 3']) &&
> !empty($_POST['Stk. pris 3']) && !empty($_POST['Ialtpris 3']) &&
> !empty($_POST['Varenr 4']) && !empty($_POST['Antal 4']) &&
> !empty($_POST['Stk. pris 4']) && !empty($_POST['Ialtpris 4']) &&
> !empty($_POST['Varenr 5']) && !empty($_POST['Antal 5']) &&
> !empty($_POST['Stk. pris 5']) && !empty($_POST['Ialtpris 5']) &&
> !empty($_POST['Varenr 6']) && !empty($_POST['Antal 6']) &&
> !empty($_POST['Stk. pris 6']) && !empty($_POST['Ialtpris 6']) &&
> !empty($_POST['Varenr 7']) && !empty($_POST['Antal 7']) &&
> !empty($_POST['Stk. pris 7']) && !empty($_POST['Ialtpris 7']) &&
> !empty($_POST['Varenr 8']) && !empty($_POST['Antal 8']) &&
> !empty($_POST['Stk. pris 8']) && !empty($_POST['Ialtpris 8']) &&
> !empty($_POST['Varenr 9']) && !empty($_POST['Antal 9']) &&
> !empty($_POST['Stk. pris 9']) && !empty($_POST['Ialtpris 9']) &&
> !empty($_POST['Varenr 10']) && !empty($_POST['Antal 10']) &&
> !empty($_POST['Stk. pris 10']) && !empty($_POST['Ialtpris 10']) &&
> !empty($_POST['Varenr 11']) && !empty($_POST['Antal 11']) &&
> !empty($_POST['Stk. pris 11']) && !empty($_POST['Ialtpris 11']) &&
> !empty($_POST['Varenr 12']) && !empty($_POST['Antal 12']) &&
> !empty($_POST['Stk. pris 12']) && !empty($_POST['Ialtpris 12']) &&
> !empty($_POST['Totalpris'])) {
> if(@mail("mail@perlenet.dk", strip_tags($_POST['subject']),
> strip_tags($_POST['message']), "From: ".$_POST['name']."
> <".$_POST['email'].">")) {
> echo "<p>Tak for din ordre. Vi ekspederer den 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>";
> }
> }
> ?>
> </body>
>
> </html>
>



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