Autor Zpráva
Cody
Profil
Mám problém s odesláním formuláře:
- formulář se odešle ale bez formulářových dat
- ano mám je na"post"ované
- opravdu nevím kde je chyba:-(
Zdrojové kódy:
Soubor s formulářem:

<form action="prihlaska_programu_odeslat.php" method="post" enctype="text/plain" onsubmit="javascript:return validator(this);">

<table width="80%" class="prihlaska">
<tr>
<td valign="bottom">
<p>
Jméno či přezdívka autora programu:<br>
<input type="text" name="Jmeno" size="39">
</p>
</td>
<td valign="bottom">
<p>
Název programu:<br>
<input type="text" name="Nazev" size="39">
</p>
</td>
</tr>
<tr>
<td valign="bottom">
<p>
Doba trvání:<br>
<input type="text" name="Doba_trvani" size="39">
</p>
</td>
<td valign="bottom">
<p>
Denní doba:<br>
<input type="text" name="Denni_doba" size="39">
</p>
</td>
</tr>
<tr>
<td valign="bottom">
<p>
Krátká anotace:<br>
<textarea rows="6" name="Anotace" cols="33"></textarea>
</p>
</td>
<td valign="bottom">
<p>
Vybavení (co si zajistíte, co požadujete od o. s. Řeč):<br>
<textarea rows="6" name="Vybaveni" cols="33"></textarea>
</p>
</td>
</tr>
<tr>
<td valign="bottom">
<p>
Vlastní náklady:<br>
<textarea rows="6" name="Vlastni_anotace" cols="33"></textarea>
</p>
</td>
<td valign="bottom">
<p>
Další požadavky:<br>
<textarea rows="6" name="Dalsi_pozadavky" cols="33"></textarea>
</p>
</td>
</tr>
<tr>
<td valign="bottom" colspan="2">
<div class="centeredTable">
<input class="button" type="submit" value=" Odeslat ">
<input class="button" type="reset" value=" Vynulovat ">
</div>
</td>
</tr>
</table>
</form>


Soubor s odesílacím skriptem:


<?php

$Jmeno = $_POST['Jmeno'];
$Nazev = $_POST['Nazev'];
$Doba_trvani = $_POST['Doba_trvani'];
$Denni_doba = $_POST['Denni_doba'];
$Kratka_anotace = $_POST['Kratka_anotace'];
$Vybaveni = $_POST['Vybaveni'];
$Vlastni_naklady = $_POST['Vlastni_naklady'];
$Dalsi_pozadavky = $_POST['Dalsi_pozadavky'];
/* hlavičky. */
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=windows-1250\r\n";

/* subject */
$subject = "Prihlaseni programu na BMWC";

/* message */
$message = '
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<title>Přihlášení programu na BMWC</title>
<style type="text/css" media="all">
body, html {font-family: verdana,sans-serif; color: #darkgreen; font-size: 100%;background: #FFF; margin: 10px;padding: 0;}
table {border-collapse: collapse;border: 1px solid darkgreen;font-size: 0.8em;}
td {padding: 0.5em;vertical-align: top;border: 1px solid #336666;}
th {padding: 0.5em;vertical-align: top;text-align: left; color: #000;border: 1px solid #006633;}
h1 {color: #666;font-size: 1.2em;text-align: center;font-variant: small-caps;}
h2 {text-align: right;color: #666;font-size: 0.8em;}
h2 span {text-decoration: underline;color: #333;}
h3 {color: #850B00;font-size: 0.95em;font-weight: bold;padding: 0;margin: 0.25em 0;font-variant: small-caps;}
p {font-size: 0.7em;color: #999;padding: 0;margin: 0;}
div.form {float: left;padding: 1em; width: 80%;}
</style>
</head>
<body>
<h1>Přihlášení programu na BMWC</h1>
<div class="form">
<table with="80%" align="center">
<tr><th>Jméno</th><td>' . $Jmeno . '</td></tr>
<tr><th>Název</th><td>' . $Nazev . '</td></tr>
<tr><th>Doba trvaní</th><td>' . $Doba_trvani . '</td></tr>
<tr><th>Denní doba</th><td>' . $Denni_doba . '</td></tr>
<tr><th>Krátká anotace</th><td>' . $Kratka_anotace . '</td></tr>
<tr><th>Vybavení</th><td>' . $Vybaveni . '</td></tr>
<tr><th>Vlastní náklady</th><td>' . $Vlastni_naklady . '</td></tr>
<tr><th>Další požadavky</th><td>' . $Dalsi_pozadavky . '</td></tr>
</table>
</div>
</div>
</body>
</html>
';
$odesli = mail('pavel.ungr@etnetera.cz', $subject, $message, $headers); //email odeslan
if($odesli)
{
echo "<p class=\"cesky\"><strong>Formulář v pořádku odeslán!</strong></p>";
}
else
{
echo "<p class=\"cesky\"><strong>Chyba při odesílání formuláře!</strong></p>";
}

?>


Link kde se to děje:

http://bmwc.org/prihlaska_programu.php

Budu vděčný za jakoukoliv pomoc. Díky.
BaTeCzKo
Profil
Neni problem v pouzivani nazvu napr "Jmeno" misto "jmeno"? Asi neni, jen me to napadlo.
Alphard
Profil
nevidim (a nikdo jiny kromě tebe) vystup skriptu, zkus to hned neposilat na mail, ale nechat zobrazit
echo $message;
Cody
Profil
BaTeCzKo Myslim, že je to ohledně case sensitive OK.

Alphard Provedeno, sice to lehce rozhodí design, ale pro testovací účely...
Aesir
Profil
Cody:
Není problém v tom javascriptu?
Alphard
Profil
možná je to blbost, ale zkus vyhodit: enctype="text/plain"
mohlo by to dělat problémy
Nox_lbc
Profil
$Jmeno = $_POST['Jmeno'];
$Nazev = $_POST['Nazev'];
$Doba_trvani = $_POST['Doba_trvani'];
$Denni_doba = $_POST['Denni_doba'];
$Kratka_anotace = $_POST['Kratka_anotace'];
$Vybaveni = $_POST['Vybaveni'];
$Vlastni_naklady = $_POST['Vlastni_naklady'];
$Dalsi_pozadavky = $_POST['Dalsi_pozadavky'];

Co to má proboha znamenat ?? Když už to neošetřujete, tak proč kopírujete proměnné, proč nepoužíváte rovnou $_POST ?

Všechny názvy proměnných a name u formulářů raději převést na malá písmena ...
Cody
Profil
Co to má proboha znamenat ?? Když už to neošetřujete, tak proč kopírujete proměnné, proč nepoužíváte rovnou $_POST ?
Nox_lbc Postupoval jsme dle http://www.tizag.com/phpT/forms.php
Alphard Díky bylo to ono, u ž jsem na to jednou narazil, ale nechápu proř tohle dělá problémy:-(
Nox_lbc
Profil
Postupoval jsme dle http://www.tizag.com/phpT/forms.php

Tak si tuhle adresu vyhoďte z Boomarků a hlavy ;-) ... a zkuste české, lepší/kvalitnejší/odbornější weby a diskuze ...
Cody
Profil
Nox_lbc Proč? Jak to teda udělat efektivněji? Vždyť to funguje? (jsem v php opravdu elév)
tiso
Profil
Cody
Nevytvárať ďalšie premenné ale použiť tie už vytvorené... Nič Ti nebráni napísať miesto:
$jmeno = $_POST["jmeno"];
echo '<tr><th>Jméno</th><td>' . $jmeno. '</td></tr>';
iba:
echo '<tr><th>Jméno</th><td>' . $_POST["jmeno"]. '</td></tr>';
- je to prehľadné a rýchlejšie...

Tiež si nenosíš komplet kufrík s náradím na dotiahnutie skrutky na kľučke keď Ti stačí jeden šrobovák...
malek8
Profil *
no ja ani neviem naco je ten $_post dobry
ved ak je name='meno' value='peter' tak v scripte co to spracuva je $meno = peter hm
a pak je

echo "<tr><th>meno</th><td>$meno</td></tr>";

a zda sa mi to najprehladnejsie:)
ale ja raz pridem na co je ten $_post xe :D
Cody
Profil
malek8 Ne vždy je tenhle postzup na PHP serveru povolený. Viz Pípni.cz například.

tiso Díky.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0