Autor Zpráva
Pepik
Profil *
Dobrý den,
chtěl bych se zeptat, jak pomocí php můžu ovlivňovat html prvky. Nevím, zda-li otázku formuluji správně, avšak věc se mám takhle. Na stránce mám dva formuláře, které potřebuji, aby je uživatel vyplnil. Na základě toho, zda uživatel formuláře vyplní se vytvoří dvě proměnné. V tuto chvíli bych potřeboval, aby tyto dva formuláře pod ním získaly vlastnost "disable" a pod ním se vytvořil další nový formulář, pro zadávání nově proměnné. Šlo by to nějak?
denCo
Profil
Javascriptom, možno ešte lepšie pomocou Ajaxu. Každopádne načo tak zložito?
Pepik
Profil *
Javascript právě neumím. Ale, přemýšlím nad domácím úkolem a to co zatím mám, tak s tím nejsem moc spokojený, chtěl jsem to trochu vylepšit. Ale asi zůstanu u toho aktuálního řešení.
xmark
Profil
denCo:
K čemu přesně bys tady chtěl využít ajax? Toto je jednoznačně práce pro JS.
Pepik
Profil *
Tak jestli to je jenom pro java script, tak to je pro mě tabu. Každopádně děkuji.
xmark
Profil
Pepik:
Formuluješ to trochu nejasně, ale pokud chceš cokoliv ovlivňovat bez odeslání formuláře - disable něčeho, vložení něčeho, uděláš to pomocí JS.
denCo
Profil
xmark:
Je to pre JS, ale pomocou js tam ten druhý formulár bude stále len skrytý, čo nemusí vždy vyhovovať. Pomocou Ajaxu ho jednoducho vytiahne zo súbora.

Pepik:
Ajax je celý postavený na Javascripte, takže to je v podstate jedno.
xmark
Profil
denCo:
Pomocou Ajaxu ho jednoducho vytiahne zo súbora.

No to je super, Já bych ale formulář (cca 5 řádků kódu) radši vložil přímo z JS a ušetřím si zbytečnou komunikaci se serverem.
breeta
Profil *
Pokud to chceš dělat pomocí PHP musíš odeslat první formulář a podle výsledku přesměrovat na druhý který je aktuální.
Prostě to rozdělit ná více části a data ukládat třebe to Session.
Pepik
Profil *
breeta: To by znamenalo, že bych k tomu potřeboval dva a více souborů, ne?
denCo
Profil
Pepik:
Stačí jeden, len by si kontroloval premennú GET a podľa nej by si zobrazil formulár. Ak niekto odošle prvý formulár, presmeruješ ho na napr. tvoj_jediny_subor.php?form=2. Potom vytiahneš $_GET['form'] a ak je jej hodnota je 2, zobrazíš druhý formulár a ak je hoci aká iná, zobrazíš prvý.
Pepik
Profil *
šlo by to udělat na příkladu, mám trochu problém pochopit realizaci.
<form method="GET" action="soubor1.php" />
<input type="text" name="cislo1" />
<input type="text" name="cislo2" />
<input type="submit" value="Odeslat" />

if (isset($_GET['cislo2']) && ($_GET['cislo1']))
{
$cislo1 = $_GET['cislo1'];
$cislo2 = $_GET['cislo2'];
}
Ted by se zjistilo, jestli byl vyplněný formulář a jestliže ano, nastala by situace, kdyby se mohlo přesměrovat na ten druhý, ale jak by to vypadalo?
denCo
Profil
<?php
if ( !empty ( $_GET['cislo2'] ) && !empty ( $_GET['cislo1'] ) ) { 
$cislo1 = $_GET['cislo1']; 
$cislo2 = $_GET['cislo2'];
?>
<form method="GET" action="soubor1.php"> 
tuto bude druhy formular
</form>
<?php
} else {
?>
<form method="GET" action="soubor1.php" /> 
<input type="text" name="cislo1" /> 
<input type="text" name="cislo2" /> 
<input type="submit" value="Odeslat" />
<?php
}
?>
Pepik
Profil *
Děkuji, tohle vypadá dobře, dokonce to je ještě lepší než to, co jsem měl původně na mysli. Jsem Vám vděčen.
A může se ještě zeptat, mám problém uložit $cislo1 jako session proměnnou. Nahoře v souboru dám SESSION_START () a dole v souboru potřebuji $cislo1 uložit jako proměnnou. Tak jsem zadal if (isset($cislo)) {$cislo = $_SESSION['cislo1'];} je to blbost?
denCo
Profil
$_SESSION['cislo1'] = $cislo;
Pepik
Profil *
Děkuji mnohokrát :))

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