Autor Zpráva
Tululum
Profil *
Dobrý den,
mám malý problém. Píši celý dokument pomocí PHP (protože ho potřebuji dynamický) a velice by mi usnadnilo práci (a uživatelům i čas) kdybych mohl přímo v PHP použít javascriptovou funkci window.prompt. Ovšem, poté potřebuji proměnnou, kterou uživatel zadá předat PHPčku, které ji nadále zpracuje. Je to možné?

Mohlo by to vypada asi nějak takto:
<?
echo "<script>var mail = window.prompt("Zadej mail");</script>";
$mail = >promenna mail v JS<;
/*--- Kod nadale pokracuje a PHP nadale pracuje s promennou $mail, která má obsah takový, jaký vložil uživatel ---*/
?>

Jde to nějak udělat? Díky ;)
Ter
Profil *
udělat to jde každopádně, vlastně nechápu, proč se ptáš na takovou banalitu!!!!
Taps
Profil
Tululum
zkus něco takového
<?
echo "<script>var mail = window.prompt('Zadej mail');</script>"; 
$mail="<script>document.write(mail)</script>";
echo $mail;
?>
AM_
Profil
Ne, takto jednoduše to nejde, a pokud víš, jak PHP funguje, měl bys to vědět. Pokud někdo vleze na PHP stránku (řekněme index.php), soubor je vyhodnocen PHP interpretem na straně serveru, který vykoná vložené PHP skripty a výsledek pošle klientovi jako HTML stránku (ve které může být např. i JS). Není možné během jednoho načtení stránky udělat "mezikrok" v javascriptu, kdy by se vykonávání přesunulo ke klientovi a pak zpět předalo řízení PHP.
Můžeš to ale udělat přes AJAX (možnost volání dotazů na server z JavaScriptu) nebo si stránku dodatečně poupravit v JS na základě zadaného mailu.

//P.S. short_open_tagy, tedy <?, jsou zlo, jako počátek PHP kódu používat pouze <?php
Tululum
Profil *
Díky, věděl jsem že to pujde pomocí AJAX, ale projistotu jsem se zeptal, abych to nedělal složitě pomocí AJAX a pak zjistil, že se to dá uplně nějak jinak uplně jednoduše :)
<? normallne nepouzivam, to bylo jen ku příkladu ;) A Bohužel potřebuji taky proměnnou zapsat do MySQL, takže jen pomocí JS s ní ppracovat nemohu. Takže se musím přiklonit k tomu AJAXu :)

(Taps: Takhle to urcite nejde :) ptz PHP to vyhodnotí jako obyčejný text a rozhodně ho nevykoná ;) )

Každopádně díky ;)

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