No taas tässä pommitan näil viesteil mut itsekkään en tuota toimimaan saa vaikka minkä teen mutta siis vika ilmenee kun yritetään vastata kyselyyn.
vastaa.php
<?php $vastaus = $_GET["vastaus"]; $tt = file("kysely.txt"); $tiedosto = fopen("kysely.txt", "w"); fwrite ($tiedosto, $tt[0]); fwrite ($tiedosto, $tt[1]); fwrite ($tiedosto, $tt[2]); fwrite ($tiedosto, $tt[3]); fwrite ($tiedosto, $tt[4]); if ($vastaus == 1) { $tt[5] = $tt[5] + 1; fwrite ($tiedosto, $tt[5] . "\r\n"); fwrite ($tiedosto, $tt[6] . "\r\n"); fwrite ($tiedosto, $tt[7] . "\r\n"); fwrite ($tiedosto, $tt[8] . "\r\n"); } elseif ($vastaus == "2") { fwrite ($tiedosto, $tt[5] . "\r\n"); $tt[6] = $tt[6] + 1; fwrite ($tiedosto, $tt[6] . "\r\n"); fwrite ($tiedosto, $tt[7] . "\r\n"); fwrite ($tiedosto, $tt[8] . "\r\n"); } elseif ($vastaus == "3") { fwrite ($tiedosto, $tt[5] . "\r\n"); $tt[7] = $tt[7] + 1; fwrite ($tiedosto, $tt[6] . "\r\n"); fwrite ($tiedosto, $tt[7] . "\r\n"); fwrite ($tiedosto, $tt[8] . "\r\n"); } elseif ($vastaus == "4") { fwrite ($tiedosto, $tt[5] . "\r\n"); $tt[8] = $tt[8] + 1; fwrite ($tiedosto, $tt[6] . "\r\n"); fwrite ($tiedosto, $tt[7] . "\r\n"); fwrite ($tiedosto, $tt[8] . "\r\n"); } else{ echo "Joku vika jossakin"; } header ("Location: kysely.php"); ?>
Tämän koodin olisi tarkoitus muuttaa vain yhtä riviä mutta jos kysely.txt on aluksi:
Mitä nyt taas? Vaikka mitä Jotain Ihan outoo EMT!!! 0 0 0 0
vastatessa kahteen kohtaan (esim nyt ensin kohtaan 3 ja sitten 2) tiedoston sisältö muuttuu:
Mitä nyt taas? Vaikka mitä Jotain Ihan outoo EMT!!! 0 1 0
Opettele nyt hyvä ihminen käyttämään silmukoita. Tuokin menee niin helposti, kun muutat tiedoston ($vastaus+4). riviä ja sitten silmukassa tallennat kaikki rivit uudestaan. Taas suosittelisin trim-funktiota lisäksi.
Niin ja ole ystävällinen äläkä tee koko ajan uusia aiheita. Voit jatkaa samaan niin kauan, kuin on yhä kyse kyselystä.
no joo mut en kyl keksinyt YHTÄÄN tapaa käyttää silmukkaa tohon ja sillee....
EN näkisi tuossa olevan mitään ongelmaa, lisää vielä loppuun fclose() functio.
Minkälainen on on sivu josta tullaan tallennusvaiheeseen?
Jorgga, tee niin, kuin äsken neuvoin. Koodi menee kymmenelle riville ja toimii.
Edit: Annetaan nyt pseudokoodi vielä:
Jos vastaus on muuta kuin 1-4 Tulostetaan virhe ja poistutaan (exit;) Luetaan tiedosto Muutetaan (vastaus+4). riviä yhdellä Avataan tiedosto Silmukassa käydään läpi kaikki rivit Kirjoitetaan tiedostoon trim(rivi)."\n" Suljetaan tiedosto
Aihe on jo aika vanha, joten et voi enää vastata siihen.