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

Člen

Zobrazeno 15 zpráv z 15.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Ahoj, kód prosím vkládej pomocí tlačítka Vložit zdrojový kód
(</>), mnohem lépe se to pak čte.
Také je dobré popsat, jaký problém s kódem konkrétně máš - co
očekáváš že by měl dělat a co dělá teď. Když ani není jasné, co by
kód měl dělat tak je těžké poradit
<?php
echo "\nPoužitá metoda : $_SERVER[REQUEST_METHOD]\n";
if ( $_SERVER ['QUERY_STRING'] ) {
echo "CGI program obdržel následující parametry:
$_SERVER[QUERY_STRING]\n";
echo "
<hr width = \"50%\">
";
echo "<h3>Zpracování parametrů:</h3>";
echo "\n<font size=\"+2\">Uživatel</font>:\n";
echo " Jméno: $_GET[jmeno]\n";
echo " Příjmení: $_GET[prijmeni]\n";
echo " Použitá platba: $_GET[platba]\n";
}
else {
echo "Na vstupu nejsou žádná data\n";
}
echo "<font size=\"+2\">Datum</font>: ";
$my_t=getdate(date("U"));
echo " Dnešní datum je:
$my_t [mday].$my_t [mon].$my_t [year]";
?>
Ah .. dekuji za rady =) ... No kod je pridelen k html souboru na kterem jsou dve tabulky .. jedna na jmeno a prijmeni a druha dava na vyber mezi platbama visa,mastercard, hotove .. Jde o to ze po vyplneni a kliknuti na odeslat .. mi to ukazuje cele php zadani. Místo toho aby to nejak vygenerovalo to co ma .. jestli je to nesrozumitelne .. muzu sem nahrat oba soubory pro lepsi prehlednost =)
Ahoj a jak spouštíš ten PHP kód? Máš to někde na hostingu? Na lokálním serveru? Nebo to máš jen uložené jako soubory?
No přes apache .. Myslis ze by to vypadalo jinak kdybych si to vlozil na hosting? =)
Ne to asi ne. Myšlenka byla, že když se Ti vypisuje celý PHP soubor, tak bude asi nějaká chyba v tom, že to PHP vůbec nezpracuje.
Vypisuje se Ti opravdu celý soubor včetně <?php a tak, nebo máš jen v textu místo výsledku názvy proměnných?
Pokud ti to běží přes Apache, máš nejspíš špatnou příponu souboru.
PHP můžeš spouštět v souborech pouze s příponou .php
.
Píšeš "kod je pridelen k html souboru". V tom je ten problém. Aby se ten soubor interpretoval, tak ve výchozím nastavení Apache musí mít příslušnou příponu (např. *.php).
Hraju si s tim stále .. ale výsledek je furt marnej =X ..
Popravde mi to prijde cele divne .. ale rikam si ze clovek co psal tu knizku o
tom bude vedet asi vic =)
(prehodil jsem teda oba dokumenty na php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Používání CGI programů</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<h1>Formuláře a CGI programy</h1>
<form action="CGIgetMethod.php" method = "get">
<fieldset>
<legend><font size = "+1">Zákazník</font></legend>
<table cellspacing="2" cellpadding="2" border="0">
<tr>
<td>Jméno:</td>
<td><input type="Text" name="Jmeno"></td>
</tr>
<tr>
<td>Příjmení:</td>
<td><input type="Text" name="Prijmeni"></td>
</tr>
</table>
</fieldset>
<br>
<fieldset>
<legend><font size = "+1">Způsob platby</font></legend>
<br>
<input type="radio" name="platba" value="VISA">VISA<br>
<input type="radio" name="platba" value="MASTERCARD" checked>MasterCard<br>
<input type="radio" name="platba" value="Hotovost">Hotovost<br>
<br>
</fieldset>
<br>
<input type="submit" name="odeslat" value="Odeslat na server">
</form>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>PHP skript</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<h1>Automaticky generovaná stránka</h1>
<pre>
<h2>Načtení parametrů</h2>
<?php
echo "\nPoužitá metoda : $_SERVER[REQUEST_METHOD]\n";
if ( $_SERVER['QUERY_STRING'] ) {
echo "CGI program obdržel následující parametry: $_SERVER[QUERY_STRING]\n";
echo "<br><hr width = \"50%\"><br>";
echo "<h3>Zpracování parametrů:</h3>";
echo "\n<font size=\"+1\">Uživatel</font>:\n";
echo " <b>Jméno:</b> $_GET[Jmeno]\n";
echo " <b>Příjmení:</b> $_GET[Prijmeni]\n";
echo " <b>Použitá platba:</b> $_GET[platba]\n";
}
else {
echo "Na vstupu nejsou žádná data\n";
}
echo "\n<font size=\"+1\">Datum</font>: \n";
$my_t=getdate(date("U"));
echo " <B>Dnešní datum je:</b> $my_t[mday].$my_t[mon].$my_t[year]";
?>
</pre>
<hr>
<i>Tato stránka byla automaticky vygenerována scriptem napsaným v jazyce PHP</i>
</body>
</html>
A jaký je výsledek?
Používej, prosím, tlačítko odpovědět, dotyčnému vyskočí notifikace
a přijde e-mail
EDIT: A když nahráváš dva soubory, použij dvakrát
\
, napoprvé jsem si vůbec nevšiml, že jde o dva soubory
Toto mi z toho vyleze : =)
Automaticky generovaná stránka
Načtení parametrů
";
echo "
Zpracování parametrů:
";
echo "\nUživatel:\n";
echo " Jméno: $_GET[Jmeno]\n";
echo " Příjmení: $_GET[Prijmeni]\n";
echo " Použitá platba: $_GET[platba]\n";
}
else {
echo "Na vstupu nejsou žádná data\n";
}
echo "\nDatum: \n";
$my_t=getdate(date("U"));
echo " Dnešní datum je: $my_t[mday].$my_t[mon].$my_t[year]";
?>
Tato stránka byla automaticky vygenerována scriptem napsaným v jazyce PHP
Problém bude v nastavení serveru, když stejný soubor vytvořím u sebe, tak se normálně správně interpretuje.
Tak dekuji za pomoc =) Aspon vim kam jit dal hledat =D
Tady to máš funkční: https://infs.cz/itnetwork/
Je to PHP 7.1
Zobrazeno 15 zpráv z 15.