Autor | Zpráva | ||
---|---|---|---|
chudst Profil |
#1 · Zasláno: 9. 2. 2012, 11:54:18
Mám problém se čtením ze souboru. Do souboru se mi vše ukládá v pořádku, ale nechce se mi nic zobrazit. (Nehází to ani chybové hlášky, prostě se mi to nezobrazuje. Z PHP teprve začínám experimentovat.)
<? if ($id == view) //pokud se soubor bude jen zobrazovat, zobrazí se možnost odeslat zprávu a zobrazí se zprávy { echo "<form action=\"zkouska.php?id=odeslano\" method=\"post\"> <!-- soubor se jmenuje \"zkouska.php\" a bude se odesílat do \"zkouska.php?id=odeslano\" --> Jméno: <input name=\"jmeno\" size=\"25\" id=\"jmeno\" value=\"Vaše jméno\"> <!-- pole pro jméno --> Email: <input name=\"email\" size=\"25\" id=\"email\" value=\"Váš email\"><br /> <!-- pole pro email --> Zpráva: <textarea name=\"zprava\" id=\"zprava\" rows=\"6\" cols=\"55\">Zpráva...</textarea> <!-- pole pro zprávu --> <br /> <center><input type=\"submit\" value=\"Odeslat\" class=\"tlacitko\"></center> <!-- tlačítko \"Odeslat\" --> </form>"; } //pokračování o několik řádků níže *) if ($id == odeslano) //pokud se klikne na tlačítko "Odeslat", skryje se možnost odeslání zprávy { $jmeno = $_POST['jmeno']; //převede jméno do proměnné $jmeno $email = $_POST['email']; //převede email do proměnné $email $zprava = $_POST['zprava']; //převede zprávu do proměnné $zprava $soubor = fopen("./text.txt", "a"); //nastaví se, kam se bude text ukládat fwrite($soubor, "$jmeno\n$email\n$zprava\n"); //text k uložení ve formě: Jméno-ENTER-Email-ENTER-Zpráva-ENTER fclose($soubor); //uzavře soubor echo "Úspěšně odesláno! <meta http-equiv=\"refresh\" content=\"1;url=http://vsohbrno.wz.cz/zkouska.php?id=view\">"; //vypíše, ať se ví, že se něco udělalo a přesměruje se mě zpět na začátek } Až posud mi to funguje správně. Ale níže čtení ... nenačítá :) // *) pokračujeme dále $soubor = fopen("./text.txt", "r"); //otevřu soubor s texty $i = 0; //nastavím $i na 0 while (!feof($soubor)) //dokud se nenarazí na konec souboru, budu provádět cyklus načítání do paměti { $i++; $jmeno[$i]=fgets($soubor); //prvni radek = načte se jméno $email[$i]=fgets($soubor); // druhy radek = načte se email $zprava[$i]=fgets($soubor); //treti radek = načte se zpráva } //cyklus pro načítání se ukončí fclose($soubor); //zavřu soubor s texty $a = $i; //do proměnné $a si uložím výsledek z $i (= číslo poslední zprávy, resp. číslo, kolikrát cyklus proběhl) $i = 1; //$i nastavím na 1 for ($i = 1; $i == $a; ++$i) // dokud nebude $i rovno poslednímu číslu ze zprávy, budou se vypisovat další zprávy (=tolikrát, kolikrát cyklus proběhl, tolikrát se vypíše) { echo "První řádek: $jmeno[$i] <br />"; echo "Druhý řádek: $email[$i] <br />"; echo "Druhý řádek: $zprava[$i] <br />"; } ?> Vím, že zatím nemám ošetřeno nic (co když v souboru nic není, apod.), ale nemůžu ošetřovat, když mi to nefunguje ani za ideálních podmínek. Pokud by někdo pomohl, budu moc rád - a děkuju! |
||
Ugo Profil |
#2 · Zasláno: 9. 2. 2012, 12:05:45
ř. 14-16 se mi nezdá nicméně změň ř16. na - for ($i = 1; $i != $a; ++$i) nebo "<="
|
||
chudst Profil |
#3 · Zasláno: 9. 2. 2012, 12:11:48
Taková ptákovina :) Už to funguje, děkuji!
|
||
Časová prodleva: 12 let
|
0