Я использовал $_SESSION['user']
, то есть user как переменную для хранения зарегистрированного пользователя ID
в массиве SESSION.В то же время я использовал в каком-то другом месте $_GET['user']
для выполнения некоторых других вещей.
Однако проблема в том, что как только я использую массив GET для установки значения "user", мое пользовательское значениеМассив SESSION также перезаписывается.Я очень удивлен этим.
Код работал абсолютно нормально (без перезаписи) на моем локальном сервере, но то же самое не получалось на моем сайте
Хотя, я исправил это сейчасизменяя переменную, мне любопытно узнать причину этого.
Пожалуйста, прокомментируйте, если мне неясно в моем вопросе.
Здесь идет код (размещение по запросу).Тем не менее, я не думаю, что это было необходимо
if($_SESSION['user']!=""){
$user = $_GET['user'];
$q = "select * from some_table where username='$user' order by product";
$a = mysql_query($q);
$count = mysql_num_rows($a);
if($count==0){
die ("No such username exists. No credits will be deducted for wrong query.");
}
else {
$user_q = $_SESSION['user'];
$val = 10;
$query2 = "UPDATE some_table set user_balance=user_balance-'$val' where username='$user_q'";
mysql_query($query2);
echo "<table class='tablesorter' id='myTable' style='width:600px;align:center;'><thead><tr><th align='center'>Product</th><th align='center'>Time</th><th align='center'>Credit</th><th align='center'>Modified Credits</th></tr></thead><tbody>";
}
while($array = mysql_fetch_array($a)){
$p = $array['product_name'];
$c = $array['cost_incurred'];
$t = $array['timestamp_jkj'];
$m = $array['mod_balance_something'];
echo "<tr><td align='center'>$p</td><td align='center' >$t</td><td align='center'>$c</td><td align='center'>$m</td></tr>";
}
echo "</tbody></table>";
}
else {
echo "You need to login to see your details.";
}
Спасибо:)