Uždaryti
Jei aktyviai domiesi kompiuterinės grafikos naujovėmis, web dizainu, svetainių kūrimu, užsiprenumeruok E-grafika.lt turinį per RSS!
Nori pareikšti savo nuomonę? Peržiūrėti video pamokas? Gauti tik nariams prieinamų resursų? Sužinoti apie naujienas pirmasis? Tada registruokis!
Jeigu jau esi užsiregistavęs, prisijunk ir diskutuok forumuose, komentuok naujienas, straipsnius, video pamokas, bendrauk su kitais bendruomenės nariais!

Diskusijų forumai


Diskusijų forumai   »   Pagrindinės diskusijos   »   Svetainių kūrimas ir priežiūra   »   Kontaktų forma su PHP

Kontaktų forma su PHP

savas155 Tema paskelbta: 2010-01-07 14:51:34

Bendruomenės narys

savas155
Užsiregistravo: 2010-01-04
Pranešimų forumuose: 31
Parašė komentarų: 0
pasidariau kontaktų formą, tik man į emailą atsiunčia tuščią laišką, o turėtų atsiūsti visa tai, kas reikalinga kontaktų formoi.

ką reik daryt?
 

Atsakymai į temą

infactor Atsakymas parašytas: 2010-01-07 15:18:47   [ #694 ]   Atsakymo ID: 694 Ilgalaikė nuoroda į atsakymą

Svetainės administratorius

infactor
Užsiregistravo: 2008-08-29
Pranešimų forumuose: 71
Parašė komentarų: 5
Būtų gerai, kad ir kodą parodytum.

Bet pabandyk kur vykdo laiško siuntimą išvesti iš formos perduodamas reikšmes, pvz.:
echo $_POST['vardas'];


Ir pasižiūrėk ar išveda ką nors. Jei ne, tai manau suprasi kur ieškot klaidos.
 
savas155 Atsakymas parašytas: 2010-01-07 16:13:04   [ #697 ]   Atsakymo ID: 697 Ilgalaikė nuoroda į atsakymą

Bendruomenės narys

savas155
Užsiregistravo: 2010-01-04
Pranešimų forumuose: 31
Parašė komentarų: 0
Va kodai:

contact.php:
 
<? 
$subject="from ".$_GET['Name']; 
$headers= "From: ".$_GET['Password']."\n"; 
 $headers.='Content-type: text/html; charset=iso-8859-1'; 
mail("xxxxx@hotmail.com", $subject,  " 
<html> 
<head> 
 <title>Contact letter</title> 
</head> 
<body> 
 
<br> 
  ".$_GET['message']." 
</body> 
</html>" , $headers); 
echo ("Your message was successfully sent!"); 
?> 
<script> 
	resizeTo(300, 300) 
	//window.close() 
</script>


kontaktai.html:

<form action="contact.php" method="get">    
Name: <input type="text" size="10" maxlength="40" name="name"> <br /> 
Password: <input type="password" size="10"  
maxlength="10" name="password"><br / 
 
<input type="reset"> <input type="submit">  
</form>
  Paskutinį kartą atsakymą redagavo savas155 (2010-01-07 16:13:25), redaguota kartų: 1
 
adijux Atsakymas parašytas: 2010-01-10 17:42:56   [ #738 ]   Atsakymo ID: 738 Ilgalaikė nuoroda į atsakymą

Svetainės administratorius

adijux
Užsiregistravo: 2008-08-28
Pranešimų forumuose: 352
Parašė komentarų: 47
Formoms duomenims siųsti reikia naudoti ne $_GET, o $_POST. 

<form action="contact.php" method="post">     
Name: <input type="text" size="10" maxlength="40" name="name"> <br />  
Password: <input type="password" size="10" maxlength="10" name="password"><br / > 
  
<input type="reset"> <input type="submit" name="submit">   
</form>

 
<?php 
 
// Jeigu buvo paspaustas išsiuntimo mygtukas. 
if(isset($_POST['submit'])) 
{ 
    $headers = ''; 
    $name = $_POST['name']; 
    $password = $_POST['password']; 
    $message = $_POST['message']; // pas tave formoje nėra laukelio pavadinimu message. 
    
    $headers .= 'Content-type: text/html; charset=iso-8859-1';  
 
    $subject = "Laiskas gautas nuo: ". $name; 
    $body = "<html>  
    <head>  
     <title>Contact letter</title>  
    </head>  
    <body>  
  
    <br>  
      ". $message ."  
    </body>  
    </html>"; 
 
    mail("xxxxx@hotmail.com", $subject, $body, $headers);  
} 
 
?> 


Pas tave bėda dar ir tame, jog tu PHP kode nurodei laukelių pavadinimus didžiąja raide ($_GET['Name'], $_GET['Password']), nors pačių laukelių pavadinimai yra kitokie (name, password). Taigi „Name“ nėra tas pats kas „name“ (kitaip sakant, case sensitive).