yritän saada ton tapahtumaan yhdellä sivulla eli lisäyksen, mutta joutuu tekee
tuollaisen kikan et ohjaan toiselle sivulle ja sieltä takaisin, koska ohjaa muuten loputtomasti ja lisää joka kerta kun päivitän sivun.
sivulta testi.php ohjaan siis sivulle tessi.php joka ohjaa takaisin
testi.php sivulle.
echo "<html><body>"; echo "<form method='POST' action='$PHP_SELF'> <pre> Linkki: <input type='text' name='linkki' value='http://' size='40'> Otsikko: <input type='text' name='otsikko' size='40'> Kuvaus: <input type='text' name='kuvaus' size='40'> Luokka: <input type='text' name='luokka' size='40'> </pre> <input type='submit' value=' Lisää linkki ' target='_self' name='B1'> <input type='reset' value='Tyhjennä' name='B2'> </p> </form>"; $linkki = $_POST['linkki']; $otsikko = $_POST['otsikko']; $kuvaus = $_POST['kuvaus']; $luokka = $_POST['luokka']; if(($linkki != "") & ($otsikko != "")){ mysql_query("INSERT INTO linkit (linkki,otsikko,kuvaus,luokka) VALUES ('$linkki','$otsikko','$kuvaus','$luokka') ", $yhteys); mysql_close($yhteys); print "<meta http-equiv='refresh' content='0;url=tessi.php'>"; } echo "<table border>"; echo "<tr><td><b><a href=\"?id=linkit&sort=1&order=ASC\">ID</a></b></td> <td><b><a href=\"?id=linkit&sort=2&order=ASC\">linkki</a></b></td> <td><b><a href=\"?id=linkit&sort=3&order=ASC\">otsikko</a></b></td> <td><b><a href=\"?id=linkit&sort=4&order=ASC\">kuvaus</a></b></td> <td><b><a href=\"?id=linkit&sort=6&order=ASC\">luokka</a></b></td></tr>"; //käydään tavarat läpi for ($i = 0; $i < mysql_num_rows($haku); $i++) { //haetaan nimi, hinta ja määrä muuttujiin $id = mysql_result($haku, $i, "id"); $linkki = mysql_result($haku, $i, "linkki"); $otsikko = mysql_result($haku, $i, "otsikko"); $kuvaus = mysql_result($haku, $i, "kuvaus"); $luokka = mysql_result($haku, $i, "luokka"); //tulostetaan taulukon rivi echo "<tr><td>$id</td><td>$linkki</td><td>$otsikko</td> <td>$kuvaus</td><td>$luokka</td></tr>"; } echo "</table>"; echo "</body></html>";
Asetat sessionin kun menet tessi.php:hen ja jos sessioni on asetettu testi.php:ssä, ei enää uudelleenohjata/lisätä tiedostoon?
Kirjoita uuden linkin lisäyksen jälkeen näin:
header("Location: testi.php");
Tämä tarkoittaa, että siirrytään sivulle testi.php, ja samalla päästään eroon häiritsevistä lomaketiedoista. Tätä funktiota saa käyttää vain, kun sivulle ei ole tulostettu mitään, eli linkki täytyy lisätä heti skriptin alussa. Tietysti samaa konstia voi käyttää myös, jos lomake käsitellään erillisellä sivulla.
antaa tuon:
Warning: Cannot modify header information - headers already sent by (output started at D:\funktiot.php:11) in D:\serveri\harkat\tes.php on line 40
Onko funktio header skriptin alussa, ennen kuin sivulle on tulostettu mitään?
no nyt laitoin sen ihan alkuun, mutta nyt kun klikkaa päivitä niin lisää joka kerta linkin.
Sivusto ei uudelleenohjaudu asianmukaisesti
Palvelin tässä osoitteessa uudelleenohjaa pyyntöjä loputtomasti.
* Tämä virhe johtuu joskus siitä, että evästeiden asettamista ei ole
sallittu tai että se on erityisesti estetty tältä sivustolta.
Aihe on jo aika vanha, joten et voi enää vastata siihen.