trimitere formular simultan EMAIL and POST

Secţiune dedicată începatorilor.

Moderatori: Moderatori, Start Moderator


Avatar utilizator
The Dog
Average Member
Mesaje: 148
Membru din: Mar Noi 01, 2005 9:19 am

Mesajde The Dog » Vin Dec 08, 2006 2:19 pm


gcazaciuc
Average Member
Mesaje: 58
Membru din: Dum Mar 12, 2006 6:56 pm
Contact:

Mesajde gcazaciuc » Vin Dec 08, 2006 2:34 pm

Nu inteleg foarte exact care e nedumerirea ta, dar poti sa faci ceva de genul:
-Pentru trimiterea datelor de la formular la scriptul php care se ocupa cu introducerea acestora in baza de date:
creezi un formular de genul <form action="script.php" method="post">
<input type="text" name="nume" /></form>
Mai sus am creat formularul care va trimite datele la scriptul php aflat in pagina script.php folosind metoda post. Formularul contine un singur camp text, in care utilizatorul sa-si poata introduce de exemplu numele.
In scriptul denumit aici "script.php" preiei datele transmise din formular(in acest caz textul introdus in casuta text si care se afla in variabila tablou $_POST['nume'] ) si il introduci in baza de date ( pentru a afla cum se face asta da un search pe google sau in forum). Oricum pe scurt, pentru a introduce valori in baza de date trebuie sa te conectezi la masina pe care se afla aceasta(localhost de obicei) folosind mysql_connect, apoi selectezi o baza de date creata in prealabil (folosind mysql_select_db) dupa care lansezi interogarea ce introduce datele in baza de date(folosind mysql_query).
In fine, dupa ce ai introdus datele, creezi un mesaj text in pagina script.php, ceva de genul:
$mesaj="Nume ";
$mesaj.=$_POST['nume']; -concatezi numele introdus la mesaj
si apoi transmiti mesajul la adresa de email dorita folosind functia mail:
mail("adresa@abc.ro","subiect",$mesaj);
Aici e un exemplu simplu, dar poti sa creezi formulare mult mai complexe.
Sper sa-ti fie de folos.

Pushtiu
Average Member
Mesaje: 69
Membru din: Mie Dec 06, 2006 1:03 pm
Contact:

Mesajde Pushtiu » Vin Dec 08, 2006 2:36 pm

poti fi te rog mai explicit privind codul :D pls ..eu sunt la inceput de drum ..

Pushtiu
Average Member
Mesaje: 69
Membru din: Mie Dec 06, 2006 1:03 pm
Contact:

Mesajde Pushtiu » Vin Dec 08, 2006 2:38 pm

eu am facut totul pt metoda POST direect in baza de date ..si merge fara nici un fel de problema ..insa vrea ca in acelasi timp sa se trimite si in email acelasi formular

Avatar utilizator
The Dog
Average Member
Mesaje: 148
Membru din: Mar Noi 01, 2005 9:19 am

Mesajde The Dog » Vin Dec 08, 2006 2:49 pm

pune aici codul, ce faci cu post si zi-mi ce date vrei sa fie trimise prin email...

iti completez eu randul care trimite mail...

gcazaciuc
Average Member
Mesaje: 58
Membru din: Dum Mar 12, 2006 6:56 pm
Contact:

Mesajde gcazaciuc » Vin Dec 08, 2006 2:50 pm

Pai in acelasi fisier in care ai bagat datele in baza de date, dupa ce ai facut inserarea datelor creezi un mesaj text. Ceva de genul:
$mesaj="Campul 1 din formular";
$mesaj.=$_POST['camp1'];
$mesaj.="\nCampul 2 din formular";
$mesaj.=$_POST['camp2'];
........etc. cate campuri vrei tu sa transmiti
iar la sfarsit dupa ce ai creat mesajul il transmiti la adresa de email dorita folosind functia mail:
mail("adresa@yahoo.com","aici vine subiectul mesajului",$mesaj);
linia de mai sus trimite mesajul la adresa de email adresa@yahoo.com avand ca subiect "aici vine subiectul mesajului".
Referitor la ce am scris mai sus:
$mesaj.=$_POST['camp1'] este echivalent cu $mesaj=$mesaj.$_POST['camp1']
Punctul(.) este operatorul de concatenare siruri din php deci liniile
$mesaj="Campul 1 din formular";
$mesaj.=$_POST['camp1'];
pun in variabila mesaj valoarea "Campul 1 din formular:...", unde in loc de ... vine valoarea campului 1.
Simbolul \n din urmatoarea linie determina saltul la o linie noua, atunci cand vizualizezi mesajul(pentru a nu fi toate campurile pe aceeasi linie).

Pushtiu
Average Member
Mesaje: 69
Membru din: Mie Dec 06, 2006 1:03 pm
Contact:

Mesajde Pushtiu » Vin Dec 08, 2006 2:54 pm

spune si mie la ce este mai jos
<?php
$_SESSION['nume'] = $_POST['nume'];
$_SESSION['prenume'] = $_POST['prenume'];
$_SESSION['cnp'] = $_POST['cnp'];
$_SESSION['email'] = $_POST['email'];
$_SESSION['telefon'] = $_POST['telefon'];
$_SESSION['adresa'] = $_POST['adresa'];
$_SESSION['localitatea'] = $_POST['localitatea'];
$_SESSION['judet/sector'] = $_POST['judet/sector'];
$_SESSION['cod postal'] = $_POST['cod'];
$_SESSION['alte detalii'] = $_POST['altele'];
echo '
<TR>
<TD vAlign=top width=200 bgColor=#edf9fd class=mg8vp>Nume</TD>
<TD vAlign=top width=450 bgColor=#ffffff class=mg8vp>'.$_SESSION['nume'].'</TD></TR>
<TR>
<TD vAlign=top width=200 bgColor=#edf9fd class=mg8vp>Prenume</TD>
<TD vAlign=top width=450 bgColor=#ffffff class=mg8vp>'.$_SESSION['prenume'].'</TD></TR>
<TR>
<TD vAlign=top width=200 bgColor=#edf9fd class=mg8vp>CNP</B></FONT></TD>
<TD vAlign=top width=450 bgColor=#ffffff class=mg8vp>'.$_SESSION['cnp'].'</FONT></TD></TR>
<TR>
<TD vAlign=top width=200 bgColor=#edf9fd class=mg8vp>E-mail</FONT></B></TD>
<TD vAlign=top width=450 bgColor=#ffffff class=mg8vp>'.$_SESSION['email'].'</FONT></TD></TR>
<TR>
<TD vAlign=top width=50% bgColor=#edf9fd class=mg8vp>Telefon</FONT></B></TD>
<TD vAlign=top width=50% bgColor=#ffffff class=mg8vp>'.$_SESSION['telefon'].'</FONT></TD></TR>
<TR>
<TD vAlign=top width=200 bgColor=#edf9fd class=mg8vp>Adresa</B></TD>
<TD vAlign=top width=400 bgColor=#ffffff class=mg8vp>'.$_SESSION['adresa'].'</FONT></TD></TR>
<TR>
<TD vAlign=top width=50% bgColor=#edf9fd class=mg8vp>Localitatea</B></TD>
<TD vAlign=top width=50% bgColor=#ffffff class=mg8vp>'.$_SESSION['localitatea'].'</TD></TR>

<TR>
<TD vAlign=top width=50% bgColor=#edf9fd class=mg8vp>Judet/Sector</B></TD>
<TD vAlign=top width=50% bgColor=#ffffff class=mg8vp>'.$_SESSION['judet/sector'].'</TD></TR>
<TR>
<TD vAlign=top width=50% bgColor=#edf9fd class=mg8vp>Cod postal</B></TD>
<TD vAlign=top width=50% bgColor=#ffffff class=mg8vp>'.$_SESSION['cod postal'].'</TD></TR>
<TR>
<TD vAlign=top width=50% bgColor=#edf9fd class=mg8vp>Alte detalii</B></TD>
<TD vAlign=top width=50% bgColor=#ffffff class=mg8vp>'.$_SESSION['alte detalii'].'</TD></TR>


cum introduc si metoda de mail

if(($_POST['email'] == '') || ($_POST['nume'] == '') || (is_numeric($_POST['nume'])) ||
($_POST['prenume'] == '') || (is_numeric($_POST['prenume'])) || ($_POST['mesaj'] == ''))
else {
$catre = 'mail@yahoo.com';
$data_trimitere = date('d-m-Y H:i:s');
$mesaj = ' TABELUL DE SUS SA FIE TOT AICI INCLUZ ..dar sa nu'l scriu de doua ori :D '
$headere = "MIME-Version: 1.0\r\n";
$headere .= "Content-type: text/html; charset=iso-8859-1\r\n";
headere .= "From: ".$_POST['nume']." ".$_POST['prenume']."<".$_POST['email'].">\r\n";
mail($catre, $mesaj, $headere);
echo 'Mesaj trimis';
}
?>

asd
New Member
Mesaje: 4
Membru din: Lun Dec 18, 2006 5:19 pm

Mesajde asd » Lun Dec 18, 2006 5:57 pm

Religia este o plaga pentru omenire.


Înapoi la “PHP Incepători”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 28 vizitatori