php.hr
Dobrodošli, Gost. Molimo, prijavite se ili se registrirajte.
23.01.2025., 07:31
1878 Postova 1000 Tema 442 Članova
Najnoviji Član: medolino
php.hr  |  PHP & MySQL  |  PHP  |  Problem sa slanjem podataka iz forme na mail « natrag naprijed »
 Str: [1]
Autor Tema: Problem sa slanjem podataka iz forme na mail  (Posjeta: 3623 )
.:Dalibor:.
Novi član
*
Offline Offline

Postova: 9



Profil
« : 26.01.2007., 21:49 »

Imam formu preko koje šaljem podatke na mail.
Poruka koja se šalje je formatirana na sljedeći način:
*******************
Kod: (php)
...
// sadržaj poruke koja se šalje na e-mail
$poruka = "<pre>
-----------------------------------------------------------------------------
".$subject."
-----------------------------------------------------------------------------
".$ime." je dana ".date("d.m.Y.")." posjetio vaše stranice i naručio sljedeće:
</pre>
<div style=\"font:bold 13px Courier New;\">Narudžba glasi: </div>
<div style=\"position:relative; width:20px; z-index:1; left:0px; top:0px; font:normal 13px Courier New;\">
<div style=\"position:absolute; width:130px; z-index:1; left:30px; top:-1px;\">
". $nar ."
</div>
". $kol ."
</div>
<pre><b>Podaci o naručitelju: </b>
Ime: $ime
E-mail: $email
Adresa: $adresa
IP: $ip
</pre>
";
...
**********************
Mail se šalje naredbom:
Kod:
mail($mail, $subject, $poruka);

Problem je u tome što se formatiranja prenesu kroz formu kao znakovi, a meni bi trebalo da se prenese kao formatiranje.

Eto, molim odgovor!
« Zadnja izmjena: 27.01.2007., 15:02 ttc » Evidentirano

ttc
Administrator
PHP Programer
*****
Offline Offline

Postova: 111



Profil WWW
« Odgovor #1 : 27.01.2007., 15:11 »

Funkcija za slanje bi trebala izgledati ovako
Kod: (php)
mail($mail, $subject, $poruka, $headers);
Gdje se header inicijalizira ovako
Kod: (php)
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
$headers .= "From: \"".$fromime."\" <".$fromaddress.">\n";;
$headers .= 'Cc: ' . "\r\n";
$headers .= 'Bcc: ' . "\r\n";
Evidentirano
.:Dalibor:.
Novi član
*
Offline Offline

Postova: 9



Profil
« Odgovor #2 : 28.01.2007., 14:09 »

Možda nisam dovoljno pojasnio...

Radim jednostavnu narudžbu artikala preko forme.
Ponuđene su stavke (kao checkboxi) i pokraj dropdown meni sa izborom količine. To pošaljem skripti koja to obradi i treba mi na mail poslati narudžbu, ali u formatu
5   prva stavka
4   druga stavka
...

Smislio sam gornje rješenje koje baš i ne funkcionira kako bih želio.
$nar je naziv artikla, a $kol je željena količina tog artikla.
Ako netko ima ideju...
Evidentirano

c0dr3x
PHP Programer
***
Offline Offline

Postova: 133



Profil WWW
« Odgovor #3 : 29.01.2007., 17:51 »

jesi isprobao kod od ttc-a???

Citat:
Kod: (php)
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
Evidentirano
ttc
Administrator
PHP Programer
*****
Offline Offline

Postova: 111



Profil WWW
« Odgovor #4 : 01.02.2007., 03:25 »

Postaj cijeli kod, negdje griješiš pa da vidimo...
Evidentirano
.:Dalibor:.
Novi član
*
Offline Offline

Postova: 9



Profil
« Odgovor #5 : 01.02.2007., 22:55 »

OK, ovo je formular:
Kod:
<FORM ACTION="<?=$PHP_SELF?>" METHOD="POST" NAME="contactform" ONSUBMIT="return checkFields()">
<table id="table"><tr>
<td width="106">Ime i prezime:</td>
<td><INPUT class="form" TYPE="TEXT" NAME="ime" size="27"></td>
</tr><tr>
<td width="106">E-mail:</td>
<td><INPUT class="form" TYPE="TEXT" NAME="email" size="27"></td>
</tr><tr>
<td width="106" valign="top">Adresa:</td>
<td><TEXTAREA class="form" NAME="adresa" ROWS="3" cols="20"></TEXTAREA></td>
</tr><tr>
<td width="106" valign="top">Narudžba:</td>
</tr><tr>
<td><input type="checkbox" name="narudzba[]" value="red"> Red <br></td>
<td><input name="kolicina[]" type="text" size="2" value="0"></td>
</tr><tr>
<td><input type="checkbox" name="narudzba[]" value="black"> Black <br></td>
<td><input name="kolicina[]" type="text" size="2" value="0"></td>
</tr><tr>
<td><input type="checkbox" name="narudzba[]" value="blue"> Blue <br></td>
<td><input name="kolicina[]" type="text" size="2" value="0"></td>
</tr>
</table>

   <div align="left">
      <INPUT TYPE="hidden" NAME="browser" VALUE='<?=$browser?>'>
  <INPUT TYPE="hidden" NAME="form" VALUE='process'>
  <input type="hidden" name="token" value="<?=$token?>" />
      <INPUT class="button" TYPE="SUBMIT" NAME="submit" VALUE="Pošalji upit">&nbsp;
      <INPUT class="button" TYPE="RESET" NAME="Reset1">
   </div>
</FORM>

U skripti koja to obrađuje pokupim podatke
Kod:
// Prikupljanje podataka iz forme
$ime = $_POST['ime'];
$email = $_POST['email'];
$adresa = $_POST['adresa'];
$upit = $_POST['upit'];
$ip = $_SERVER['REMOTE_ADDR'];
$narudzbe = $_POST['narudzba'];
$kolicine = $_POST['kolicina'];

Filtriram podatke, te izradim popis narudžbe
Kod:
// Izrada popisa narudžbe 
if ($narudzbe)
 {
 foreach ($narudzbe as $narudzba) // prolazimo kroz vektor narudzba i ispisujemo njegove vrijednosti
  { $nar .= $narudzba . '<br>'; }
 foreach ($kolicine as $kolicina) // prolazimo kroz vektor količina i ispisujemo njegove vrijednosti
  {
   if ($kolicina > 0) {$kol .= $kolicina . ' ';}
  }
 }

Zatim sastavim poruku koja se šalje na mail
Kod:
$headers = 'MIME-Version: 1.0' . "\n";
$headers .= 'Content-Type: text/html; charset=iso-8859-1' . "\n";
$headers .= "From: \"".$ime."\" <".$email.">\n";
$headers .= 'Cc: ' . "\n";
$headers .= 'Bcc: ' . "\n";
$poruka = "<pre>
-----------------------------------------------------------------------------
".$subject."
-----------------------------------------------------------------------------
".$ime." je dana ".date("d.m.Y.")." posjetio vaše stranice i naručio sljedeće:
</pre>
<div style=\"font:bold 13px Courier New;\">Narudžba glasi: </div>
<div style=\"position:relative; width:20px; z-index:1; left:0px; top:0px; font:normal 13px Courier New;\">
<div style=\"position:absolute; width:130px; z-index:1; left:30px; top:-1px;\">
". $nar ."
</div>
". $kol ."
</div>
<pre><b>Podaci o naručitelju: </b>
Ime: $ime
E-mail: $email
Adresa: $adresa
IP: $ip
</pre>
";

Te pošaljem e-mail!
Kod:
// Šalje e-mail sa unesenim podacima i ispisuje poruku dali je slanje uspjelo ili ne
if (mail($to, $subject, $poruka, $headers))
 { echo "\n Vaša poruka je uspješno poslana!\n <meta http-equiv='refresh' content='2; url=$stranice'>"; }
else
 { echo "\n Greška prilikom slanja! Pokušajte ponovno!\n <meta http-equiv='refresh' content='2; url=$kontakt_forma'>"; }
}

Eto to je bitni dio koda, pa ako vidite problem...
Evidentirano

 Str: [1]
php.hr  |  PHP & MySQL  |  PHP  |  Problem sa slanjem podataka iz forme na mail « natrag naprijed »
    Skoči na: