Ahoj lidi, prosim poradte. Mam nasledujici problem:
Snazim se predelat stary system globalnich promennych na superglobalni.
Toto je stary s jednim novym prvkem, coz mi stale funguje:
$data = MySQL_query("SELECT email FROM register WHERE prezdivka = '".$_POST['nick']."'");
$data2 = MySQL_Fetch_Array($data);
$_SESSION["emailreg"] = $data2['email'];
Jak mam predelat tahani $data a $data2 na "novy" system? Uz jsem toho hodne vyzkousel, ale vzdy jsem mel ve vysledku prazdno...
Diky predem, Scar
Zkus tohle..
$query = MySQL_Query("SELECT email FROM register WHERE prezdivka = '$_POST[nick]'");
$result = MySQL_Fetch_Array($query);
// vysledek do session
$result['email'] = $_SESSION['nazev_session']['email'];
No mne slo asi o neco jinyho. Neco ve stylu
$_POST['data'] = MySQL_Query[("SELECT email FROM register WHERE prezdivka = '".$_POST['nick']."'");
$_POST['data2'] = MySQL_Fetch_Array($_POST['data']);
namisto toho, co jsem napsal predtim...
Chci nastavit register_globals = Off a prejit tak na ten novejsi system...
Tak koukam, ze mi tu asi nikdo nepomuze...
Hlavne bych potreboval nazornou ukazku co se tyce pole a cyklu...
Napriklad predelani tohoto:
$vysledek = MySQL_Query("SELECT * FROM kniha WHERE jmeno = '".$_SESSION["username"]."'ORDER BY ID DESC");
while ($zaznam = MySQL_Fetch_Array($vysledek))
{
echo "<A href=\"index.php?ID=".$zaznam["ID"]."\">EDIT</A><BR>";
}
Jak ziskat podle noveho zpusobu superglobalnich promennych tu hodnotu ID ze zaznamu?
Vidím, že v tom máš asi pěkný zmatek! ;-)
S příchodem superglobálních proměnných se změnil pouze přístup k datům, která jsou skriptu předávána.
Dříve, tedy s register_globals = on, php automaticky zaregistrovalo pro vstupní data proměnné:
Tedy skript.php?promenna1=ahoj zanmenalo, že ve skriptu jsi mohl použít proměnnou $promenna1, která měla v tomto případě hodnodtu "ahoj".
Nyní, přestože je register_globals většinou stále on, používá se už raději nového způsobu přistupování ke vstupním datům. Rodíl je hlavně v tom, že musíš (pokud pomineme $_REQUEST) odlišit zdoj dat, tedy nejčasteji $_GET, $_POST, $_SESSION.
Více se dočteš tady:
http://www.php.net/manual/cs/language.variables.predefined.php
Takže:
- tvůj první příspěvek je v podstatě "novým způsobem"
- tvůj druhý příspěvek je nesmysl
- tvůj třetí příspěvek by měl fungovat taky a je v souladu s "novým způsobem"
Ta sis asi myslel, že musíš všechny proměnné přejmenovat na $_COSI[], ale není tomu tak ;-)
Jinak, tady máš ukázku základního výpisu z databáze:
$query = MySQL_Query('SELECT id, druzstvo FROM druzstva ORDER BY id');
while ($result = MySQL_Fetch_Array($query))
{
echo $result['id'].' | '.$result['druzstvo'].' || <a href="edit.php?id='.$result['id'].'">změnit</a><br>';
}