Autor | Zpráva | ||
---|---|---|---|
S3ky Profil |
#1 · Zasláno: 19. 5. 2013, 14:27:40
Zdravím, vypisuju z databáze položky menu a vedle toho textové pole, které ukazuje ID
<?php echo '<div id="obal-odkazy">'; echo '<form id="serazovac" name="serazovac" method="post" action="">'; echo '<ul>'; require "../pripojeni-mysql.php"; $dotaz='SELECT * FROM dat06'; $vysledek=mysql_query($dotaz); while($zaznam=mysql_fetch_array($vysledek)){ echo '<li>'.$zaznam['nazev'].'<input type="text" class="idecko" name="'.$zaznam['urlnazev'].'" id="'.$zaznam['urlnazev'].'" value="'.$zaznam['idtextu'].'" /></li>'; } echo '</ul>'; echo '<input class="ulozit" type="submit" value="Uložit změny">'; echo '</form>'; ?> |
||
noname Profil * |
#2 · Zasláno: 19. 5. 2013, 18:49:00
Měnit ID je hodně špatný nápad. Jestli chceš něco měnit, měň cokoliv, ale ID nech a použij ho jako pevný bod.
UPDATE tabulka SET nazev = '".$_POST["urlnazev"]."' WHERE ID=".$_POST["id"] |
||
Micruss Profil |
#3 · Zasláno: 20. 5. 2013, 07:37:39
Ještě by to chtělo ošetřit ty posty
<? # mysql $nazev = mysql_real_escape_string($_POST['urlnazev']); $id = intval($_POST['id']); ?> |
||
S3ky Profil |
#4 · Zasláno: 20. 5. 2013, 15:28:37
Děkuju za odpovědi, ale problém je
'".$_POST["urlnazev"]."' , protože místo "urlnazev" je vždycky něco jiného, podle toho co to načte z databáze. Např.ve sloupci urlnazev mám tři položky, "hlavni-stranka", "kontakt", "fotky", takže $_POST odešle $_POST["hlavni-stranka"] = "třeba 6", $_POST["kontakt"] = "4", $_POST["fotky"] = "5".
|
||
Micruss Profil |
Tak explodem
<? $nazev = mysql_real_escape_string($_POST['urlnazev']); $exp = explode(',', $nazev); $hlavnistranka = $exp[0]; $kontakt = $exp[1]; $fotky = $exp[2]; # A nebo teda opačně, že propojíš všecky 3 POSTY a pak save do db a tím explodem je rozdělíš... při výpisu třeba ?> |
||
S3ky Profil |
#6 · Zasláno: 20. 5. 2013, 16:38:12
Říkám, že
$_POST['urlnazev'] se nikdy neodesílá.
|
||
ts_istudio Profil |
#7 · Zasláno: 20. 5. 2013, 17:03:17
S3ky:
„Říkám, že $_POST['urlnazev'] se nikdy neodesílá.“ Přečti si #2. |
||
S3ky Profil |
#8 · Zasláno: 20. 5. 2013, 20:09:51
Všem děkuju za snahu. Nakonec jsem to vyřešil po svém.
<?php echo '<div id="obal-odkazy-serazeni">'; echo '<form id="serazovac" name="serazovac" method="POST" action="">'; echo '<ul>'; require "../pripojeni-mysql.php"; $dotaz='SELECT * FROM dat01 order by serazeni'; $vysledek=mysql_query($dotaz); while($zaznam=mysql_fetch_array($vysledek)) { echo '<li>'.$zaznam['nazev'].'<input type="text" class="idecko" name="'.$zaznam['urlnazev'].'" id="'.$zaznam['urlnazev'].'" value="'.$zaznam['serazeni'].'" /></li>'; } echo '<input type="hidden" name="kontrola" id="kontrola" value="kontrola" />'; echo '</ul>'; echo '<input class="ulozitserazeni" type="submit" value="Uložit změny">'; echo '</form>'; if(isset($_POST['kontrola'])) { $dotaz='SELECT * FROM dat01'; $vysledek=mysql_query($dotaz); while($zaznam=mysql_fetch_array($vysledek)){ if(trim(!is_numeric($_POST{$zaznam['urlnazev']}))) echo "Nezadal jsi číslo!"; else { $cislo = $_POST{$zaznam['urlnazev']}; $dotaz="UPDATE dat01 SET serazeni='".$cislo."' where urlnazev='".$zaznam['urlnazev']."'"; mysql_query($dotaz); echo "<meta http-equiv='refresh' content='0'>"; } } } ?> |
||
Časová prodleva: 11 let
|
0