Home > Backend Development > PHP Tutorial > 关于POST和GET的问题

关于POST和GET的问题

WBOY
Release: 2016-06-23 13:26:26
Original
982 people have browsed it

<?phpinclude("conn.php");include("header.php");$biaoti=$neirong=$tupian=$id="";$id=$_GET['id'];$sqlll="select * from news where id =".$id;$res=mysql_query($sqlll);$row=mysql_fetch_row($res);echo "+++++".$_GET['id'];if(isset($_POST['submit'])){	global $id;	echo "++++".$id;	$kzm=pathinfo($_FILES['tupian']['name']);	date_default_timezone_set('Asia/Shanghai');	$fileName1=date(Ymd_Gis);	$fileName='upload/'.$fileName1.'.'.$kzm['extension'];	move_uploaded_file($_FILES['tupian']['tmp_name'],$fileName);		if(empty($kzm['extension'])){		global $id;		echo "+++++".$id;		$sql="UPDATE news SET (biaoti,neirong,riqi) =('$_POST[biaoti]','$_POST[neirong]',now()) WHERE id =".$id;	}else{		$sql="UPDATE news SET (biaoti,neirong,tupian,riqi) =('$_POST[biaoti]','$_POST[neirong]','$fileName',now()) WHERE id =".$id;	}		mysql_query($sql);	}?>
Copy after login

这是代码,$id放在后面两个if里就都不能输出了,请问是怎么回事,如何解决。


回复讨论(解决方案)

if(isset($_POST['submit'])) 你用的是GET提交还是POST提交?

上一个链接传进来用的get,往数据库里填值用的post

如果 id 只在链接中传递,那么 post 的表单里不就没有 id 了吗?

如果 id 只在链接中传递,那么 post 的表单里不就没有 id 了吗?



是的,post不需要传递id,表单也没有地方填写id。
这是一个修改新闻的网页。

这是上一个页面,点修改传一个id过去。

到了第二个页面,通过传递的id,读出内容展示出来便于重新编辑

然后这个提交用的是POST,附上全部源码
<?phpinclude("conn.php");include("header.php");$biaoti=$neirong=$tupian=$id="";$id=$_GET['id'];$sqlll="select * from news where id =".$id;$res=mysql_query($sqlll);$row=mysql_fetch_row($res);echo "+++++".$_GET['id'];if(isset($_POST['submit'])){	global $id;	echo "++++".$id;	$kzm=pathinfo($_FILES['tupian']['name']);	date_default_timezone_set('Asia/Shanghai');	$fileName1=date(Ymd_Gis);	$fileName='upload/'.$fileName1.'.'.$kzm['extension'];	move_uploaded_file($_FILES['tupian']['tmp_name'],$fileName);		if(empty($kzm['extension'])){		global $id;		echo "+++++".$id;		$sql="UPDATE news SET (biaoti,neirong,riqi) =('$_POST[biaoti]','$_POST[neirong]',now()) WHERE id =".$id;	}else{		$sql="UPDATE news SET (biaoti,neirong,tupian,riqi) =('$_POST[biaoti]','$_POST[neirong]','$fileName',now()) WHERE id =".$id;	}		mysql_query($sql);	}?>
新闻标题

新闻内容

上传图片

Copy after login

表单不传递 id?那你如何知道谁被修改了?

表单不传递 id?那你如何知道谁被修改了?



26行,id通过一个变量的形式在数据库查询

你是怎么回事?
你自己都有测试代码的,为什么表单提交时没有打印出 id 的值都不知道呢?

你是怎么回事?
你自己都有测试代码的,为什么表单提交时没有打印出 id 的值都不知道呢?

你是怎么回事?
你自己都有测试代码的,为什么表单提交时没有打印出 id 的值都不知道呢?


我的意思是标签里没有向数据库写入id的功能,id是从上一个页面通过get获取的,保存在$id里。
12行可以echo出来,
点击提交后,在16行和25行输出为空。

在修改编辑页面 将get到的id的值放在一个隐藏表单中 一起提交就可以了 。不要用global;

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template