ホームページ  >  記事  >  バックエンド開発  >  POSTとGETに関する質問

POSTとGETに関する質問

WBOY
WBOYオリジナル
2016-06-23 13:26:26949ブラウズ

<?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 が最後の 2 つの if に配置されている場合、何が起こっているのか、どのように解決するのかを出力できません。


ディスカッションへの返信 (解決策)

if(isset($_POST['submit'])) GET 送信または POST 送信を使用していますか?

Get は前のリンクを渡すために使用され、post はデータベースに値を埋めるために使用されます

ID がリンクでのみ渡される場合、投稿フォームには ID が存在しないのではないでしょうか?

リンクでのみ ID が渡される場合、投稿フォームには ID が存在しないのではありませんか?



はい、投稿に ID を渡す必要はなく、フォームに ID を記入する場所もありません。
こちらはニュース修正ページです。

これは前のページです。[変更] をクリックして ID を渡します。

2 ページ目で、渡された 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 の値が出力されない理由がわからないのはなぜですか?


つまり、66fd2ada9ebb04d4250c850dc1e3737e タグには ID をデータベースに書き込む機能がありません。ID は get によって前のページから取得され、$id に保存されます。
12 行目はエコーできます。
送信をクリックすると、16 行目と 25 行目の出力は空になります。

修正編集ページにて、取得したid値を隠しフォームに入れて一緒に送信してください。グローバル

は使用しないでください。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。