Php 为什么我会有这些错误?
在两页中,我有一个问题。第一个问题是在提交之前,我收到此警报: (注意:未定义索引:在第15行的C:\xampp\htdocs\art-legend\12\admin\add.php中提交) 本页第15行是Php 为什么我会有这些错误?,php,Php,在两页中,我有一个问题。第一个问题是在提交之前,我收到此警报: (注意:未定义索引:在第15行的C:\xampp\htdocs\art-legend\12\admin\add.php中提交) 本页第15行是 (if ($_POST['submit'] && !empty($_FILES)){) 第二个问题是,在我放任何他们放的图片之前,我在上面有一个图片,但我仍然没有放任何图片,我有这张图片 第三个错误是当我上传一个图像时,我看不到它,我有一个和上一个屏幕一样的屏幕 <!
(if ($_POST['submit'] && !empty($_FILES)){)
第二个问题是,在我放任何他们放的图片之前,我在上面有一个图片,但我仍然没有放任何图片,我有这张图片
第三个错误是当我上传一个图像时,我看不到它,我有一个和上一个屏幕一样的屏幕
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1256" />
<title>Untitled Document</title>
<title>Untitled Document</title>
</head>
<body>
<?
if ($_POST['submit'] && !empty($_FILES)){
$formok = TRUE;
$title = $_POST['title'];
$thread = $_POST['elm1'];
$date = date("d/m/y h;i:s");
$path = $_FILES['upload']['tmp_name'];
$name = $_FILES['upload']['name'];
$size = $_FILES['upload']['size'];
$type = $_FILES['upload']['type'];
$error = $_FILES['upload']['error'];
if (!is_uploaded_file($path)){
$formok = FALSE;
echo "there is no file uploaded try again";
}
if (!in_array($type,array('image/png','image/jpg','image/jpeg'))){
$formok = FALSE ;
echo "the file is not image try again ";
}
if (filesize($path)>800000){
$formok = FALSE ;
echo "the file is bigger ";
}
if ($formok){
if ($connect = mysqli_connect('localhost','root','adminpass','flip')){
$content = file_get_contents($path);
$safetitle = mysqli_real_escape_string($connect,$title);
$safethread = mysqli_real_escape_string($connect,$thread);
$safeimage = mysqli_real_escape_string($connect,$thread);
$sqltitle ="insert into title(title) values ('$safetitle')";
$sqlthread = "insert into threads (topic,date) values ('$safethread','$date')";
$sqlimge ="insert into images (name,size,type,content) values ('$name','$size','$type','$safeimage')";
$querytitle = mysqli_query($connect,$sqltitle);
$querythread = mysqli_query($connect,$sqlthread);
$queryimage = mysqli_query($connect,$sqlimge);
if ($querytitle && $querythread && $queryimage){
$imageid = mysqli_insert_id($connect);
}
mysqli_close($connect);
}
else {
echo "There is error in database connect";
}
echo "insert done all ";
}
}
?>
<img src="image.php?id=<?=$imageid; ?>" />
<hr />
<form action="<?php echo $_SERVER["PHP_SELF"];?>" method="post" enctype="multipart/form-data">
<p>
title :
<input type="text" name="title" />
</p>
<div>
<textarea id="elm1" name="elm1" rows="15" cols="80" style="width: 80%">
</textarea>
</div>
<input type="hidden" name="MAX_FILE_SIZE" value="800000" />
<p>
<input type="file" name="upload" />
</p>
<p>
<input type="submit" name="submit" value="process" />
</p>
</form>
</body>
</html>
无标题文件
无标题文件
使用
isset-确定变量是否已设置且不为空
如果(isset($\u POST['submit'])&&!empty($\u FILES)){
将这一行添加到代码的最顶端,这应该可以解决如果(isset($\u POST['submit']),那么这第一个问题现在可以解决了。谢谢。另外一个问题呢?你可以在image.php中发布代码吗?
<?
$imageid = $_GET['id'];
if ( mysqli_connect('localhost','root','adminpass','flip')){
$escape = mysqli_real_escape_string($connect,$content);
$sql = "select type,content from images where id =$imageid";
$query = mysqli_query($connect, $sql);
$fetch = mysqli_fetch_array($query,MYSQLI_ASSOC);
mysqli_free_result($query);
mysqli_close($connect);
}
else {
echo"ther is no connection 2";
}
if (!empty($fetch)){
header("Content-type:{$fetch['type']}");
echo $fetch['content'];
}
?>
<?
if (isset($_POST['submit']) && !empty($_FILES)){