Diskusijų forumai
Diskusijų forumai     Tinklalapių kūrimas ir programavimas     PHP/MySQL     Kontaktų forma su PHP



Kontaktų forma su PHP

savas155
Bendruomenės narys

 
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ą

Irmantas
Tinklalapio šeimininkas

 
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
Bendruomenės narys

 
Va kodai:

contact.php:
<?
$subject="from ".$_GET['Name'];
$headers= "From: ".$_GET['Password']."\n";
 $headers.='Content-type: text/html; charset=iso-8859-1';
mail("", $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>
Pask. redagavo savas155 (2010-01-07 16:13:25), redaguota kartų: 1

Edmundas
Tinklalapio šeimininkas

 
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("", $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).