Diskuze: nefunkční PHP na Windows 10 64bit
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.


Zobrazeno 11 zpráv z 11.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.


Protoze ta kalkulacka je spatne napsana. Autor ji osidil o radu podminek. A php nejspis vypisuje chyby.
1. Zkus si tam prdat vypis chyb. php.net/error_reporting
2.
$a = $_POST['cislo1'];
$b = $_POST['cislo2'];
$operace = $_POST['operace'];
///...
echo("Výsledek: $vysledek");
---
// oprava
$a = isset($_POST['cislo1']) ? $_POST['cislo1'] * 1 : 0;
$b = isset($_POST['cislo2']) ? $_POST['cislo2'] * 1 : 0;
$operace = isset($_POST['operace']) ? $_POST['operace'] : '';
$vysledek = '';
//...
echo "Výsledek: $vysledek";
Peter, děkuji za návrh opravy, nicméně nepomohlo to.
" místo toho se na stránku vypíše obsah pomocného php skriptu"
To bud php nejede, nemas ho spustene, nebo hlasi konflikt s portem a tak ho
nespusti.
Nebo mas spatne nastaveny server, jina slozka.
Nebo nespoustit soubory pres server, localhost, ale jako file://.
A nebo mozna selhalo kodovani, w1250 default na serveru zpracuje php utf8 jako
text. Mozna proto, ze prvni 3 znaky jsou utf8-BOM.
Po zanesení tvé opravy se při spuštění kódu v NetBeans vypíše na stránce pouze slovo "Výsledek:" bez nabídky vložení hodnot. PHP server zde tedy funguje. Také když zadám do vyhledávacího řádku localhost:80 načte se dashboard od Netbeans. Avšak když ve složce kliknu na ikonu "kalkulacka.html", korektně se mi otevře dialog s nabídkou vložení čísel a volby početní operace. Nicméně když čísla a operaci zadám a stisknu tlačítko "Vypočítej", akce se neprovede a místo toho se na stránce vypíše celý kód souboru vypocet.php. Viz zde níže:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Kalkulačka</title>
</head>
<body>
<?php
$a = isset($_POST['cislo1']) ? $_POST['cislo1'] * 1 : 0;
$b = isset($_POST['cislo2']) ? $_POST['cislo2'] * 1 : 0;
$operace = isset($_POST['operace']) ? $_POST['operace'] : '';
$vysledek = '';
if ($operace == 'scitani')
$vysledek = $a + $b;
else if ($operace == 'odcitani')
$vysledek = $a - $b;
else if ($operace == 'nasobeni')
$vysledek = $a * $b;
else if ($operace == 'deleni')
if ($b != 0)
$vysledek = $a / $b;
else
$vysledek = 'Chyba';
echo("Výsledek: $vysledek");
?>
</body>
</html>
Zjistil jsem zvláštní věc, že dokonce ani v prémiové úloze k lekci PHP, když stisknu tlačítko "Spustit kód", tak se kód nespustí, ale stránka přepne z úloh na úvodní stranu ITnetwork. Když ale stisknu "Odevzdat úlohu", akce se provede. Zřejmě je tedy nějaký problém v prohlížečích, dělá mi to ale jak Chrome, tak i IE, takže je to asi něco přímo ve Windows.
A muzes sem dat kod a nazev souboru a slozku souboru, jak to spoustis?
---aaa.php---
<form action="aaa.php" method="post">
<input name="xxx" value="123">
<input type="submit">
</form>
<?php
$name = 'xxx';
$poslano = isset($_POST[$name ]) ? $_POST[$name ] : '';
echo "xxx=$poslano";
?>
Zkus tohle, kliknes odeslat a melo by to vypsat xxx=123
Ano, výpis se zdařil. Mé spouštěcí html je toto:
<!DOCTYPE html>
<html>
<head>
<title>Kalkulačka</title>
<meta charset="UTF-8"/>
</head>
<body>
<p>Zadejte dvě čísla a operaci:</p>
<form method="POST" action="vypocet.php">
<input name="cislo1" type="text"/><br />
<input name="cislo2" type="text"/><br />
Operace:
<select name="operace">
<option value="scitani">Sčítání</option>
<option value="odcitani">Odčítání</option>
<option value="nasobeni">Násobení</option>
<option value="deleni">Dělení</option>
</select><br />
<input type="submit" value="Vypočítej" />
</form>
</body>
</html>
Vše se nachází ve složce "C:\xampp\htdocs\kalkulacka" Soubory jsou "kalkulacka.html" a "vypocet.php".
Pro neparove tagy, ty zpetna lomitka tam delat nemusis, to je podle starsich
pravidel.
No, takze, pokud muj kod funguje, tak mas nejake divne znaky v tom tvem. Mozna 3
znaky pro utf, bom, na zacatku kodu. Editor ti to neukazuje, ale pridava ti je
do kodu. Mozna zkusit v tom editoru rici, at to nedela.
Nebo zkus pouzit notepad a zkopiruj kod do nej pres ctrl+c, ctrl+v.
Nebo zkopiruj kod tady do okenka pro psani zpravy, pak jej oznac a ctrl+c a
zkopiruj do notepadu nebo neceho jineho. Editacni pole tady urcite potlaci
znaky, se kterymi si html moc nerozumi, ani php.
Petře, děkuji za cenné podněty, které pro mne byly jistě poučné, i když nevyřešily daný problém. Měl jsi pravdu, že problém byl s php v PC. Ačkoli xampp fungovalo a vše bylo zelené, bylo nutné v php.ini zakomentovat "sqlite extension" a spouštět xampp jako administrátor. Také bylo nutné pokaždé zkontrolovat obsah adresního řádku, protože místo "localhost/..." se tam vypisovala adresa C:/xampp/htdocs/... Když jsem údaj v řádku opravil u ovládacího html, i php pak už fungovalo. V každém případě díky za ochotnou asistenci.
Zobrazeno 11 zpráv z 11.