Kyhäsin tässä tänään about puoli tuntia tällaista linkkijärjestelmää enkä keksi, että mikä on vikana, kun kaikki linkit tallentuvat tekniikka.txt:iin, eivätkä aihepiirien mukaisiin tekstitiedostoihin, kuten pitäisi.
***adminarea.php <form action="linkit.php" method="post"> Osoite:<br> <input type="text" name="url" style="border: 1px solid black"><br> Linkkiteksti:<br> <input type="text" name="linkkiteksti" style="border: 1px solid black"><br> <input type="checkbox" name="suora">Suora koodi:<input type="text" name="koodi"> Osio: <input type="radio" name="osio" value="muu">Muu <input type="radio" name="osio" value="musa">Musiikki <input type="radio" name="osio" value="mopo">Mopot <input type="radio" name="osio" value="tekniikka">Tekniikka<br> <input type="submit" value="lähetä" style="border: 1px solid black"> </form>
***linkit.php (katkottu epäolennaiset) <?php $osio = $_POST['osio']; $koodi = $_POST['koodi']; $suora = $_POST['suora']; $url = $_POST['url']; $linkkiteksti = $_POST['linkkiteksti']; if($suora) { $tieto = $koodi; } else { // Linkki kootaan $linkki = "<a href=\"http://".$url."\">".$linkkiteksti."</a><br>"; } if($linkki) { // Kirjoitetaan linkki tiedoston alkuun. $tieto = "$linkki"; } if ($osio = "tekniikka") { $filu = file("tekniikka.txt"); $filu[0] = "\n".$tieto."\n"; $liitos = implode("", $filu); $save = fopen("tekniikka.txt", "w"); } elseif ($osio = "mopo") { $filu = file("mopo.txt"); $filu[0] = "\n".$tieto."\n"; $liitos = implode("", $filu); $save = fopen("mopo.txt", "w"); } elseif ($osio = "musa") { $filu = file("musa.txt"); $filu[0] = "\n".$tieto."\n"; $liitos = implode("", $filu); $save = fopen("musa.txt", "w"); } else { $filu = file("linkit.txt"); $filu[0] = "\n".$tieto."\n"; $liitos = implode("", $filu); $save = fopen("linkit.txt", "w"); } fwrite($save, $liitos); fclose($save); echo $osio; ?>
<?php // .... if ($osio = "tekniikka") { // .... ?>
Silmään sattui ainakin, että olet käyttänyt ehdoissa vain yhtä =-merkkiä; vrt. $osio == "tekniikka".
Aloittelijoiden virheitä, katsos... Nyt toimii.
Älä yritä mitään liian vaikeaa, jos aloittelet.
Joo tiedetään, eikä tuo ole edes niin vaikea.
Eipä niin ja pitäähän sitä tehdä kaikenlaista, jotta oppii. Tuo koko if-elseif -säätö hoituisi suoraan $osio-muuttujaa käyttämällä filun avauksessa:
<?php if (empty($osio)) $osio="linkit"; $filu = @file($osio."txt"); $filu[0] = "\n".$tieto."\n"; $liitos = implode("", $filu); $save = fopen($osio.".txt", "w"); fwrite($save,$liitos); fclose($save); ?>
Muuttujan ympärille ei ole tarkoitus laittaa hipsuja yleensäkään. Vaikeahkon näköiset on myös sisennykset. Vaikeahkon näköisesti hoidetaan myös tiedostoon kirjoitus.
No, sisennykset ovat vaikeat, koska se on mun vaikea tyylini+notepad+selainikkuna :P. Parantelin tota tänään about tunnin ja nykyään siinä on keksi-sisäänkirjautumiset ja kaksi tiedostoa ja se on vakaamman oloinen. Arvasin kyllä, että jonkinlainen tuollainen tapa on olemassa, mutta PHP:tä opiskellut olen vasta kaksi kuukautta... meneehän suomenkin täydelliseen opiskeluun koko elinikä :P
Aihe on jo aika vanha, joten et voi enää vastata siihen.