Проблем с update заявка

cmsfan

Registered
Имам този код:
Код:
<?php
define('IN_VALID', true);
include('conf.php');
$username =  $phpbb_user->data['username'];
mysql_query("SET NAMES UTF8");
$id = $_GET['id'];
if (!$_POST['verrify'])
{
$our = mysql_query("SELECT * FROM 468x60ads where username468x60='$username' ");
if(mysql_num_rows($our)>0){
while($r=mysql_fetch_array($our)){
?>
<form method="POST">
<b>Линк:</b><br /> <input type="text" value="<?PHP echo"$r[link468x60]"; ?>" name="link468x60" style='width:200px;'><br />
<b>URL към банера:</b><br /> <input type="text" value="<?PHP echo"$r[banner468x60]"; ?>" name="banner468x60" style='width:200px;'><br />
<input name="verrify" type="submit" value="Промени!" class="submit">
</form>
<?
        }

    }
else{echo 'Вие нямате добавени 468х60 банер/и.';}
}
else{

$banner468x60 = $_POST['banner468x60'];
$link468x60 = $_POST['link468x60'];
$banner468x60 = htmlspecialchars($banner468x60);
$link468x60 = htmlspecialchars($link468x60);
echo ("<center><b>Успешно променен линк!</b></center>");
echo "<meta http-equiv=\"refresh\" content=\"1; url=editsmsadvs.php\">";
$update = mysql_query("Update 468x60ads set banner468x60 = '$banner468x60' , link468x60 = '$link468x60' where username468x60 = '$username'");
}
?>

Който уж служи за промяна на дадена информация (на банери) в датабазата. Всичко работи, но като има повече от 2 заявки и при опит на редакция на една, то едитва и всички останали.
Някой може ли да го преработи така, че да едитва само определена такава, а не всички останали.
Бутона за събмит е с нейм "verrify" и вероятно това е проблема, трябва всяка да има уникален бутон или поне аз не си го обяснявам.
 
PHP:
<?php
define('IN_VALID', true);
include('conf.php');
$username =  $phpbb_user->data['username'];
mysql_query("SET NAMES UTF8");
$id = $_GET['id'];
if (!$_POST['verrify'])
{
$our = mysql_query("SELECT * FROM 468x60ads where username468x60='$username' ");
if(mysql_num_rows($our)>0){
?><form method="POST"><?php
while($r=mysql_fetch_array($our)){
?>

<b>Линк:</b><br /> <input type="text" value="<?PHP echo"$r[link468x60]"; ?>" name="link468x60" style='width:200px;'><br />
<b>URL към банера:</b><br /> <input type="text" value="<?PHP echo"$r[banner468x60]"; ?>" name="banner468x60" style='width:200px;'><br />


<?
        }
?><input name="verrify" type="submit" value="Промени!" class="submit">
</form><?php
    }
else{echo 'Вие нямате добавени 468х60 банер/и.';}
}
else{

$banner468x60 = $_POST['banner468x60'];
$link468x60 = $_POST['link468x60'];
$banner468x60 = htmlspecialchars($banner468x60);
$link468x60 = htmlspecialchars($link468x60);
echo ("<center><b>Успешно променен линк!</b></center>");
echo "<meta http-equiv=\"refresh\" content=\"1; url=editsmsadvs.php\">";
$update = mysql_query("Update 468x60ads set banner468x60 = '$banner468x60' , link468x60 = '$link468x60' where username468x60 = '$username'");
}
?>
 
Не става по-този начин.
Submit бутона така става само 1 и промяната се прави само ако 2-те полета имат еднакви стойности. Ако променя едното поле на 1, а другото на 2 (Няма промяна), но ако и 2-те са на "2" - прави промените.
 
А и също при SELECT взимай и ID - то на банера и после при UPDATE добави проверка за да UPDATE ID - то на банера да бъде равно на това което си взел от селекта. Прекарвай ги ID-to през формата с едно поле "hidden"




КАЖИ МИ ПОЛЕТА НА БАННЕРИТЕ "ID" ЛИ Е ИЛИ НЕ Е.
 
PHP:
<?php
define('IN_VALID', true);
include('conf.php');
$username =  $phpbb_user->data['username'];
mysql_query("SET NAMES UTF8");
$id = $_GET['id'];
if (!$_POST['verrify'])
{
$our = mysql_query("SELECT * FROM 468x60ads where username468x60='$username' ");
if(mysql_num_rows($our)>0){
while($r=mysql_fetch_array($our)){
?>
<form method="POST">
<b>Линк:</b><br /> <input type="text" value="<?PHP echo"$r[link468x60]"; ?>" name="link468x60" style='width:200px;'><br />
<b>URL към банера:</b><br /> <input type="text" value="<?PHP echo"$r[banner468x60]"; ?>" name="banner468x60" style='width:200px;'><br />
<input type="hidden" name="idbanner" value="<?php echo $r['id']; ?>" />
<input name="verrify" type="submit" value="Промени!" class="submit">
</form>
<?
        }

    }
else{echo 'Вие нямате добавени 468х60 банер/и.';}
}
else{

$bannerid=(int)$_POST['idbanner'];
$banner468x60 = $_POST['banner468x60'];
$link468x60 = $_POST['link468x60'];
$banner468x60 = htmlspecialchars($banner468x60);
$link468x60 = htmlspecialchars($link468x60);
echo ("<center><b>Успешно променен линк!</b></center>");
echo "<meta http-equiv=\"refresh\" content=\"1; url=editsmsadvs.php\">";
$update = mysql_query("Update 468x60ads set banner468x60 = '$banner468x60' , link468x60 = '$link468x60' where username468x60 = '$username' AND id='$bannerid'");
}
?>
 

Back
Горе