Member 14790660 Ответов: 1

У меня есть ошибка при загрузке моей страницы


Please help i have succeed to send data to my data base but on load  error showing on top of the page "Notice: Undefined index: uname in C:\xampp\htdocs\bbaluchistan.com\Suggestions.php on line 18 , line 19 . line 22 .line 29 .line 31 . line 33. line 35,


Что я уже пробовал:

<pre><!DOCTYPE>
<?php
$server="localhost";
$user="root";
$pass="";
$database="sug";

$con=mysql_connect($server,$user,$pass);
$db=mysql_select_db($database,$con);

if(!$con && !db)
{
}
else
{
$uname=$_POST["uname"];
$coments=$_POST["coments"];

if ($_FILES["upload"]["error"] > 0)
 
{
echo "Error: " . $_FILES["upload"]["error"]. "<br>";
}
else
{
$name=$_FILES["upload"]["name"];
	
	$type=$_FILES["upload"]["type"]; 
	
	$size=$_FILES["upload"]["size"] /1024;
	
	$path=$_FILES["upload"]["tmp_name"];
	
	$name=preg_replace("/\s+/","-",$name);
	$picname=pathinfo($name, PATHINFO_FILENAME);
	$picext=pathinfo($name, PATHINFO_EXTENSION);
	$mix=$picname . date("YmjHis") . "." .$picext;

	move_uploaded_file($path, "pictures/" . $mix);		
	
$sql = "INSERT INTO sugt (sr,name,coments,upload) VALUES(NULL,'$uname','$coments','$mix')";

  mysql_query($sql);

}
}
  
?>


<table  width="450" height="150"  >
    <form   action="" method="post" enctype="multipart/form-data">
    <tr>
    <td width="200">Name</td>.
    <td><input type="text" size="38" placeholder="Type Name" name="uname"></td>
    </tr>   
   
    <tr>
    <td width="200">Your suggestion</td>
    <td><textarea cols="42"  rows="7" placeholder="Type Your suggestions" name="coments"></textarea></td>
    </tr>
    
    <tr>
    <td width="200">Upload File</td>
    <td><input type="file" name="upload"></td>
    </tr>
    
    <tr>
    <td colspan="2" align="right">
    <input type="submit" value="Submit">
    <input type="reset" value="Reset">
    </td>
    </tr>
   	</form>
    </table>

Richard Deeming

Не делай этого так!

Ваш код уязвим для SQL-инъекция[^]. НИКОГДА используйте конкатенацию строк для построения SQL-запроса. ВСЕГДА используйте параметризованный запрос.

PHP: SQL-инъекция - руководство пользователя[^]

ZurdoDev

Выясните, какая строка является строкой 18, а затем посмотрите, почему у вас есть неопределенный индекс.

Member 14790660

Я не могу понять ошибку, но все же, пожалуйста, дайте мне какое-нибудь решение.

ZurdoDev

Ты сделал то, что я предложил?

1 Ответов

Рейтинг:
0

W∴ Balboos, GHB

Вот способ позволить вам увидеть то, что есть, чтобы увидеть:

В файле действий добавьте строку:

print_r($_POST);
Он будет сбрасывать все содержимое массива $_POST - вы можете видеть, что там есть, А что нет. Еще одна вещь, которую нужно попробовать: измените метод на " get " - и тогда вы сможете увидеть результаты в URL-адресе (не забудьте изменить способ ссылки(чтения) данных!).

Ярлык, кстати, состоит в том, чтобы получить $_REQUEST - который работает как для post, так и для get - методов-у него есть небольшой недостаток (если оба метода используют одно и то же имя= например), но это не так просто сделать, не пытаясь.

В любом случае - это позволяет вам видеть, что именно вы отправляете и получаете - и не забывайте, что php чувствителен к регистру.