Jump to content

Php Iletişim Formu


Recommended Posts

Sevgili arkadaşlar;

php ile iletişim formu yaptım.Herşey düzgün çalışıyor ve websitemden bu form ile mesajlar direk mail adresime geliyor.Fakat ufak bir sorunum var.Email geliyor yalnız boş geliyor.Yani bana mail gönderenlerin yazdığı konu,isim,email vb alanlar boş geliyor.

Ben nerede hata yapmış olabilirim acaba. Edited by volkantr19
Link to comment
Share on other sites

Aşağıda kodları yazıyorum.Kontrol edebilirseniz sevinirim.(css,js ve image dosyalarını buraya yazmadım)..


[s]php kodum:[/s]


<?php

$ad_soyad = $_POST["ad_soyad"];
$konu = $_POST["konu"];
$email = $_POST["email"];
$mesaj = $_POST["mesaj"];
$adres = "MAİLİN GELMESİNİ İSTEDİĞİM ADRES"; // Buraya e-postanin gonderilecegi mail adresini yaziniz

$tarih = date('Y-m-d');
$ip_adresi = $_SERVER['REMOTE_ADDR'];

if(($ad_soyad=="") or ($konu =="") or ($email=="") or ($mesaj=="")){

echo "<center>Lütfen boş alan bırakmayınız...<br></center>";

}
else
{

$mesajveri.="WEB SAYFAMDAN GELEN MAIL\n\n";
$mesajveri.="Adi Soyadi: ".$ad_soyad."\n";
$mesajveri.="E-Mail: ".$email."\n";
$mesajveri.="Konu: ".$konu."\n";
$mesajveri.="IP Adresi :".$ip_adresi."\n";
$mesajveri.="Mesaji: ".$mesaj;

$mesajyolla = mail($adres, $konu, $mesajveri);

if($mesajyolla)
{

echo "<center>Mailiniz bana ulaştı.İlginiz için teşekkür ederiz...<br></center>";

}
else
{

echo "<center>E-Mail gonderilirken hata olustu! Lutfen daha sonra tekrar deneyiniz.</center>";

}
}
?>








[u]index html kodum:[/u]


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>İletişim Formu</title>
<link href="css/style.css" rel="stylesheet" type="text/css" />
<script src="js/jquery-1.5.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#mesaj').hover(
function () {
$("#formalani").filter(':not(:animated)').animate({height:355},{duration:300});
},
function () {
$("#formalani").filter(':not(:animated)').animate({height:50});
}
);
});
</script>
</head>

<body>

<div id="mesaj">
<div id="formalani">
<form action="mail.php" method="post">
<div id="tasiyici">
<textarea id="mesajalani" cols="20" name="TextArea1" onblur="if (value =='') {value = 'Mesajınızı buraya yazınız...'}" onfocus="if (value == 'Mesajınızı buraya yazınız...') {value =''}" rows="2">Mesajınızı buraya yazınız...</textarea>
<div>
<input class="input" name="Text1" onblur="if (value =='') {value = 'isim'}" onfocus="if (value == 'isim') {value =''}" type="text" value="isim" />
<input class="input" name="Text1" onblur="if (value =='') {value = 'email'}" onfocus="if (value == 'email') {value =''}" type="text" value="email" />
<input class="input" name="Text1" onblur="if (value =='') {value = 'konu'}" onfocus="if (value == 'konu') {value =''}" type="text" value="konu" />
</div>
<div id="gonder">
<input class="gonder" name="gonder" type="submit" value="" />
</div>
</div>
</form>
</div>
<div id="resim">
</div>
</div>

</body>

</html>

Link to comment
Share on other sites

index.html dosyasını aşağıdaki kodlarla değiştirirsen sorun çözülür.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>İletişim Formu</title>
<link href="css/style.css" rel="stylesheet" type="text/css" />
<script src="js/jquery-1.5.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#mesaj').hover(
function () {
$("#formalani").filter(':not(:animated)').animate({height:355},{duration:300});
},
function () {
$("#formalani").filter(':not(:animated)').animate({height:50});
}
);
});
</script>
</head>
<body>
<div id="mesaj">
<div id="formalani">
<form action="mail.php" method="post">
<div id="tasiyici">
<textarea id="mesajalani" cols="20" name="mesaj" onblur="if (value =='') {value = 'Mesajınızı buraya yazınız...'}" onfocus="if (value == 'Mesajınızı buraya yazınız...') {value =''}" rows="2">Mesajınızı buraya yazınız...</textarea>
<div>
<input class="input" name="isim" onblur="if (value =='') {value = 'isim'}" onfocus="if (value == 'isim') {value =''}" type="text" value="ad_soyad" />
<input class="input" name="email" onblur="if (value =='') {value = 'email'}" onfocus="if (value == 'email') {value =''}" type="text" value="email" />
<input class="input" name="konu" onblur="if (value =='') {value = 'konu'}" onfocus="if (value == 'konu') {value =''}" type="text" value="konu" />
</div>
<div id="gonder">
<input class="gonder" name="gonder" type="submit" value="" />
</div>
</div>
</form>
</div>
<div id="resim">
</div>
</div>
</body>
</html>

Link to comment
Share on other sites

inputların [b]name[/b] alanları POST fonksiyonuna göre yanlış yazılmış.

[codebox]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>İletişim Formu</title>
<link href="css/style.css" rel="stylesheet" type="text/css" />
<script src="js/jquery-1.5.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#mesaj').hover(
function () {
$("#formalani").filter(':not(:animated)').animate({height:355},{duration:300});
},
function () {
$("#formalani").filter(':not(:animated)').animate({height:50});
}
);
});
</script>
</head>
<body>
<div id="mesaj">
<div id="formalani">
<form action="mail.php" method="post">
<div id="tasiyici">
<textarea id="mesajalani" cols="20" name="mesaj" onblur="if (value =='') {value = 'Mesajınızı buraya yazınız...'}" onfocus="if (value == 'Mesajınızı buraya yazınız...') {value =''}" rows="2">Mesajınızı buraya yazınız...</textarea>
<div>
<input class="input" name="ad_soyad" onblur="if (value =='') {value = 'isim'}" onfocus="if (value == 'isim') {value =''}" type="text" value="isim" />
<input class="input" name="email" onblur="if (value =='') {value = 'email'}" onfocus="if (value == 'email') {value =''}" type="text" value="email" />
<input class="input" name="konu" onblur="if (value =='') {value = 'konu'}" onfocus="if (value == 'konu') {value =''}" type="text" value="konu" />
</div>
<div id="gonder">
<input class="gonder" name="gonder" type="submit" value="" />
</div>
</div>
</form>
</div>
<div id="resim">
</div>
</div>
</body>
</html>
[/codebox]
Üste verdiğim kodlarla sorun kalmayacaktır,
İyi çalışmalar.

Link to comment
Share on other sites

Sevgili xNeon;

Yine sorun çıktı bu formda.Durduk yerde birşeyler oluyor.2 sorun var.

1-) İletişim formuyla bana gelen mailde GÖNDERENİN KİŞİ adresi değil de,benim sunucumun adresi çıkıyor.
2-) İletişim formuna yazılar türkçe karakterler (ı,ö,ü,ğ) gelen mailde farklı karakterlerde çıkıyor.

Bu iki sorun için yardımcı olabilirmisiniz rica etsem?


Link to comment
Share on other sites

Şimdi farkettim mail fonksiyonu hatalı biçimde yazılmış :)
Bul :
[codebox]$mesajveri.="Mesaji: ".$mesaj; [/codebox]
Değiştir :
[codebox]$mesajveri.="Content-type: text/plain; charset=iso-8859-9\r\n";[/codebox]
Bul :
[codebox]$mesajyolla = mail($adres, $konu, $mesajveri);[/codebox]
Değiştir :
[codebox]$mesajyolla = mail($adres, $konu, $mesaj, $mesajveri);[/codebox]
Birde html sayfasında > Bul :
[codebox]<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />[/codebox]
Değiştir :
[codebox]<meta content="text/html; charset=ISO-8859-9" http-equiv="Content-Type" />[/codebox]

İyi çalışmalar.

Edited by xNeox
Link to comment
Share on other sites

Yardımınız için çok teşekkür ederim.
Dediklerinizi uyguladım...

[color="#ff0000"]*Dil sorunu çözüldü,hiçbir sıkıntı yok.[/color]
*Fakat diğer sorun hala devam ediyor.
Bana gelen mailde,mail gönderen kişinin adresi [email=""]''[email protected][/email] şeklinde görünüyor...

Edited by volkantr19
Link to comment
Share on other sites

İleti kaynağında içeriyor olsa gerek, bu sunucu ile ilgili bir sorun.
Gelen mesajı gösterme kısmını değiştirelim daha düzgün görünecektir.
Bul :
[codebox]$mesaj = $_POST["mesaj"];[/codebox]
Değiştir :
[codebox]$fmesaj = $_POST["mesaj"];
$mesaj = "IP Adresi: <b>$ip_adresi</b><br />
Gönderen: <b>$ad_soyad</b><br />
Tarih: <b>$tarih</b><br />
Yazdığı Mesaj:<br />
-------------------------<br />
$fmesaj
-------------------------";[/codebox]
Birde ek olarak tarih fonksiyonunu bu şekilde değişebilirsin.
[codebox]$tarih = date("d.m.Y - H:i");[/codebox]
Tarih olarak gün ay yıl - Saat ve dakikayı gösterecektir.
İyi çalışmalar. :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...