Elikkäs mulla html lomake, johon kirjoitetaan tietueen ID, lomakkeen käsittelijä sitten hakee sen kirjoitetun ID, ja poistaa sen sitten. Ja tämä ei vaan toimi, en tiedä mikä on vikana, mutta laitan molempien koodi pätkät tähän, niin joku viisas halutessaan voisi neuvoa :)
Lomake:
<form action="poista.php" method="post"> <input type="text" name="id" value=""> <button type="submit">Poista</button> </form>
poista.php:
<?php $id = $_POST["id"]; $tietokanta = "***"; $taulu = "***"; function naytataulu($tietokanta, $taulu) $mysql_yhteys = mysql_connect('***', '***', '***'); $kentat = mysql_list_fields($tietokanta, $taulu, $mysql_yhteys); $kenttia_yht = mysql_num_fields($kentat); $result = mysql_query("DELETE FROM *** WHERE nimi = $id "); echo "Kohde $id poistettu!"; ?>
Tuolla rivillä 5 on ainakin jokin ylimääräinen funktion alustus, josta muuten puuttuu sitä paitsi sulkeet {}. $kentat ja $kenttia_yht muuttujatkaan eivät näytä tarpeellisilta.
Kannattaa tutustua myös PDO:hon.
Ps. Tohon kannattaisi myös yhdistää jokin käyttäjän tunnistaminen, nyt kuka vaan voi poistaa tietojasi.
Joo nyt toimii! Huomasin että tossa mysql lausessa on "WHERE nimi" joka olisi pitänyt olla "WHERE id". Ja tuon functionin poisto myös auttoi.
Ja toho PS:ään vastaten, nämä kaikki ovat /admin hakemistossa, johon on pääsy vain minulla, ja toisella sivuston ylläpitäjällä, eli .htaccess:lla tehty.
Kiitokset vielä!
Opettele käyttämään MySQL:ää PHP:llä oikein. Älä käytä vanhentuneita mysql-alkuisia funktioita.
Aihe on jo aika vanha, joten et voi enää vastata siihen.