Autor Zpráva
mjk
Profil *
Nezasílají se mi data z formuláře do php. Zkoušel jsem google i FAQ.

formular

<form action="rezervace.php" method="post" enctype="text/plain">
  <table>
    <tr>
      <td>Jméno: </td><td><input type="text" name="jmeno" size="25"></td></tr>
    <tr>
      <td>Příjmení: </td><td><input type="text" name="prijmeni" size="25"></td></tr>
    <tr>
      <td>Telefon: </td><td><input type="text" name="tel" size="25"></td></tr>
    <tr>
      <td>Mail: </td><td><input type="text" name="mail_odesilatele" size="25"></td></tr>
    <tr>
      <td>Datum projížďkdy: <br />(<script>
promenna = new Date();
mesic = promenna.getMonth() + 1;
denVMesici = promenna.getDate();
rok = promenna.getFullYear();
document.write("Dnes je " + denVMesici + ". " + mesic + ". " + rok + ".");
</script>)&nbsp;&nbsp;&nbsp;</td><td><input type="text" name="den" size="2" maxlength="2" /> / <input type="text" name="mesic" size="2" maxlength="2" /> / 
<select name="rok">
<option value="0"><script>document.write(rok)</script></option>
<option value="1"><script>document.write(rok + 1)</script></option>
</select></td></tr>
    <tr>
      <td>Poznámka: </td><td><textarea name="body" rows="4" cols="30"></textarea></td></tr>
    <tr>
      <td></td><td><input type="submit" name="rezervace" value="Odeslat"></td></tr>
  </table>
</form>




rezervace.php

<?php

if (!empty($_POST['jmeno'])) {
  echo "a";
}else{
  echo "b";
}

?>
mjk
Profil *
ještě dodatek vypisuje mi to vždy b
4li
Profil
Skor by som to riesil cez
if (isset($_POST['jmeno']))


Kazdopadne, skusal si, ci vobec $_POST['jmeno']) obsahuje nejaku hodnotu?
echo $_POST['jmeno']);
mjk
Profil *
tak jsem to ted zkusil a vypisuje mi to nic kod vypada takhle


<?php

if (isset($_POST['jmeno'])) {
  echo $_POST['jmeno'];
}else{
  echo "nic";
}
echo $_POST['jmeno'];
?>
Mastodont
Profil
enctype="text/plain"
Proč? Zkus application/x-www-form-urlencoded
mjk
Profil *
Teď jsem to zkoušel a pořád to nefunguje kod vypadá takto

<?php

if (isset($_POST['jmeno'])) {
  echo $_POST['jmeno'];
}else{
  echo "nic";
}
echo $_POST['jmeno'];
?>


vypisuje nic
mjk
Profil *
<?php

if (isset($_POST['jmeno'])) {
  echo $_POST['jmeno'];
}else{
  echo "nic";
}
echo $_POST['jmeno'];
?>


Pořád to nefunguje píše to >nic<.
mjk
Profil *
promiňte za spam se mi to vůbec nezobrazovalo tak jsem myslel že se to neodeslalo
mjk
Profil *
enctype="text/plain"
Proč? Zkus application/x-www-form-urlencoded
Dík už mi to funguje.
AM_
Profil
„enctype="text/plain"“
„Proč? Zkus application/x-www-form-urlencoded“

Proč? zkus parametr enctype vynechat úplně, to je nejjistější. Obecně je s ním dost problémů, používá se jen při odesílání souborů, kde je potřeba typ multipart/form-data.
Mastodont
Profil
application/x-www-form-urlencoded je výchozí, čili při vynechání dostaneme tentýž efekt. Proč by to mělo dělat problémy?
AM_
Profil
výchozí samozřejmě problémy nedělá, ale třeba jen překlep už je udělat může. Ze zkušenosti i od jiných programátorů slýchám, že nejlepší je to tam prostě nepsat :) takhle pak vznikají bludy jako text/plain, se kterými to nefunguje.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: