В моей программе я пытаюсь получить значение, представленное формой, и использовать в SQL-запросе для получения результатов, а затем снова использовать $ _GET ["name" ] для подачи данных в базу данных. Следующего код не распространяющееся значения внутри в то время как петля $ _GET [ «имя»]
<?php
session_start();
$id = $_GET["name"];
echo "<h2> Hello ".$id." </h2>" ;
if((isset($_POST['dept'])))
{
echo "<h2><center>You have sected ". $_POST['dept'] ." !!</center></h2>";
$dept_ = $_POST['dept'];
$options = $_POST['course'];
foreach($options as $option) //loop through the checkboxes
{
$uid="root";
$pass="root";
$db = mysql_connect("localhost:3036",$uid,$pass);
if(!$db) die("Error connecting to MySQL database.");
mysql_select_db("sync" ,$db);
$result = mysql_query("SELECT DISTINCT `name`,`password`,INET_NTOA(`ip`) FROM detail Where id = '$_GET["name"]' ;") or die(mysql_error());
if(mysql_num_rows($result) > 0):
while($row = mysql_fetch_assoc($result)):
$name = $row['name'];
$password = $row['password'];
$ip = $row['INET_NTOA(`ip`)'];
echo $name ; // NOT PRINTING ANYTHING
echo $password ; // NOT PRINTING ANYTHING
echo $_GET["name"] ; // NOT PRINTING ANYTHING
$sql1_Qu = "INSERT INTO registration (id,password,ip,name,course) VALUES ('$_GET["name"]','$password',INET_ATON('$ip'),'$name','$option')";
//$sql1_Qu = "INSERT INTO registration (id,password,ip,name,course) VALUES ('$id','$password',INET_ATON('$ip'),'$name','$option')";
$resu = mysql_query($sql1_Qu) or die('Could not connect: ' . mysql_error());
endwhile;
endif;
}
}
?>
Это только печать на 4-й линии, но не распространяющееся значения в то время как петля, которая содержит запрос к базе данных.
Пожалуйста, предложите какой-нибудь способ, чтобы решить эту проблему ... Заранее спасибо
Ваш скин уязвим для SQL-инъекций и атак XSS. В дополнение к этому вы не должны использовать никаких функций 'mysql_ * 'вообще. Решите эти «ошибки» заранее. – DaGardner
Все, что сказал @Christian, плюс это: почему вы используете GET и POST? Это GET или POST ?? Я бы данные могли быть в обоих местах, используйте $ _REQUEST для обоих. Кроме того, удалите из столбца точку с запятой. Это не так важно и может в некоторых случаях вызывать проблемы. – lucifurious
@lucifurious вы можете опубликовать в '? Name = whatever' вы просто получите запрос POST с параметрами запроса. Работает отлично. –