Php Isset不使用post方法
简单代码工作正常: 表格:Php Isset不使用post方法,php,mysql,post,isset,Php,Mysql,Post,Isset,简单代码工作正常: 表格: 行动: $mumbai=$\u文件['image']['tmp\u name']; $sql=“从'dataperiod'中选择xyz,其中城市如'$mumbai'; if(!$result=$conn->query($sql)){ die('运行查询['.$conn->error.]'时出错); } /动手 但为了使属性为空,我将isset代码指定给如下内容: <?php if(isset($_POST) && !empty($_POST)
行动:
$mumbai=$\u文件['image']['tmp\u name'];
$sql=“从'dataperiod'中选择xyz,其中城市如'$mumbai';
if(!$result=$conn->query($sql)){
die('运行查询['.$conn->error.]'时出错);
}
/动手
但为了使属性为空,我将isset代码指定给如下内容:
<?php
if(isset($_POST) && !empty($_POST)) {
$mumbai=$_FILES['image']['tmp_name'];
$sql = " SELECT xyz FROM `dataperiod` WHERE cities LIKE '$mumbai' ";
if(!$result = $conn->query($sql)){
die('There was an error running the query [' . $conn->error . ']');
}
/do the stuff
}
else{
header('location: home.php'); exit();
}
?>
Doonchange=“javascript:this.form.submit();”
触发并重定向到betterplace.php
发生了什么
无论如何,isset($\u POST)
是错误的,$\u POST
总是被设置的,但是可以是空的,因此,由于文件总是通过POST/PUT
传输的,所以您只需要以下内容:
if (isset($_FILES['delphi'])) {
...
}
仔细查看$\u文件['delphi']
。您的文件输入名为delphi
,而不是image
(正如您在mumbai=$\u文件['image']['tmp\u name'];
中假设的那样):
因此,最后:
<?php
if (isset($_FILES['delphi']) && is_uploaded_file($_FILES['delphi']['tmp_name'])) {
$mumbai = $_FILES['delphi']['tmp_name'];
...
}
如果在chrome中打开此链接,是否会看到“无限页面转发”错误??这是因为$u POST将始终设置@ankhzet回答了这个问题。@SubinThomas,我怀疑,脚本/重定向放在不同的位置(betterplace.php
和home.php
),而且看起来带有表单的页面也不包含自动重定向的内容。Ifheader('location:home.php');退出()代码>-行本身位于home.php
,而不是“是”,可能的循环重定向,但post
请求指向action=“betterplace.php”
<input type="file" name="delhi" ... >
<?php
if (isset($_FILES['delphi']) && is_uploaded_file($_FILES['delphi']['tmp_name'])) {
$mumbai = $_FILES['delphi']['tmp_name'];
...
}
<?php
if (is_uploaded_file($mumbai = @$_FILES['delphi']['tmp_name'])) {
...
}