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: Button v php funkcii

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

Aktivity
Avatar
Marek Burda
Člen
Avatar
Marek Burda:12.9.2017 12:04

Ahoj. Mám systém kde po kliknutí na obrázok sa zobrazí text v inom dive. Všetko funguje až dovtedy kým do funkcie ktorú spúšťam stále pri kilknutí na obrázok, nepridám button. Ak zmažem všetky atributy z buttonu ako napríklad type=sumbit, vtedy sa button zobrazí a funkcia funguje. AKonáhle ale pridám nejaké atr. funkcia prestane fungovať.
JS:

 <script>
function writeText(txt) {
    document.getElementById("desc").innerHTML = txt;
}
</script>

HTML:

<div id="item"  onClick="writeText('<?php iteminfo(100); ?>')">
<img src="xaxa.png" width="50" height="50">
</div>
<div id="desc" style="font-family:'Open Sans Condensed', sans-serif;">Ukáž myšou na obrázok</div>

PHP:

function iteminfo($itemid) {
global $con;
global $button;
$selectitem = mysqli_query($con,"SELECT * FROM tb_items WHERE id=$itemid");
$itemdb = mysqli_fetch_assoc($selectitem);
echo "<table><tr><td>Názov predmetu: </td><td>".$itemdb['name']."</td></tr></table>";
echo  "<button type='submit' name='wear' class='login-btn' value='".$itemdb['id']."'>Použiť</button>";

}
Editováno 12.9.2017 12:05
 
Odpovědět
12.9.2017 12:04
Avatar
Wal De Mar-Lad:12.9.2017 12:33

Máš vážne medzery v znalostiach, musíš si to naštudovať hlbšie. Tento riadok svedčí o tom, že to celé nedobre chápeš:

<div id="item"  onClick="writeText('<?php iteminfo(100); ?>')">
Nahoru Odpovědět
12.9.2017 12:33
Libraries over frameworks...
Avatar
Marek Burda
Člen
Avatar
Marek Burda:12.9.2017 12:46

Ano viem, nemusí to byť možno takto zložité ako to robím ja ale čo už.. skúšam, učím sa. To čo mám teraz urobené fungje tak zatiaľ nevidím dôvod robiť to inak rozumieš.. Jediné čo nefunguje je pridanie tlačidla do funkcie. Ďakujem za pomoc.

 
Nahoru Odpovědět
12.9.2017 12:46
Avatar
Odpovídá na Marek Burda
Wal De Mar-Lad:12.9.2017 14:04

Základ: php kód sa musí vykonať na serveri. A ty predsa dopisuješ php do stránky na strane klienta. Lenže dopisuješ to tam zbytočne, prehliadač nepozná a nemá ako vykonať php kód.

Nahoru Odpovědět
12.9.2017 14:04
Libraries over frameworks...
Avatar
Marek Burda
Člen
Avatar
Marek Burda:12.9.2017 14:21

No a ako to že pri tomto riadku to funguje ale pri tlačidle nie ?

echo "<table><tr><td>Názov predmetu: </td><td>".$itemdb['name']."</td></tr></table>";
 
Nahoru Odpovědět
12.9.2017 14:21
Avatar
Odpovídá na Marek Burda
Wal De Mar-Lad:12.9.2017 14:29

Keď si tú stránku vypýtaš od web serveru, ten tú stránku najskôr na serveri odovzdá parseru php, ten v nej vykoná ten php kód ktorý dopíše do stránky tabuľku a takto upravenú / dopísanú web stránku vráti naspäť web serveru, ktorý ju následne odošle do prehliadača. Čiže onen základ bol dodržaný: php kód sa vykoná na serveri.

Editováno 12.9.2017 14:29
Nahoru Odpovědět
12.9.2017 14:29
Libraries over frameworks...
Avatar
Marek Burda
Člen
Avatar
Marek Burda:12.9.2017 14:30

Super. A prečo nastáva problém pri tlačidle ? Stačí že doneho pridám len type="submit" a kod prestane fungovať.

 
Nahoru Odpovědět
12.9.2017 14:30
Avatar
Marek Burda
Člen
Avatar
Marek Burda:13.9.2017 9:39

Nenapadá nikomu ako to vyriešiť ?

 
Nahoru Odpovědět
13.9.2017 9:39
Avatar
David Hynek
Tvůrce
Avatar
Odpovídá na Marek Burda
David Hynek:13.9.2017 11:34

Je pravý čas nasadit AJAX :)

Nahoru Odpovědět
13.9.2017 11:34
Čím víc vím, tím víc věcí nevím.
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 9 zpráv z 9.