PHP: Formular de comandă


Un cititor mi-a scris astăzi că ar vrea un formular de comandă. L-am trimis la articolul PHP: Trimiterea de emailuri, dar nu i-a fost suficient. Dorea mai mult decât un exemplu de trimitere de email cu PHP: datele de trimis să vină dintr-un formular. Am conceput atunci un cod stupid şi deloc aranjat (fără CSS, tabele sau altceva) pentru ca să fie doar esenţialul, de aranjat după bunul plac (şi cunoştinţe). De asemenea am încercat să acopăr cam tot ce ar fi util: câmpuri text, textarea, select, radio, checkbox… Cine înţelege codul îl poate folosi pentru formular de comandă, de înscriere, de contact… Ingredientele sunt puse.

Am testat codul (evident punând adresa mea în loc de fictiva comenzi@mamagagazizi.ro) şi a mers :) . Succes în adaptare oricui ar putea avea nevoie.

[PHP]



Magazinul MamaGagaZizi


\r\n”;
$antet .= „MIME-Version: 1.0\r\n”;
$boundary = uniqid(„HTMLEMAIL”);
$antet .= „Content-Type: multipart/alternative;”.
„boundary = $boundary\r\n\r\n”;
$antet .= „This is a MIME encoded message.\r\n\r\n”;
$antet .= „–$boundary\r\n”.
„Content-Type: text/plain; charset=ISO-8859-2\r\n”.
„Content-Transfer-Encoding: base64\r\n\r\n”;
$antet .= chunk_split(base64_encode(strip_tags($mesaj)));
$antet .= „–$boundary\r\n”.
„Content-Type: text/html; charset=ISO-8859-2\r\n”.
„Content-Transfer-Encoding: base64\r\n\r\n”;
$antet .= chunk_split(base64_encode($mesaj));
return mail($catre,$subiect,””,$antet);
}
if(isset($_GET[‘trimitere’])){
$text = „

Comanda curentă vine din partea următoarei persoane:

„;
$text .= „Nume: „.$_POST[‘nume’].”
„;
$text .= „Adresa: „.str_replace(„\n”,”
„,$_POST[‘adresa’]).”
„;
$text .= „

Este: „.$_POST[‘tara’].”.

„;
$text .= „

Comanda include:

„;
$text .= „Morcovi: „.$_POST[‘morcovi’].” buc
„;
$text .= „Făină: „.$_POST[‘faina’].” kg
„;
$text .= „

Va plăti prin „.$_POST[‘plata’].”.

„;
$text .= „

Ar dori următoarele cadouri: „;
foreach($_POST[‘cadou’] as $cadou){
$text .= $cadou.”; „;
}
$text .=”

Sfârşitul comenzii.

„;
//marcaţi următoarea linie dacă nu se doreşte afişarea
echo $text;
trimiteEmail($text,”Magazinul MamaGagaZizi”,”mamagagazizi@gmail.com”,”comenzi@mamagagazizi.ro”,”O noua comanda”);
}
?>

Nume complet

Adresa completă

român
străin


Morcovi
buc
Făină
kg


Plătesc prin
Aş vrea cadou:
ceas
vapor
migrenă


[/PHP]


Apreciază articolul:

1 stea2 stea3 stea4 stea5 stea (9 evaluări, media: 4,11 din 5)
Loading...Loading...

9 comentarii

  1. caty spune:

    Buna! Am pus codul pe blogul meu, si imi arata numai casutele si ce e scris de la nr 46 pana la 62. Restul randurilor raman asa, fara sa se schimbe. Daca nu ai inteles intrebarea mea, imi poti face te rog muult un cod html cu un formular de trimitere comanda cu Nume Intreg, Adresa completa, E-mail, Telefon, Oras, Judet,Cod Postal, Produse. Si sa fie acel buton „trimite comanda”, si atunci cand cineva face o comanda, dand click pe „trimite comanda”, sa imi apara mesajul in mailul meu?Poti folosi un mail inventat si atunci cand eu copii codul sa il pun pe al meu? Pleaseee.

  2. radu.capan spune:

    Codul de mai sus e functional. Nu pot da un alt exemplu decat… acelasi. Pe un blog nu se poate pune un cod PHP asa cum s-ar pune un text normal. In functie de tipul de blog (Blogger? WordPress?) problema se rezolva altcumva.

  3. mihaela spune:

    Buna seara. Foarte interesant cea ce ati scris dumneavoastra. Intrebarea mea este daca merge sa pun acest formular si pe bloguri cu platforma gratuita cum este cel de la WordPress.com.
    Eu am un blog cu vanzare si m-ar ajuta foarte mult un asemenea formular. Daca merge, ce trebuie schimbat?

  4. radu.capan spune:

    Pe blogurile WordPress.com sunteţi limitată la ce oferă nativ platforma. Trebuie să vedeţi dacă nu există vreun plugin suportat de WordPress.com în sensul dorit de Dvs.

  5. Alex spune:

    Ce parere ai de site-urile specializate in formulare customizable, gen http://www.formulareonline.ro ?

  6. adrian spune:

    Salut; nu functioneaza!
    Am salvat codul intr-un fisier index.html, utilizand notepad.
    L-am urcat pe server, imi arata doar texte aiurea.

    De ce minti ca l-ai testat?

  7. radu.capan spune:

    Of, of… Trebuie sa fie salvat ca fisier PHP, adica ceva de genul cenumedefisiervreau.php. Si trebuie sa ruleze pe un server ce suporta PHP. Altfel evident nu merge. Pe viitor poate te vei controla inainte sa arunci acuze.

  8. Ela spune:

    Nu e rau formularul. Nu stiu insa , mie imi da o eroare de cod php. Am incercat sa il adaptez dupa nevoile mele.
    Warning: Missing argument 5 for trimiteEmail(),

  9. Bogdan spune:

    Eroarea zice ca lipseste argumentul „Subiect”. L-ai modificat pana l-ai stricat complet. :)


Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile necesare sunt marcate *