Autor | Zpráva | ||
---|---|---|---|
HGD Profil |
#1 · Zasláno: 9. 1. 2008, 19:58:07
nechápu chybu
if(isset($_POST['pozice'])){ header("location: index.php?admin=edit&posunS=".$_POST['id']."_".$_POST['cat']."_".$_POS T['pozice'].""); } ve výsledku je tam potom něco jako ...posunS=5_1_3 - mám to v kódu, který slouží pro posun řádků v DB od p. Vrány a když chci měnit řádky jenom v jedné kategorii($post[cat]) tak to funguje bezproblémů, ale když mam 2 kategorie, tak to hlásí chybu: Warning: Cannot modify header information - headers already sent by (output started at /home/free/tym.cz/h/h-design/root/www/hrss/admin/menu.php:137) in /home/free/tym.cz/h/h-design/root/www/hrss/admin/menu.php on line 146 echo '<form method="post"> <input type="hidden" name="id" value="'.$dataS['id'].'"> <input type="hidden" name="cat" value="'.$dataS['id_cat'].'"> <select style="width: 100%" name="pozice" onchange="this.form.submit()">'; $max = mysql_result(mysql_query("SELECT MAX(poradi) FROM ".$pref."_sekce WHERE id_cat='".$dataS['id_cat']."'"), 0); for ($p=1;$p<=$max;$p++){ $sel = ($p==$dataS['poradi']) ? 'selected' : ''; echo "<option $sel value='".$p."'>".$p."</option>"; } |
||
Alphard Profil |
#2 · Zasláno: 9. 1. 2008, 20:03:29
Warning: Cannot modify header information - headers already sent by (output started at /home/free/tym.cz/h/h-design/root/www/hrss/admin/menu.php:137) in /home/free/tym.cz/h/h-design/root/www/hrss/admin/menu.php on line 146
známá chyba, před header() nesmí být žádný výstup |
||
HGD Profil |
#3 · Zasláno: 9. 1. 2008, 20:09:48
no, ale dyk ten header je až potom a je v podmínce, až po odeslání formu, a když mam jenom 1 kategorii, tak to funguje...
....................</td> <td>'; //--Posun řádků-- // posunS -> Id_Kategorie_NewPozice echo '<form method="post"> <input type="hidden" name="id" value="'.$dataS['id'].'"> <input type="hidden" name="cat" value="'.$dataS['id_cat'].'"> <select style="width: 100%" name="pozice" onchange="this.form.submit()">'; $max = mysql_result(mysql_query("SELECT MAX(poradi) FROM ".$pref."_sekce WHERE id_cat='".$dataS['id_cat']."'"), 0); for ($p=1;$p<=$max;$p++){ $sel = ($p==$dataS['poradi']) ? 'selected' : ''; echo "<option $sel value='".$p."'>".$p."</option>"; } echo '</select></form></td></tr>'; if(isset($_POST['pozice'])){ header("location: index.php?admin=edit&posunS=".$_POST['id']."_".$_POST['cat']."_".$_POS T['pozice'].""); } echo "</table>"; ................ |
||
Mastodont Profil |
#4 · Zasláno: 9. 1. 2008, 20:12:34
dyk ten header je až potom a je v podmínce, až po odeslání formu
No a to je právě blbě, nejdřív header, potom jakýkoli jiný výstup (včetně formuláře). |
||
HGD Profil |
#5 · Zasláno: 9. 1. 2008, 20:14:21
no, tak to je hezký, ale jak to mam napsat, když header odesílá data z formuláře a je v podmínce, která kontroluje, jestli byl form odeslán...
|
||
bukaj Profil |
#6 · Zasláno: 9. 1. 2008, 20:41:11
HGD
ale jak to mam napsat Buď přes bufferování výstupu nebo prostě udělat kontrolu a až pak něco vypisovat. |
||
HGD Profil |
#7 · Zasláno: 9. 1. 2008, 20:56:11
a jako action formu nemůžu dát např: index.php?page=menu ?
|
||
anode Profil |
#8 · Zasláno: 10. 1. 2008, 11:22:01
a jako action formu nemůžu dát např: index.php?page=menu ?
Ale jistěže je to možné, potom page přijde přes get, ostatní formulářová data přes post. Ale proč to rovnou nedát jako hidden pole formuláře? |
||
Časová prodleva: 16 let
|
0