PHP Souhrnné cvičení Mgr. Josef Nožička IKT PHP
AnotaceMateriál poskytuje žákům sadu příkladů na ukládání dat, získaných s pomocí formuláře, do textového souboru. Musí být doplněn výkladem. AutorMgr. Josef Nožička (Autor) JazykČeština Očekávaný výstup26–41-M/01 Elektrotechnika M/01 Technické lyceum Speciální vzdělávací potřeby - žádné - Klíčová slovaSoubor, formulář, skript Druh učebního materiáluPrezentace Druh interaktivityKombinované Cílová skupinaŽák Stupeň a typ vzděláváníodborné vzdělávání Typická věková skupina let Vazby na ostatní materiályJe součástí IKT.
Příklad 1 Vytvořte formulář dle níže uvedeného vzhledu :
Příklad 1 - pokračování V dokumentu Souhrnné cvičení 2 jsme si ukázali zpracování tohoto formuláře tak, že byl proveden kontrolní výpis odeslaných dat na obrazovku. Příklad výpisu: Nyní program upravíme tak, aby se odeslaná data místo na obrazovku zapsala do textového souboru UCASTNICI.TXT, přičemž struktura zapsaných dat bude stejná, jako při předchozím výpisu kontrolních informací na obrazovku.
Řešení: <?php $f=fopen("ucastnici.txt","a"); fwrite($f, "Jméno:".$_REQUEST["jmeno"]." "); fwrite($f, "Příjmení:".$_REQUEST["prijmeni"]." "); fwrite($f, "Adresa:".$_REQUEST["adresa"]." "); fwrite($f, " ".$_REQUEST[" "]." "); $pom=$_REQUEST["kurzy"]; for ($i=0;$i<=4;$i++) { if ($pom[$i]) fwrite($f, "$pom[$i] "); } if ($_REQUEST["platba"]==1) fwrite($f," Platba: hotově "); else fwrite($f," Platba: převodem na účet "); fclose($f); echo "Údaje byly zapsány do souboru UCASTNICI.TXT"; ?> Do příslušného souboru se zapíší následující příkazy:
Kontrolní výpis souboru: <?php $f=fopen("ucastnici.txt","r"); while (!feof($f)) { $radek=fgets($f,1024); echo"$radek "; } fclose($f); ?> Obsah souboru na obrazovku je možno v PHP provést jednorázově s pomocí příkazů include nebo require: include(“ucastnici.txt“); případně require (“ucastnici.txt“); Pokud by byl s výpisem souboru pomocí těchto příkazů problém (například kvůli způsobu ukončování řádků při zápisu do souboru), je možné tento výpis jednoduchým způsobem naprogramovat:
Příklad 2: Napište program, který z textového souboru UCASTNICI.TXT (získaného pomocí programu z předchozího příkladu) vytvoří přehledný HTML dokument, v němž na každém řádku bude vždy zobrazeno jméno, příjmení a adresa přihlášeného účastníka. Analýza: Aby se soubor UCASTNICI.TXT dal lépe zpracovat pro čtení, v programu z předchozího příkladu provedeme drobné úpravy: na prvních 4 řádcích vypustíme výpis popisků (Jméno, Příjmení …) a ukončení řádku nebudeme provádět pomocí HTML tagu, ale pomocí příkazu echo “\n“.
Řešení: $f=fopen("ucastnici.txt","a"); fwrite($f, $_REQUEST["jmeno"]."\n"); fwrite($f, $_REQUEST["prijmeni"]."\n"); fwrite($f, $_REQUEST["adresa"]."\n"); fwrite($f, $_REQUEST[" "]."\n"); $pom=$_REQUEST["kurzy"]; for ($i=0;$i<=4;$i++) { if ($pom[$i]) fwrite($f, "$pom[$i] "); } if ($_REQUEST["platba"]==1) fwrite($f,"\n Platba: hotově\n"); else fwrite($f,"\n Platba: převodem na účet\n"); fclose($f); echo "Údaje byly zapsány do souboru UCASTNICI.TXT "; fclose($f); } Skript tak bude upraven do následující podoby:
Řešení - pokračování: <?php $f=fopen("ucastnici.txt","r"); $g=fopen("ucastnici.html","w"); fwrite($g," Seznam účastníků: "); fwrite($g," "); while (!feof($f)) { $radek=fgets($f,1024); fputs($g," $radek"); $radek=fgets($f,1024); fputs($g," $radek"); $radek=fgets($f,1024); fputs($g," $radek"); for ($i=0;$i<3;$i++) $radek=fgets($f,1024); } fwrite($g," "); fclose($g); ?> Nyní nám již nic nebrání v naprogramování výsledného skriptu:
Příklad 2 – výsledný výpis:
Zdroje BRÁZA, Jiří. PHP 5: začínáme programovat. 1. vyd. Praha: Grada Publishing, 2005, 244 s. ISBN X.