Hi all,
chtěl bych Vás poprosit o radu. Mám stráínku, kde je formulář a v něm pár checkboxů. na nich jsou pověšený id, ktéré se ukládají do pole. Když je zaškrtnu a stitku tlačítko smazat, tak se mi odešlou data na delete.php a vse se smaze, kdyz kliknu na tlačítko upravit, tak se mi to opět odešle na stránku delete.php. Kde mi to zpracuje podmínka, zjistí, že se jedná o úpravu, tak se mi pomocí Header("Location: ......") stránka přesměruje na uprav.php. Ale teď nastal kámen úrazu, páč potřebuju odeslat i $_POST[smaz] (v tom mám uložené id), abych mohl načíst data z MySQL. Tak mě napadlo, že to udělám Header("Location: uprav.php?$_POST[smaz]"). Jenže mi to nepošle id, ale slovo Array :-) Vím, řeknete mi, že to mám udělat přes JS, ale ten já neumím a tudíž bych to chtěl udělat v php. Máte někdo zkušenější radu? Předem dík všem.
Fórum › PHP
Header(Location:.....) a checkbox
1) posilej to tam, kam zrovna nepotrebujes, ne pres delete, a nahodou do update
2) pres js? co a jak a proc?
3) to array znamena, ze proste v $_POST['smaz'] je jeste dalsi pole.... tzn si dej nejaky var_dump a koukni kde co je a co potrebujes.
To hrach :
1) já bych to rád posílal kam potřebuji, ale nějak jsem zatím nezjistil jak se dá v jednom formu nastavit víc buttonů, že když kliknu na smaž, tak mě to otevře delete.php a když zmáčknu uprav, tak uprav.php :(
2) nevim proč ne :)
3) nemyslím si, že je v tom další array, páč když jsem se snažil to pole procházet přes foreach, tak na pozici [0]->A, [1]->r
v tom případě sem hoď ten formulář... :) (a bez zbytečností ;))
To hrach : tak jsem to osekal o vše nepotřebné.
form, kde vyberu co chci smazat, či upravit:
echo "<form method='POST' action='smazat_informaci.php'>";
$dotaz = MySQL_Query("SELECT * FROM informace ORDER BY vlozeno DESC");
while($zaznam = MySQL_Fetch_Array($dotaz)) {
echo "<table>";
echo "<tr><td width='22px' rowspan='5'><input type='checkbox'
name='smaz[]' value=$zaznam[ID_informace]></td></tr>";
echo "</table>";
echo "<hr>";
}
echo "<table><tr>";
echo "<td><input type='submit' value='Zpět' name='Zpět'></td>";
echo "<td><input type='submit' value='Upravit' name='Upravit'></td>";
echo "<td><input type='submit' value='Smaž'></td>";
echo "</table>";
echo "</form>";
?>
smazat_informaci.php -> tady to presmeruju na upravit_informaci.php:
if($_POST[Zpět]=='Zpět')
Header("Location: http:/administrace/vypsat_informace.php");
if($_POST[Upravit]=='Upravit')
Header("Location: http:/administrace/upravit_informaci.php?$_POST[smaz]");
v nazvech nepouzivej diakritiku. mozna to muze fungovat, mozna ne, ale proc si s tim pridelavat problemy....
echo "<td><input type='submit' value='Zpět' name='back'></td>";
echo "<td><input type='submit' value='Upravit' name='update'></td>";
echo "<td><input type='submit' value='Smaž' name='delete'></td>";
pak bych to v PHP udělal jen v jednom scriptu bez redirectu:
if (!empty($_POST['update'])) {
// update
} elseif (!empty($_POST['delete'])) {
// delete
} else {
// tady asi ten BACK redirect
}
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Nefunguje Location — založil Josef
Window location — založil Standa
8 Královen - Button.Location (WPF) — založil Petrroll
Header — založil JeanBabtisteGrenouille
Moderátoři diskuze