NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Směřování výpisu z proměnné

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
relycanx
Člen
Avatar
relycanx:2.5.2013 0:03

Čau, měl bych dotaz ohledně formuláře. Když si tam přidám textovou lištu, do které něco jako uživatel zapíšu, poté potvrdím tlačítkem a provedu zápis řetězce, či čísla do proměnné, tak jak prosím docílím toho, aby se mi ta proměnná vypsala pomocí echa přesně tam kam chci? Existuje metoda, která by to nasměrovala třeba přes id do divu, nebo i někam jinam? Předem děkuji, moc by mi to pomohlo :)

 
Odpovědět
2.5.2013 0:03
Avatar
Odpovídá na relycanx
Luboš Běhounek Satik:2.5.2013 1:06

Umístění výpisu na stránce přece řešíš tím, kam to echo v kódu dáš :)

Nahoru Odpovědět
2.5.2013 1:06
https://www.facebook.com/peasantsandcastles/
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na relycanx
David Hartinger:2.5.2013 7:41

PHP ti generuje HTML, přijde mi, že si myslíš, že HTML ti volá PHP.

Nahoru Odpovědět
2.5.2013 7:41
New kid back on the block with a R.I.P
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovídá na relycanx
Petr Nymsa:2.5.2013 8:55

Sice mám pouze čistě teoretické znalosti ale tohle by šlo udělat přes AJAX. JavaScript by odeslal požadavek, server zpracoval, server vrátil a přes DOM v JS by jsi změnil hodnoty. Neber moje info moc vážně, teprve včera jsem se koukal trochu na fungování AJAXU a takto jsem ho zatím pochopil.

Nahoru Odpovědět
2.5.2013 8:55
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Kit
Tvůrce
Avatar
Odpovídá na David Hartinger
Kit:2.5.2013 9:23

Přesněji: PHP umí generovat cokoliv, včetně obvyklého HTML.

Nahoru Odpovědět
2.5.2013 9:23
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
relycanx
Člen
Avatar
Odpovídá na Luboš Běhounek Satik
relycanx:2.5.2013 10:01

jo ajo, vlastně stačí v divu vyvolat php script, že? Už v tom mam trochu maglajz, jak jsem jen dělal do html a css. Php, zatím jen čtu a moc neprocvičuju. Asi je načase ho pomalu zapojit do praxe, jako nadřazený jazyk :)

A děkuji všem za odpovědi. Vím že se hloupě ptám a vlastně to je taková jednoduchá věc, ale jak jsem to ještě pořádně nezkoušel v praxi kombinovat, tak mi to ještě moc nezapaluje :/

 
Nahoru Odpovědět
2.5.2013 10:01
Avatar
relycanx
Člen
Avatar
relycanx:2.5.2013 13:57

Také jsem teď narazil na menší problém, který jsem tak trochu očekával. V C# jsem zvyklý programovat odshora dolů a stejnětak asi funguje webtvorba. jak tedy prosím docílím toho, aby se mi text z proměnné vypsal třeba úplně nahoru na web, když budu mít formulář pod ním? Zdá se, že script zatím nezná tu proměnnou, což se dá asi očekávat, proto jsem se ptal na dosazování pomocí id :( Jinak takto vypadá můj nefunkční script.

<body>

  <div id="vypis">
        <?php
        if(isset($_POST["potvrzeni"]))
        {
            $reakce = $_POST["pole_zadani"];
            echo $reakce;
        }
        ?>
  </div>

    <form action="" method="POST">
        <input type="text" name="pole_zadani" />
        <input type="submit" name="potvrzeni" value="potvrď" />
    </form>

</body>
 
Nahoru Odpovědět
2.5.2013 13:57
Avatar
Odpovídá na relycanx
Luboš Běhounek Satik:2.5.2013 14:05

Jen do action napis jmeno souboru, v kterem mas tenhle kod - tedy treba index.php

Nahoru Odpovědět
2.5.2013 14:05
https://www.facebook.com/peasantsandcastles/
Avatar
relycanx
Člen
Avatar
Odpovídá na Luboš Běhounek Satik
relycanx:2.5.2013 14:08

jo takhle a ono ho to projede znovu, že? paráda, děkuju :)))

 
Nahoru Odpovědět
2.5.2013 14:08
Avatar
Kit
Tvůrce
Avatar
Odpovídá na relycanx
Kit:2.5.2013 14:09

Ten kód v PHP dej úplně nahoru a na jeho konci (ještě uvnitř ifu) zavolej

header('Location: .');
exit;

Případnou hlášku si můžeš uložit do session.

Teprve pod tím dej výpis v HTML a vytáhni si ze session tu hlášku, kterou chceš zobrazit.

Nahoru Odpovědět
2.5.2013 14:09
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Luboš Běhounek Satik
Kit:2.5.2013 14:10

Ten atribut action tam vůbec nedávám. Většinou je zbytečný.

Nahoru Odpovědět
2.5.2013 14:10
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Luboš Běhounek Satik:2.5.2013 14:15

Když jsem naposledy před X lety používal PHP, tak se formuláře všude řešily přes action, tu vychytávku s header vůbec neznám, nikdy jsem se s tím nikde nepotkal, jak to funguje a jaké to má výhody?

Nahoru Odpovědět
2.5.2013 14:15
https://www.facebook.com/peasantsandcastles/
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Luboš Běhounek Satik
Kit:2.5.2013 15:02

Výhodu to má hlavně v tom, že stránka s odeslanými daty se neukládá do historie v prohlížeči. Když uživatel klikne na "Zpět", tak se to vrátí na formulář, ale data se znovu neodešlou. Podobně i "Reload" neodešle znovu ta samá data a neotravuje s hláškou "Přejete si znovu poslat data POST?"

Je to popsáno už v učebnici jazyka PHP3. Akorát jsem si to trochu vylepšil :)

Nahoru Odpovědět
2.5.2013 15:02
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
relycanx
Člen
Avatar
Odpovídá na Kit
relycanx:2.5.2013 15:33

Jo takhle, to vypadá docela užitečně jestli to chápu správně. Takže normálně by byla celá moje historie zaplácaná mými stránkami, ale díky tomuhle se to aktivuje jen vnitřně, takže jako správná, webová aplikace? :)

 
Nahoru Odpovědět
2.5.2013 15:33
Avatar
Kit
Tvůrce
Avatar
Odpovídá na relycanx
Kit:2.5.2013 15:36

To je jen pro data poslaná metodou POST. Ostatní stránky v historii zůstávají.

Pokud nechceš žádnou historii, můžeš zkusit udělat tu aplikaci kompletně v AJAXu. Ten do historie nezapisuje.

Nahoru Odpovědět
2.5.2013 15:36
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
relycanx
Člen
Avatar
Odpovídá na Kit
relycanx:2.5.2013 17:15

dík za tip, AJAX, vypadá zajímavě (z vyprávění tetičky wiki) a v budoucnu si ho snad taky zkusím, až zas budu pracovat s JavaScriptem. Zatím chci sjet hlavně formuláře a databáze, ať mám to nejdůležitější za sebou (alespoň myslím, že to je nejdůležitější :D)

Editováno 2.5.2013 17:15
 
Nahoru Odpovědět
2.5.2013 17:15
Avatar
Kit
Tvůrce
Avatar
Odpovídá na relycanx
Kit:2.5.2013 17:28

Zkusil jsem si v AJAXu napsat aplikaci, která vůbec nepotřebovala PHP na straně serveru. Jelo to perfektně.

Nahoru Odpovědět
2.5.2013 17:28
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovídá na Kit
Petr Nymsa:2.5.2013 17:31

A co to umělo ?

Nahoru Odpovědět
2.5.2013 17:31
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Petr Nymsa
Kit:2.5.2013 17:37

Bylo to takové jednoduché RPG. Místnosti a itemy byly na serveru a javascriptový klient si dle potřeby natahoval i kusy vlastního kódu. Aplikace se tedy postupně kompletovala až na klientovi.

Nahoru Odpovědět
2.5.2013 17:37
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovídá na Kit
Petr Nymsa:2.5.2013 17:57

Zajímavé :) No já teď zase jedu čistě C#, MonoGame a Windows 8, tedy dnes celej den reinstal notebooku, teď doběhla konečně kontrola esetu :D. Z webů zatím čistě HTML + CSS a malinko PHP a JS, ale učím se postupně PHP a JS nechám na potom. AJAX mě strašně zaujal

Nahoru Odpovědět
2.5.2013 17:57
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
relycanx
Člen
Avatar
relycanx:2.5.2013 21:23

ale je tu háček, že jakmile se klikne na tlačítko ve formuláři, tak všechny hodnoty proměnných po obnovení stránky zmizí, že? :D

 
Nahoru Odpovědět
2.5.2013 21:23
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 21 zpráv z 21.