Dotaz do db MySQL na základě předané proměnné
Předám si přes $_GET proměnnou s id otázky. Podle ní si chci vytáhnout z databáze text otázky, aby to měl odpovídající na očích, ale nenačte se mi vůbec stránka, zase asi nějaký pžeklep, jsem na ně mistr, nebo jiná "kráťovina". kus kódu, s poznámkami.
<!--předání proměnné - pak ta echa vyndám-->
<?php
if (isset($_GET['id']))
echo 'Předána proměnná id = ',$_GET['id'],'<br>';
else
echo 'Proměnná id nebyla předána<br>';
$id = $_GET[id];
echo "$id";
?>
<!--když vyndám následující kousek php kodu, tak se to načte, jinak se stránka nenačte buuu-->
<?php
include "pripojeni.php";
$vysledek = mysql_query ("SELECT * FROM rozhovory WHERE id = '$id'");
//zkoušel jsem i $vysledek = mysql_query ("SELECT * FROM rozhovory WHERE id = '".intval( $id )."'");
or die(mysql_error());
/* Konec přímé práce s databází. */
while ($zaznam = mysql_fetch_array ($vysledek)):
?>
<!--když vyndám předcházející kousek php kodu, tak se to načte, jinak se stránka nenačte buuu-->
<!--formulář do kterého se má podle té id načíst číslo autor otázka-->
<form method="post" name="odpoved" action="odpoved_zpracovani.php"....
Prohoď typ uvozovek:
// EDIT
Ještě lepší možná by bylo:
Bez záruky
Nefunguje bůůůůůůů a děkuji za předchozí bleskovou reakci.
k vidění na
http://krata.bubakov.net/rozhovory/pokusnik/odpoved et.php?id=3
takyedit://Jdu zkusit to druhé.
edit2://také nejde
Pozri sa na riadok "or die(mysql_error());" - prečo máš pred ním bodkočiarku? Keď tam pridáš ten while, dáš tam aj endwhile?
Zapni si vypisovanie chybových hlásení a hneď uvidíš, kde je problém.
Dalsi chyba:
Kluci vy jste zlati, pouze mrknete a hned vidíte. Stránka už se po doplnění endwhile načítá, ale jen to echo od $_GET a textarea na odpověď. Když si dám zobrazit zdroják, vůbec tam není ono <table> atd.
edit.//bych potřeboval nějaký on line PHP validátor, který by mi ty ptákoviny odhalil. Nevíte o něčem?
Já nejsem programátor, ale jen uživatel.
Programátor je tady asi los.
Co se týče výpisu té tabulky databáze pracuje poněkud jinak
Databáze v tomto případě vypisuje pouze "surové data".
A to je dobře, protože máš pak více prostoru pro vlastní úkony.
Pokud chceš vypisovat do tabulky tak nějak takhle:
Pisu to zase z hlavy, muzou tam byt i jine chyby nez neefektivne zapsany kod....
Já tam mám toto:
jenže se mi to vůbec nenačte, až ta textarea, zase nějaký středník, či tak...
edit://ted jsem neco nasel a zobrazila se bunka pro odpoved.
Musím zmizet.
Pokud někde nahoře je začátek cyklu while pak bych očekával, že
ti vyleze :
1) Každý řádek z databáze bude v jedné tabulce (nikoliv buňce)
2) Každé jedné tabulce z předchozího bodu 1) bude předcházet otevřený tag definujicí formulář:
Raději se dívej do zdrojáku stránky(view - source). Vizualizovaná část nemá relevantní vypovidací hodnotu, různé prohlížeče reagují různě na chybné kódy.
Nechci tam mít formuláře od všech otázek naráz (to už jsem měl), to je na předcházející stránce (funkční). Chci docílit toho, aby když se dá na té předchozí odpovědět, předala se id otázky jako $_GET a načetla se pouze tato otázka, k níž se do textarea napíše odpověď a odešle na ten odpoved_zpracovani.php.
Mrkni na http://krata.bubakov.net/rozhovory/pokusnik/odpovid ani.php budeš v obraze.
Nezabudni si to zabezpecit, skor nez ti niekto zmaze celu databazu...
SQL_injection
sql-injection.html
Klasika, překlep.
Krato jeste dodam ze to muze byt i takto priklad
Vse funguje i bez prevodu promenne.