Juups. Ooon tässä miettinyt ja testaillut, että miten saisi tehtyä niinkin yksinkertaisen asian kuin linkin jota painamalla poistaa kyseisen rivin tiedostosta.
Elikkä laitetaan sitten vaikka vähän koodia.
-- poista.php -- (tms)
<?php $rivit = file("viestit.txt"); $rivit2 = array_reverse($rivit); foreach($rivit2 as $tulos => $tulos2) { $tiedot = explode("|", $tulos2, 6); $nimi = $tiedot[0]; $email = $tiedot[1]; $www = $tiedot[2]; $day = $tiedot[3]; $tunnus = $tiedot[4]; $asia = $tiedot[5]; echo "<b>$nimi</b> | <a href=\"mailto:$email\">Sähköposti</a> | <a href=\"$www\">WWW</a> | <b>$day</b> | $tunnus | <a href=\"poistarivilinkki\">Poista</a><br>"; echo "$asia<br><br>"; } ?>
Joo elikkä tolla tavalla se tulostaa näytölle tuossa poista.php:ssä(lue.php vähän eritavalla, mutta se ei probleema).. ja kun tuota "Poista" linkkiä klikkaa niin poistaisi kyseisen rivin.. ja sitten pitäisi varmaan kirjoittaa sen jälkeen uudestaan ne rivit, että ei tulisi mitään rivi "hyppäyksiä" tms..? vai?
eli olisi vaikka:
Rivi 1
Rivi 2
Rivi 3
Ja sitten kun poistaisi Rivin 2 niin ei jäisi
Rivi 1
Rivi 3
vaan rivi 3 muuttuisi rivi 2:ksi.. :DD
En ihmettele jos ette ymmärtäneet. Ja tiedän, että esim. unset() poistaa rivin, mutta en osaa hahmottaa miten linkkiä painamalla poistuu rivi.. ://..
kokeile silleen, että korvaat rivin 2 ei-millään, eli muutat sen täysin tyhjäksi
ööö. Nyt meni vähän ohi. :/ :P Eli ku poistaisin vaikka rivin 2 niin se vain tyhjentyisi..? :o. Mutta en ossa hahmotta miten linkkiä painamalla poistaisi sen rivin millä rivillä sitä "Poista" linkkiä on painettu..?
Koska tuossa on array_reverse, pitäisi vähän viritellä, jotta rivit menisivät takaisin alkuperäiseen järjestykseen. Nyt en jaksa :P, joten pistän vain tämmöisen. Tämä on testaamatonta koodia...
<?php //tuohon sinun tiedostoosi: echo "<a href=\"poistarivi.php?r=$tulos\">"; ?>
Uusi tiedosto poistarivi.php (voit myös koodata tämän hieman muunneltuna tuon oman tiedostosi sisälle):
<?php if(!isset($_GET['r'])) { die("Poistettavaa riviä ei ole määritelty"); } $file = file("viestit.txt"); $rivit = array_reverse($file); $f = fopen("viestit.txt", "w+"); foreach($rivit as $key => $value) { if($key != $_GET['r']) { fwrite($f, $value); } } fclose($f); echo "Rivi $_GET['r'] on poistettu!"; ?>
Tänks. Rullaa kuin mummo skeitillä.. äh. Ei voi ajatella järkevästi näin kuumalla :D. Mut kiitos ja vähän virittää tuota niin on 10. :)
Aihe on jo aika vanha, joten et voi enää vastata siihen.