Cau lidi, helfnete mi prosim, nevim uz nekolik dni, co s timhle:
Ve skriptu mam nasledujici radek, jde o obycejne zaskrtavaci policko. Celé to probíhá v cyklu - je jich několik (tech checkboxu), ale to není důležité. Jméno je vždycky "smazxx" kde xx je číslo vztahující se k cyklu. Hodnota je vybirana z MySQL tabulky. Jméno i hodnota fungují spolehlive.
<INPUT type=\"checkbox\" name=\"smaz".$smapoc."\" value=\"".$zaznam["ID"]."\">
$smapoc je nakonec take jako "hidden" - odtamtud ho pak beru.
Dále mám ve skriptu jiný cyklus, ve kterém se ptám, zda
for ($i = 1; $i <= $smapoc; ++$i)
if (${"smaz".$i} != "") ... tak potom
$vysledek = MySQL_Query("DELETE FROM kniha WHERE ID='".${"smaz".$i}."'"); - tady uz pouzivam primo hodnotu ulozenou v promenne
Se zapnutými globalnimi promennymi vse funguje v cajku, ale jakmile je vypnu (coz chci, aby to fungovalo i s vypnutymi), nic nedokazu vytahnout, zadnou hodnotu...
Velice strucne, vse se tedy mota kolem hodnoty ulozene v ${"smaz".$i}.
Muze mi nekdo poradit, jak tohle predelat, podle "noveho" zpusobu? Zkousel sem s $_GET a $_POST uz vsechny mozny psi kusy a ne a ne na to prijit.
Diky moc vsem za jakekoliv pripadne navrhy ci rady.
Scar
z tohodle se to da pochopit asi jen velmi stezi (to neni tvoje chyba, evidentne to neni nic trivialniho)
spis posli URL a konkretni bod, ktery funguje jinak nez ma a ja se to pokusim prozkoumat, nechcu se nejak kasat, ale se ctenim cizich zdrojaku mam vcelku praxi, vetsinou to jsou dila ze bych z toho mel mit zaludecni potize ale pokud to jde tak se aspon pokusim pomoct
No problem je v tom, ze na wz to funguej (register_globals je stale on), coz je sice fajn, ale ja se sichruju na budouci casy, aby, az se RG vypne, tak to fungovalo... No a taky se tim aspon naucim lip pristupovat k superglobalnim promennym...
Jinak takovou jednu upravenejsi verzi jsem umistil do
http://scarabeus.wz.cz/test/admin_k.php
Pokud se to zda jako prasarna, predem se omlouvam :-) Ja to kdysi stahnul a nyni si to upravuji podle sveho...
Vsechny odkazujici se cesty nebudou fungovat, je to vyrvany z uplne jiny stranky a navic, tenhle skript includuju do jedny bunky... Je to holt se mnou komplikovany :-)
Kazdopadne dekuju za zajem.
> Je to holt se mnou komplikovany :-)
tojo :)
ono z toho neni moc patrne co to vlastne ma delat, neda se otestovat na nejakych hodnotach, takze to je tezke
nejlepsi to je kdyz mam najit chybu v jinak funkcnim skriptu, ktery nefunguje na nejakych hodnotach (takze to clovek nemusi procitat cele ale staci jit po stopach)
> Pokud se to zda jako prasarna
ono ten mix php a html nikdy nebude vypadat nejak extra, ale videl jsem i vyrazne horsi
no ja to sice necet ani z pulky, jen jsem to tak prolistoval, ale nektere veci cloveka nemuzou nezaujmout :)
echo $_POST['"smaz".$i'];
copak tohle ma delat? vypada to nepekne :)
Ehm, tak tohle mela bejt jakasi pretvorenina ${"smaz".$i} - snazil sem se tim testovat, zda v ty promenny je neco ulozeny...
Asi na to holt budu muset jit od lesa a cely to prekopat :-(
$_POST by melo fungovat - pokud ne, tak doporucuji nechat si vypsat seznam vsech promennych, ktere jsou v tomto poli obsazeny - mely by tam byt i hledane promenne formulare.
pak muzes zkusit "echo $_POST['smaz1'];" no a pokud to bude fungovat, tak uz jenom staci to predelat na to tve "$_POST['smaz' . $i]".
je dobre, ze se snazis byt nezavisly na "register_global". je to "good-programming-practise" :o)
jinak uz jsem videl i takovy kod:
<form method="post">
<input type="checkbox" name="smaz[]" value="0">
<input type="checkbox" name="smaz[]" value="1">
<input type="checkbox" name="smaz[]" value="2">
. . .
</form>
ktery by mel vratit pole se zaskrtnutymi hodnotami nebo null. ale jeste jsem ho nezkousel.
Diky vsem, uz mi to funguje!
Scar