ugrás a tartalomhoz

Nem ellenörzi le hogy ki van-e töltve. Miért???

vitya · 2010. Jún. 18. (P), 18.08
Hali!
Egy kis segítséggel (még most tanulom a php-t) írtam egy kódot, ami egy adott formba beírt adatokat küld el a megadott e-mail címre.

A kód:
<body>
<!-- Az E-mail küldő eleje-->
<p align="center">
  <?php                            
if (isset ($_POST['neved']) && isset($_POST['email']) && isset($_POST['szoveg']))
{
$kuldo_neve = $_POST['neved'];      // Ez fogja kiirni amit a név mezőbe írt
$kuldo_email = $_POST['email'];     // ez azt amit az e-mail mezőbe írt
$kuldo_comment = $_POST['szoveg'];  // ez pedig azt amit szövegnek írt
mail ('csepany.viktor##kukac##mailbox.hu', 'Uzenet az oldaladrol.', "Kuldo neve: $kuldo_neve
E-mail cime: $kuldo_email
Hozzaszolasa: $kuldo_comment"       // ide pedig az amit a szövegmezőbe írt

 . date('Y/m/d H:i:s'), "FROM: $kuldo_email Reply-To: $kuldo_email"); } /* Ide figja kiírni azt a dátumot,
                                                                        amikor a felhasználó elküldte a levelet*/
else
{
echo ('Nem töltotted ki az összes mezőt!');
}
?>
<!--Az E-mail küldő vége-->
<!--Látható szöveg+link -->
  <span class="style1">K&ouml;sz&ouml;nj&uuml;k! Az e-mailt megkaptuk, hamarosan v&agrave;laszolunk r&aacute;!<br />
  </span><a href="index.htm" target="_blank" class="style1">Vissza</a></p>
<!--Látható szöveg+link vége -->
</body>



A form:
<body>
<center><form method="post" action="mail.php">
  <p>N&eacute;v:
    <br />
    <input name="neved" type="text" dir="ltr" lang="hu">
    <br>
    <br />
    E-mail c&iacute;m:
    <br />
    <input name="email" type="text" dir="ltr" lang="hu">
    <br>
    <br />
    E-mail tartalma:<br />
    <textarea name="szoveg" cols="50" rows="10" dir="ltr" lang="hu"></textarea>
    <br>
      <input type="submit" value="E-mail küld&eacute;se">
    </p>
  </form>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
</center>

</body>


A probléma: A kód nem ellenőrzi le, hogy ki vannak-e töltve a mezők. :S Nem tudok rájönni hogy miért nem jó.
Segitsetek légyszi!
Előre is köszi!
 
1

ellenőrzés

Poetro · 2010. Jún. 18. (P), 18.36
Csak azt ellenőrzöd, hogy elküldte-e a mezőt, azt nem hogy van-e benne valami. Lásd isset és empty
2

Ahha akkor ezért nem jó

vitya · 2010. Jún. 18. (P), 19.02
Értem és azt akkor hogyan lehet megcsinálni, hogy mindeggyik mezőt külön leellenőrizze, hogy ki van-e töltve és ha pedig nincs kitöltve valameik, akkor mondjuk kiirja hogy: "Nem töltötted ki ezt meg azt a mezőt".
3

Sikerült megvalósítani. :D

vitya · 2010. Jún. 19. (Szo), 22.42
Egy kis kutakodás után sikerült találnom egy JavaScriptet amit átalakítottam. Leírom ide ha esetleg valakinek kéne. :)

A form.php head részébe:
<?php 
include "lang.php";
?> 
 
<!--Mező kitöltés ellenörző eleje-->
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function verify() {
var themessage = "<? echo $lang_mail["msg"]; ?> ";
if (document.form.neved.value=="") {
themessage = themessage + " - <? echo $lang_mail["neved"]; ?>";
}
if (document.form.email.value=="") {
themessage = themessage + " - <? echo $lang_mail["email"]; ?>";
}
if (document.form.szovet.value=="") {
themessage = themessage + " - <? echo $lang_mail["szovet"]; ?>";
}
if (document.form.szoveg.value=="") {
themessage = themessage + " - <? echo $lang_mail["szoveg"]; ?>";
}
if (themessage == "<? echo $lang_mail["msg"]; ?> ") {
//document.form.submit();
    return true;
}
else {
alert(themessage);
return false;
   }
}
//  End -->
</script>
<!--Mező kitöltés ellenörző vége-->
A lang.php be:

<?php
// Mail szövegek
$lang_mail["neved"] = "Neved";
$lang_mail["email"] = "E-mail cimed";
$lang_mail["szovet"] = "Szovet szama";
$lang_mail["szoveg"] = "Szoveg";
$lang_mail["msg"] = "Nem toltotted ki a kovetkezo mezoket: ";
$SITETITLE = "Levélküldés";
?>
Tökéletesen működik a dolog, csak az a gond, hogy nem szereti az ékezetes betűket. :S Már mindent megpróbáltam de nem akarja kiírni az ékezeteseket. pls help valaki

WoP
4

PHP kontra JS

Kevlar · 2010. Jún. 20. (V), 00.10
Az eredeti problémád PHP (tehát szerveroldali) ellenőrzésről szólt. Javascript-tel a böngészőben ellenőrzöl csupán, ha kikapcsolja a látogató a JS-t, már el is küldheti az üres formot. Kell a szerveroldali megvalósítás is.
Nézd meg Poetro hozzászólásában a linkeket, és írd át, hogy azt is ellenőrizze a PHP, hogy van-e valami a küldött változókban! De millió PHP megoldást találhatsz a neten a témában.
5

Sikerült!

vitya · 2010. Jún. 23. (Sze), 14.09
Ezaz! Sikerült megcsinálni, hogy ellenőrizze a mezőket, és még az ékezetes betűket is "szereti"!
Köszi a segitséget Poetro és Kevlar! :)