Kezdőoldal » Számítástechnika » Programozás » Hol a hiba a sendmail. Php-ben?

Hol a hiba a sendmail. Php-ben?

Figyelt kérdés

Egy egyszerű formot szeretnék az oldalra tenni, amivel lehet a cégnek üzenni. Viszont azt szeretném, ha nem töltötte ki a mezőket, akkor írja ki, hogy nem töltött ki minden mezőt (esetleg melyiket nem töltötte ki).


Az alábbi kódban mit rontottam el, hogy ezt nem teszi, hanem mindig azt írja ki, hogy elküldte.


<?php

if (isset ($_POST['your_name']) && isset($_POST['email_address']) && isset($_POST['msg_object']) && isset($_POST['comment']))

{

$their_name = $_POST['your_name'];

$their_email = $_POST['email_address'];

$their_object = $_POST['msg_object'];

$their_comment = $_POST['comment'];


$headers =

'From: $their_email' . "\r\n" .

'Reply-To: webmaster@cegnev.com' . "\r\n" .

'X-Mailer: PHP/' . phpversion();


if (mail ('info@cegnev.hu', 'Jelentkezés (web)',

"Név: $their_name

Email: $their_email

Tárgy: $their_object

Hozzászólás: $their_comment" . date('d/m/Y H:i:s'),

$headers))


echo 'A levél elment.';


else

echo 'Hiba történt.';

}

else

echo 'Valamelyik mezőt üresen hagytad';

?>


Előre is Köszönöm.



2013. júl. 17. 11:17
 1/5 anonim ***** válasza:
Hát szerintem attól még elküldi a változót csak üresen. Isset meg tudtommal nem azt jelenti, hogy üres-e, hanem azt, hogy létezik-e és létezni létezik csak üres. Próbáld meg az empty() functiont használni.
2013. júl. 17. 11:24
Hasznos számodra ez a válasz?
 2/5 anonim ***** válasza:
Nem ellenőrzöd hogy ki vannak-e töltve a mezők, csupán azt hogy a POST megérkezett-e. De attól, hogy egy POST változó üres még létezik, csak nincs tartalma.
2013. júl. 17. 11:24
Hasznos számodra ez a válasz?
 3/5 anonim ***** válasza:

Na már valaki megelőzött. :-) Igen szóval az a baj, hogy az isset nem ellenőrzi a tartalmat. De azért az isset-et is használd, csak iktass még be egy strlen-es ellenőrzést a változókra.

második voltam

2013. júl. 17. 11:26
Hasznos számodra ez a válasz?
 4/5 A kérdező kommentje:

Köszönöm a válaszokat. Azt értem, hogy mit kellene módosítanom, de a 'hogyan'-nak kicsit gonban vagyok.

Sajnos a php programozásban még kezdő vagyok. S bevallom a fenti kódot is nagy nehezen szedtem össze :). Ezért kérhetnék egy kicsit részletesebb segítséget? Például konkrétan mit változtassak :D


Előre is köszönöm a segítségeteket.

2013. júl. 17. 12:01
 5/5 anonim ***** válasza:

<?php

$hiba=0;

if (isset ($_POST['your_name']) && isset($_POST['email_address']) && isset($_POST['msg_object']) && isset($_POST['comment']))

{

if(strlen($_POST['your_name'])>0)

$their_name = $_POST['your_name'];

else $hiba=1;

... így a másik három változóra is.


} /*Itt zárd le az isset-es if ciklust*/


else{

echo 'Téves hivatkozás';

exit;

}

/*Új feltételt kezdünk:*/

if($hiba=0)

{

$headers =

'From: $their_email' . "\r\n" .

'Reply-To: webmaster@cegnev.com' . "\r\n" .

'X-Mailer: PHP/' . phpversion();


if (mail ('info@cegnev.hu', 'Jelentkezés (web)',

"Név: $their_name

Email: $their_email

Tárgy: $their_object

Hozzászólás: $their_comment" . date('d/m/Y H:i:s'),

$headers))


echo 'A levél elment.';


else

echo 'Hiba történt.';

}

else

echo 'Valamelyik mezőt üresen hagytad';

?>


Szerintem így kb jó. Próbáld ki.

2013. júl. 17. 13:04
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!