Autor Zpráva
Replik
Profil *
Dobrý den,

pracuji s EasyPHP a mám takový problém a nevím si s ním rady. Pokud vytvořím PHPscript, který pracuje s jakýmkoli formulářem a nastavím, že určité pole formuláře nesmí být prázdené, tak i po správném vyplnění formuláře script vrátí hodnotu, že pole je prázdné, i když to není pravda.

Problém není určitě ve scriptu, protože u kolegy vše funguje dobře, ale mě to vždy a u kteréhokoli vytvořeného formuláře, který je ošetřen proti nulové hodnotě, vyhodí chybové hlášení. Nevíte někdo, kde by mohl být problém? Používám IE7, zkoušel jsem to i v Mozille, vše se stejným výsledkem. Předpokládám, že to musí být někde v nastavení Apache nebo podobně.

Díky za odpověď.

PS: Nevím, která sekce je pro můj problém lepší, takže se omlouvám, za zdvojený Topik.
Alphard
Profil
Problém není určitě ve scriptu
přesto by pomohl v hledání problému
Mastodont
Profil
Hmm, nemohlo by to být náhodou tím, že skript pracuje s global proměnnými, které jsou u kolegy povoleny a u Replika ne?
Alphard
Profil
taky mě to napadlo, to by se právě poznalo ze scriptu
a asi myslíš superglobální, globální je něco jiného (používají se ve funkcích)
Mastodont
Profil
Ne, myslím globální.
Replik
Profil *
Díky za odpovědi. Přikládám jeden ze scriptů:
Soubor se jmenuje index.php

<?php

$sForm = TRUE;
if (!empty($_POST))
{
if ($pass1 == "" AND $pass2 == "")
echo "<font color="red">Pole "Heslo" a "Heslo Znovu" nejsou vyplneny!</font>";
elseif ($pass1 == "")
echo "<font color="red">Pole "Heslo" je prazdne!</font>";
elseif ($pass2 == "")
echo "<font color="red">Pole "Heslo Znovu" je prazdne!</font>";
elseif ($pass1 != $pass2)
echo "<font color="red">Hesla nejsou shodna!</font>";
elseif (strlen ($_POST["pass1"])<5)
echo "<font color="red">Heslo musi mit vic jak 5 znaku!</font>";


else
{
$sForm = FALSE;
echo "Heslo je: "<font color="red">".md5($pass1)."</font>" Poznamenejte si ho prosím.";
}
}
if ($sForm): ?>
<form method="post" action="index.php">
<table>
<tr>
<td>Heslo:</td>
<td><input name="pass1" type="password"></td>
</tr>
<tr>
<td>Heslo Znovu:</td>
<td><input name="pass2" type="password"></td>
</tr>
<tr>
<td colspan="2"><input type="Submit" name="send" value="Odeslat"></td>
</tr>
</table>
</form>
<?php endif; ?>
djlj
Profil
Místo $pass1 použij $_POST['pass1']; atd.
Replik
Profil *
Mno, syntakticky by to mělo být dobře ... Funguje to u kolegy, ale ne u mě. Mě to vypíše, že "Pole "Heslo" a "Heslo Znovu" nejsou vyplneny!"
Alphard
Profil
na začátek dej:
$pass1 = $_POST['pass1'];
$pass2 = $_POST['pass2'];
Replik
Profil *
Díky, ted to funguje, nechápu, že to jemu jde a mě ne a přitom tam tyto dva řádky nahoře nemá ...
djlj
Profil
Replik
Protože register_globals Off.
Replik
Profil *
Tak jsem to zkontroloval a chyba byla vskutku v php.ini - jsem udělal překlep, tak ted to už jde. Díky všem za pomoc, snad už nebudou žádné dotazy z mé strany.

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: