Heim  >  Artikel  >  Backend-Entwicklung  >  关于POST和GET的问题

关于POST和GET的问题

WBOY
WBOYOriginal
2016-06-23 13:26:26950Durchsuche

<?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);	}?>

这是代码,$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);	}?>
新闻标题

新闻内容

上传图片

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

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



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

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

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

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


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

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn