en saa parametrinvälitystä muutettua $_GET-muodosta $_POST-muotoon alla olevassa koodissa....voisko joku avittaa!
<?php require "../../../../funktiot.php"; $yhteys = AvaaTietokanta(); // SQL-kysely - haetaan kaikki tiedot $sql="select * from johtokunta where delflag = '1' order by id"; //suoritetaan kysely $mysql_haun_tulos = mysql_query($sql, $yhteys); //laitetaan taulun kenttänimet taulukkoon echo "<table border=\"1\"><tr> <th>Nimi</th> <th>Osoite</th> <th>LuoPvm</th> <th>ModPvm</th> <th>Toim</th> </tr>"; // Luetaan SQL-kyselyn palauttamaa tietoa rivi riviltä while($mysql_tiedot = mysql_fetch_array($mysql_haun_tulos)){ echo "<tr> <td>". $mysql_tiedot["nimi"]."</td> <td>". $mysql_tiedot["osoite"]."</td> <td>". $mysql_tiedot["pvm"]."</td> <td>". $mysql_tiedot["modpvm"]."</td> <td><a href=\"palauttaa.php?id=" .$mysql_tiedot["id"]. "\">palauta</a></td> </tr>";} echo "</table>"; //vapautetaan hakutuloksiin käytetty muisti mysql_free_result($mysql_haun_tulos); //suljetaan yhteys mysql_close($yhteys); ?>
Siis mitä?? Missä kohtaa koodissa ilmenee muuttuja $_GET tai $_POST?
<td><a href=\"palauttaa.php?id=" .$mysql_tiedot["id"]. "\">palauta</a></td>
Millä tavalla aiemmissa keskusteluissa esitetyn formin sijoittaminen tuohon linkin paikalle tuottaa ongelmia?
tässä messu:
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /xxxx/xxxx/xxxx/xxxx/xxxx/xxxx/muuta_tietue.php on line 62
ja tässä koodi josta se tulee:
<php? echo "<table border=\"1\"><tr> <th>Nimi</th> <th>Osoite</th> <th>LuoPvm</th> <th>ModPvm</th> <th>Toim</th> </tr>"; // Luetaan SQL-kyselyn palauttamaa tietoa rivi riviltä while($mysql_tiedot = mysql_fetch_array($mysql_haun_tulos)){ echo "<tr> <td>". $mysql_tiedot["nimi"]."</td> <td>". $mysql_tiedot["osoite"]."</td> <td>". $mysql_tiedot["pvm"]."</td> <td>". $mysql_tiedot["modpvm"]."</td> <td><form action="poistaa.php" method="post" > <input type="hidden" name="id" value=". $mysql_tiedot["id"]" /> <input type="submit" value="Poista"> </form> </td> </tr>";} echo "</table>"; ?>
Jos tonne kooditageihin lisää noi <?php -tagit, niin näkee heti missä vika. Värittävän editorin käyttö ei olisi ihan turha juttu.
<?php echo "<table border=\"1\"><tr> <th>Nimi</th> <th>Osoite</th> <th>LuoPvm</th> <th>ModPvm</th> <th>Toim</th> </tr>"; // Luetaan SQL-kyselyn palauttamaa tietoa rivi riviltä while($mysql_tiedot = mysql_fetch_array($mysql_haun_tulos)){ echo "<tr> <td>". $mysql_tiedot["nimi"]."</td> <td>". $mysql_tiedot["osoite"]."</td> <td>". $mysql_tiedot["pvm"]."</td> <td>". $mysql_tiedot["modpvm"]."</td> <td><form action="poistaa.php" method="post" > <input type="hidden" name="id" value=". $mysql_tiedot["id"]" /> <input type="submit" value="Poista"> </form> </td> </tr>";} echo "</table>";
Tarkennan vielä, että muun kuin php:n käsiteltäväksi tarkoitettujen juttujen ei pitäisi näkyä sinisenä.
olen vissiin senverran värisokea, että en väritettynäkään näe heti missä vika...
ainakin <td> jälkeen puuttui ".
volume kirjoitti:
olen vissiin senverran värisokea, että en väritettynäkään näe heti missä vika...
PHP tulkitsee kaiken sinisen omaksi koodikseen. Jos haluat laittaa lainausmerkin tekstiin, pitää se escapettaa laittamalla \-merkki sen eteen, eli:
<?php echo "Lainausmerkki: \" tekstiä..."; ?>
hei,
toivoisin jonkun tietäjän vastaavan suoraan mikä koodissa on pielessä.
toivoo nimimerkki "sokea oman koodinsa kanssa" :-)
Jos haluat tulostaa lainausmerkkejä lainausmerkkien sisällä, pitää ne escapettaa eli lisätä kenoviiva (\) niiden eteen. Muutoin PHP tulkitsee, että tulostus päättyy.
Käytännön PHP-opas on muuten hyödyllistä luettavaa.
Olit aikaisemminkin osannut escapettaa lainausmerkit, miksi se nyt oli niin vaikeaa?
<?php echo "<table border=\"1\"><tr> <th>Nimi</th> <th>Osoite</th> <th>LuoPvm</th> <th>ModPvm</th> <th>Toim</th> </tr>"; // Luetaan SQL-kyselyn palauttamaa tietoa rivi riviltä while($mysql_tiedot = mysql_fetch_array($mysql_haun_tulos)){ echo "<tr> <td>". $mysql_tiedot["nimi"]."</td> <td>". $mysql_tiedot["osoite"]."</td> <td>". $mysql_tiedot["pvm"]."</td> <td>". $mysql_tiedot["modpvm"]."</td> <td><form action=\"poistaa.php\" method=\"post\" > <input type=\"hidden\" name=\"id\" value=\"" . $mysql_tiedot["id"] . "\" /> <input type=\"submit\" value=\"Poista\"> </form> </td> </tr>";} echo "</table>"; ?>
kiitos neuvosta :-)
se miksi en sitä osannut johtuunee taitamattomuudesta ja ehkä myös hieman siitä, että katselin edellä annettuja esimerkkejä ja niissä ei lainausmerkkejä escapetettu -enpä sitten osannut minäkään niitä tehdä....mutta meni perille nyt!
Aihe on jo aika vanha, joten et voi enää vastata siihen.