Autor Zpráva
Neon
Profil
Dobrý den, mám takový problém, potřebuji nějak získat název inputu, který obsahuje id. Udělal jsem si skript na nahrávání více souborů, tedy nejdřív nahraju soubory -> uložím názvy do datábáze, zpetně je výtahnu a k nim si viz. kód vygeneruji vstupy pro zapsání poznámek a chci UPDATE sloupce caption dle ID, které odpovídá názvům inputu.. jenže problém je v tom, jak mám získat názvy??
Předem moc děkuji za rady

$result = mysql_query("SELECT * FROM photos");
while ($row = mysql_fetch_array($result)) {
    echo '<div id="imagelist">';
    echo '<p><img src="' . $row['location'] . '"></p>';
    echo '<p id="caption"><input type="text" name=' . $row['id'] . '> </p>';
    echo '</div>';
}

if (isset($_POST)) {
   $po = count($_POST);
   foreach ($_POST as $value) {
       $p[] = $value;
       
   }
   for ($i = 0; $i < $po - 1; $i++) {
       $uziv[] = $p[$i];
       $udaj[] = HTMLspecialchars($uziv[$i]);
     $update = mysql_query("UPDATE photos SET caption = '$udaj[$i]' WHERE id = ?????? "); //caption udaj pro "poznamku" 
   }

} 
Taps
Profil
Neon:
<?

$result = mysql_query("SELECT * FROM photos");
while ($row = mysql_fetch_array($result)) {
    echo '<div id="imagelist">';
    echo '<p><img src="' . $row['location'] . '"></p>';
    echo '<p id="caption"><input type="text" name ="idecko[]" value="' . $row['id'] . '"> </p>';
    echo '</div>';
}
?>

<?
foreach($_POST['idecko'] as $id=>$value){
$caption=mysql_real_escape_string($udaj[$id]);
     $update = mysql_query("UPDATE photos SET caption = '$caption' WHERE id ='$value' "); //caption udaj pro "poznamku" 
   }
 
} 
?>
Keeehi
Profil
Trochu jsem ti to zkrátil ;-)
if (isset($_POST)) {
   foreach ($_POST as $key => $value) {
       $update = mysql_query("UPDATE photos SET caption = '".mysql_real_escape_string($value)."' WHERE id = ".(int)$key); 
   } 
} 
HTMLspecialchars patří až na výpis, ne při ukládání.
Neon
Profil
Velice děkuji za Vaše řešení... Vyřešeno! :)
Majkl578
Profil
[#3] Keeehi:
A $key za tebe bude escapovat kdo? (Tady navíc escapování nestačí, jelikož to není WHERE id = '$key'.)

Neuváděj tu prosím kódy, které jsou náchylné k SQL injection.
Keeehi
Profil
Majkl578:
Tak už jsem to upravil. Předpokládal jsem, že to bude kód někde veřejně nepřístupný, jelikož se tím dají smazat všechny popisky v databázi, ale i tam by to mělo být bezpečné.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: