IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Rada s kodem

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

Aktivity
Avatar
Ernest Kuki
Člen
Avatar
Ernest Kuki:4.11.2017 13:16

Ahoj, mohl by mi někdo pomoc opravit tenhle kod? Delam ted podle jedne knizky a maj tam nejspis něco spatne =)
Nejsem na tom ale tak dobře s php abych byl schopen to zatím sam opravit =) .. Dekuji předem za pomoc =)

<?php
echo "\nPoužitá metoda : $_SERVER[REQU­EST_METHOD]\n";
if ( $_SERVER ['QUERY_STRING'] ) {
echo "CGI program obdržel následující parametry:
$_SERVER[QUERY_STRIN­G]\n";
echo "<br><hr width = \"50%\"><br>";
echo "<h3>Zpracování parametrů:</h3>";
echo "\n<font size=\"+2\">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 "<font size=\"+2\">Da­tum</font>: ";
$my_t=getdate(da­te("U"));
echo " <b>Dnešní datum je:</b>
$my_t [mday].$my_t [mon].$my_t [year]";

?>

Odpovědět
4.11.2017 13:16
Najdi co tě baví a nech ať tě to zabije..
Avatar
David Dostal
Tvůrce
Avatar
Odpovídá na Ernest Kuki
David Dostal:4.11.2017 13:41

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]";

?>
 
Nahoru Odpovědět
4.11.2017 13:41
Avatar
Ernest Kuki
Člen
Avatar
Odpovídá na David Dostal
Ernest Kuki:4.11.2017 13:45

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 =)

Nahoru Odpovědět
4.11.2017 13:45
Najdi co tě baví a nech ať tě to zabije..
Avatar
David Dostal
Tvůrce
Avatar
Odpovídá na Ernest Kuki
David Dostal:4.11.2017 15:04

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?

 
Nahoru Odpovědět
4.11.2017 15:04
Avatar
Ernest Kuki
Člen
Avatar
Odpovídá na David Dostal
Ernest Kuki:4.11.2017 15:13

No přes apache .. Myslis ze by to vypadalo jinak kdybych si to vlozil na hosting? =)

Nahoru Odpovědět
4.11.2017 15:13
Najdi co tě baví a nech ať tě to zabije..
Avatar
David Dostal
Tvůrce
Avatar
Odpovídá na Ernest Kuki
David Dostal:4.11.2017 16:42

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?

 
Nahoru Odpovědět
4.11.2017 16:42
Avatar
Jan Lupčík
Tvůrce
Avatar
Odpovídá na Ernest Kuki
Jan Lupčík:4.11.2017 17:19

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.

Nahoru Odpovědět
4.11.2017 17:19
TruckersMP vývojář
Avatar
Jakub Žák
Člen
Avatar
Odpovídá na Ernest Kuki
Jakub Žák:4.11.2017 17:21

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).

Nahoru Odpovědět
4.11.2017 17:21
Kuba je ajťák. Buď jako Kuba.
Avatar
Ernest Kuki
Člen
Avatar
Ernest Kuki:4.11.2017 17:28

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>
Nahoru Odpovědět
4.11.2017 17:28
Najdi co tě baví a nech ať tě to zabije..
Avatar
Jakub Žák
Člen
Avatar
Odpovídá na Ernest Kuki
Jakub Žák:4.11.2017 17:38

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 ;)

Editováno 4.11.2017 17:41
Nahoru Odpovědět
4.11.2017 17:38
Kuba je ajťák. Buď jako Kuba.
Avatar
Ernest Kuki
Člen
Avatar
Odpovídá na Jakub Žák
Ernest Kuki:4.11.2017 17:40

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(da­te("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

Nahoru Odpovědět
4.11.2017 17:40
Najdi co tě baví a nech ať tě to zabije..
Avatar
Jakub Žák
Člen
Avatar
Odpovídá na Ernest Kuki
Jakub Žák:4.11.2017 17:47

Problém bude v nastavení serveru, když stejný soubor vytvořím u sebe, tak se normálně správně interpretuje.

Editováno 4.11.2017 17:47
Nahoru Odpovědět
4.11.2017 17:47
Kuba je ajťák. Buď jako Kuba.
Avatar
Ernest Kuki
Člen
Avatar
Odpovídá na Jakub Žák
Ernest Kuki:4.11.2017 17:48

Tak dekuji za pomoc =) Aspon vim kam jit dal hledat =D

Nahoru Odpovědět
4.11.2017 17:48
Najdi co tě baví a nech ať tě to zabije..
Avatar
Jakub Žák
Člen
Avatar
Odpovídá na Jakub Žák
Jakub Žák:4.11.2017 17:54

Tady to máš funkční: https://infs.cz/itnetwork/

Je to PHP 7.1

Nahoru Odpovědět
4.11.2017 17:54
Kuba je ajťák. Buď jako Kuba.
Avatar
Jakub Žák
Člen
Avatar
Odpovídá na Ernest Kuki
Jakub Žák:4.11.2017 17:59

A tady ještě pro jistotu na PHP 5.6:

http://php5.infs.cz/itnetwork/

Nahoru Odpovědět
4.11.2017 17:59
Kuba je ajťák. Buď jako Kuba.
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 15 zpráv z 15.