Autor Zpráva
Joe
Profil *
Vie mi niekto poradit, ako zachovat udaje formulara?

Formular neokazuje na inu stranku, vsetko prebieha na jednej stranke.
PR:
Vypisem meno stlacim odoslat, ale kedze meno nesplna urcite poziadavky, vypise sa chybova hlaska a tlacidlo SPAT.
Po stlaceni tohto tlacidla SPAT sa vratim k vypisovaniu formulara, ale udaje(meno) je prec a musim ho napisat znova.
Ak by sa jednalo len o input type=text, po stlaceni sipky na dol by bolo vsetko "v poriadku", ak sa vsak jedna o textarea, tam uz je problem, hlavne v pripade, ak sa textarea sklada z pr. 200 znakov.

Potrebujem teda radu, ako po stlaceni SPAT a vrateni sa do formu, udaje, kotre som zadal, tam boli.

Vdaka
panther
Profil
Joe:
předvyplňuj jednotlivá políčka formuláře z pole POST/GET, které naplňuješ při odesílání formuláře.
Joe
Profil *
panther:
Konkretny priklad?

Dik

Skusal som $_POST[meno], ale nefunguje mi to.
grimword
Profil
při zpracování si údaje ulož do SESSION a na stránce s formulářem je zpětně ze SESSION vlož do políček

možno taky využít COOKIES

(sorry jestli jsem offtopic, četl jsem jen nadpis tvého příspěvku)
Saruman
Profil *
Joe:
Zjednodušený příklad:
<?php
if (isset($_POST["nejaka_promenna"]))
{
echo "OK, zpracováno.";
}
else
{
echo "Chyba.";
$vracim_jmeno = $_POST["jmeno"];
$vracim_text = $_POST["text"];
}
?>
<form action="#" method="post">
<input type="text" name="jmeno" value="<?php if (isset($vracim_jmeno)) echo $vracim_jmeno; ?>">
<textarea name="text">
<?php if (isset($vracim_text)) echo $vracim_text; ?>
</textarea>
<input type="submit" value="Odeslat">
</form>
Joe
Profil *
Saruman:
preco to nefunguje?


<?php if ($_REQUEST[completed] != 1) { 
$vracim_jmeno = $_POST["name"];?>

<form name=comment enctype=multipart/form-data method=post>
<input type=hidden name=completed value=1>
<input type=text name=name value="<?php if (isset($vracim_jmeno)) echo $vracim_jmeno; ?>" >
<input type=submit value=odoslat>
</form>

<?php } else {
?>
 

<table class="" align="center" border="0" width="93%" cellspacing="0" cellpadding="10">
<tr><td>velky subor</td></tr>
<tr><td><br><a href='javascript: history.go(-1)'>Back</a></td></tr></table></table>
<?php
} ?>

Moderátor Majkl578: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
Majkl578
Profil
Joe:
preco to nefunguje?
Asi je to rozbité.
Používej diakritiku, porušuješ závazné pravidlo č.2.
Podmínka na 6. řádku nemá význam. Naopak řádek č. 2 může generovat E_NOTICE. Řádek č. 1 bude generovat E_NOTICE vždy.
Saruman
Profil *
Joe:
Co je chyba po odeslání formuláře? To před nebo za else? Proč se chceš pořád vracet javascriptem o stránku zpět, když si psal, že všechno probíhá na jedné stránce?
Joe
Profil *
Saruman:
Vraciam sa javascriptom preto, aby som sa dostal spat na formular a vyplnil ho spravne.

Uprava:


<?php if ($_REQUEST[completed] != 1) { 
$vracim_jmeno = $_POST["name"];?>

<form name="comment" enctype="multipart/form-data" method="post">
<input type="hidden" name="completed" value="1">
<input type="text" name="name" value="<?php echo $vracim_jmeno; ?>" ><br>
<input type="file" name="fil" id="file"><br>
<input type="submit" value="odoslat">
</form>

<?php } else {

if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 60000)) {

echo "Spracovavam";
} else {
?>
 

<table align="center" border="0" width="93%" cellspacing="0" cellpadding="10">
<tr><td>velky subor</td></tr>
<tr><td><br><a href='javascript: history.go(-1)'>Back</a></td></tr></table></table>
<?php
}} ?>


Majkl578:
"rozbite" - ...
"pravidlo c.2" - moze byt?
"6. radku" - zmena


Moderátor nightfish: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).


Moderátor nightfish: Tvůj projev je špatně srozumitelný, piš prosím s diakritikou.
Joe
Profil *
Poradte niekto, ako to vyriwsit.

Sorry, ze nepouzivam diakritiku, ale telefon a aj PC fici na anglictine a aj klavesnice.
Majkl578
Profil
[#9]
Na 7. řádku máš špatně název prvku.
<input type="file" name="file" id="file"><br>

Nějak stále nevím, kde je problém.
Joe
Profil *
Majkl578:
teraz neviem, ci nevies, preco to nefunguje, alebo preco to mne nefunguje. Ak ide o mna, jednoducho po nesplneni podmienky velkosti uploadovaneho suboru a navrate spat do formu vsetky vyplnene udaje su prec a ja ich musim zase pisat. Potrebujem, aby tam zostavali a ja by som uz len zmenil file.
Joe
Profil *
To som položil až tak ťažkú úlohu, že mi nikto nevie poradiť?
Joe
Profil *
Tak už som zistil par odpovedi.

Prva znine, Majkl578 už viem čo si myslel. Nefunguje to len mne.

Druha, je to kôli ďalším scriptom, čo mam na mojej stranke okrem tohto formulára.
Problém však je v tom, že neviem, čo môjmu formuláru nedovolí zachovať si data.

Napadá niekoho, čo by to mohlo byť?
Saruman
Profil *
Joe:
Ako to ide?
<?php
if ($_POST["completed"] == 1) {
if ($_POST["name"] == FALSE) {
echo "Nezadal(a) si meno.";
} else {
if ((($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/pjpeg")) && ($_FILES["file"]["size"] < 60000)) {
echo "Spracovavam";
} else {
$vracim_jmeno = $_POST["name"];
?>
<table align="center" border="0" width="93%" cellspacing="0" cellpadding="10">
<tr>
<td>velky subor</td>
</tr>
</table>
<?php } } } ?>
<form name="comment" enctype="multipart/form-data" method="post">
<input type="hidden" name="completed" value="1">
<input type="text" name="name" value="<?php echo $vracim_jmeno; ?>"><br>
<input type="file" name="fil" id="file"><br>
<input type="submit" value="odoslat">
</form>
Joe
Profil *
Už som to vyriešil.
Takto mi to funguje:

<?php if ($_REQUEST[completed] != 1) { 
	if (isset($_SESSION["name"])) $vr=$_SESSION["name"];?>

<form name="comment" enctype="multipart/form-data" method="post">
<input type="hidden" name="completed" value="1">
<input type="text" name="name" value="<?php echo $vr; ?>" ><br>
<input type="file" name="fil" id="file"><br>
<input type="submit" value="odoslat">
</form>

<?php } else {

if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 60000)) {

echo "Spracovavam";
} else {
session_start();
$_SESSION['name'] = $_POST["name"];	
?>
 

<table align="center" border="0" width="93%" cellspacing="0" cellpadding="10">
<tr><td>velky subor</td></tr>
<tr><td><br><a href='javascript: history.go(-1)'>Back</a></td></tr></table></table>
<?php
}} ?>

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:

0