ugrás a tartalomhoz

PHP űrlap probléma

Anonymous · 2004. Jún. 7. (H), 07.58
Üdv mindenkinek

kezdő PHP-s vagyok, ezért kérném a segítségeteket.
Lévén, hogy még nem tudok PHP-t programozni, kerestem és találtam a köv. scriptet, mely kiválóan működik, csupán egy hiányossága van: amikor megérkezik a megadott címre az űrlap, a From(Feladó) helyén csak egy nagy semmi van. Nos, meg lehet-e oldani azt, hogy az űrlap 'name' szövegmező sorába írt nevet jelenítse meg a levelezőprogram. A script végtelenül egyszerű, ime:

<?

$To = "kirby1##kukac##axelero.hu";

$From = "Akarki";

$Date = date("d/m/Y");

if (!$Subject) {
$Subject = "Árajánlat kérés";
}

$Body = "On $Date, an enquirey was made at the Your Website \n".
"The following information was submitted:\n\n";

foreach ( $HTTP_POST_VARS as $key => $value ) {
if ($key=="Submit") continue;
$Body .= "$key: $value\n";
}

if (mail($To,$Subject,$Body,"From: $name <$email>")) {
header("location: http://www.hitmetal.hu/thanx.html");
} else {
echo("Could not process your order.<br>".
"Please try again later<br>".
"We are sorry for any inconvenience");
exit();
}
?>

Szóval próbálkoztam már a $From = "$name"; sorral is, lehet, hogz naív vagyok, de így sem működött. Sőt, most a jelenlegi állapotában sem küldi el az 'Akarki' feladót.
Nagyon megköszönném, ha valaki segítene.

Norbert
 
1

Hmm, egy pár sajtóhiba...

Thom · 2004. Jún. 7. (H), 10.56
Nos, egy pár sajtóhiba maradt benne:
1.
$Date = date("d/m/Y");
ez így nem jó. Helyesen:
$Date = date("d/m/Y", time()); //ez lesz az aktuális dátum

2.
$From = "Akarki"; és:
if (mail($To,$Subject,$Body,"From: $name <$email>")
ez akár jó is lehetne, de a $From van defíniálva, azt pedig nem használod fel később. A küldő űrlapot nem látni, ha abban vannak ilyen mezők:
<INPUT type="text" name="name">
<INPUT type="text" name="email">
akkor oké, de gyanítom, hogy nincsenek. Te ezeknek az elküldött értékét akarod beírni a levélbe ugye? Ahhoz persze a látogatónak ki kell töltenie azokat (feldolgozáskor ellenőrízendő!) és el kell küldeni a feldolgozó scriptnek.
A $From = "$name"; sor nem segít, fordítva: "$name" = $From; már látsz valamit, így viszont nem látom értelmét.

Ja, és a küldött adatokat tanácsosabb a $urlap_kuldte forma helyett $_POST["urlap_kuldte"] módon feldolgozni. Ugye tudod, miért?
Egyelőre ennyi vettem észre.

Üdv: Thom
[ThomasWebMűhely] [ThomasPortál]
2

szia Thom elöször is nag

Anonymous · 2004. Jún. 7. (H), 19.39
szia Thom

elöször is nagyon köszi a gyors választ.
nos: az űrlapban szerepelnek eme sorok:
<INPUT type="text" name="name">
<INPUT type="text" name="email">
és pontosan, ahogy írod, ezeknek az értékét, de elég lenne, ha csak a 'name'-nek az értékét venné föl a $From. De nem teszi, pont ez a gondom. Lehet, hogy meg kell fordítanom, ahogy említetted.......kipróbálom....
Ha van még 5leted, nagyon megköszönöm!

Norbeee
3

register globals

Bártházi András · 2004. Jún. 7. (H), 22.45
Csak a szokásos register globals=off okozta problémáról van szó megint szerintem. Lásd itt a biztonságról szóló résznél...

-boogie-
4

talaltam egy masik scriptet i

Anonymous · 2004. Jún. 8. (K), 10.24
talaltam egy masik scriptet is. ez marha jo mert elkuldi a 'name' mezoben szereplo erteket, viszont az a baja, hogy
a level 'body' reszebe nem irja a nev-ertek parokat, csak az erteket. Ime:

<?php

$from = $_POST['from'];
$subject = $_POST['subject'];
$message = $_POST['message'];
$to = $_POST['to'];

$to="$to";
$headers.= "MIME-Version: 1.0\r\n";
$headers.= "Content-type: text/html; ";
$headers.= "charset=iso-8859-1\r\n";

$headers.= "From: $from";

$subject = "$subject";
$body = "$message";

$send_check=mail($to,$subject,$body,$headers);
if ($send_check!=true) {
die();
}

?>

szal' a kettobol kellene osszegyurni valamit.
Megkoszonnem a segitsegeteket.

-Norbeee-
5

Kedves Norbeee! Szerintem ez

Thom · 2004. Jún. 8. (K), 18.00
Kedves Norbeee!
Szerintem ez a fórum nem arról szól, hogy az itt-ott talált kódrészleteidből összegyúrjunk neked egy céljaidnak megfelelő levélküldőt. Ha valaki írna is neked egyet, a következő feladatnál ismét megakadnál.
Inkább ajánlanám a kódok elemzését (mi mit és miért csinál), próbálni írni valamit, akár egyszerűbbel kezdve, és szépen felépíteni egy saját levélküldőt. Hidd el, nem ördöngősség, és a tesztelgetések közben sokat lehet tapasztalni.
Kezdetnek mindjárt egy kis olvasnivaló (magyarul):
http://hu2.php.net/manual/hu/ref.mail.php
(A leírt kódod egyébként önmagában ismét nem mond sokat a hozzá tartozó űrlap nélkül.)

Üdv: Thom
[ThomasWebMűhely] [ThomasPortál]