ホームページ  >  記事  >  バックエンド開発  >  このPHPファイルの何が問題なのでしょうか?データベースへの書き込みに成功した後、PHP がこの値のリンクに自動的にジャンプするようにする方法

このPHPファイルの何が問題なのでしょうか?データベースへの書き込みに成功した後、PHP がこの値のリンクに自動的にジャンプするようにする方法

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

defined('PCPAY_PATH') or exit;class record_control extends admin_control {public function add() {		$uid = $this->_user['uid'];		if(empty($_POST)) {			$this->_pkey = 'content';			$this->_ukey = 'record-add';			$this->_title = '发布文章';			$this->_place = '内容 » 文章管理 &#187 发布文章';			$habits = (array)$this->kv->get('user_habits_uid_'.$uid);			$cid = isset($habits['last_add_cid']) ? (int)$habits['last_add_cid'] : 0;			$data = $this->kv->get('auto_save_record_uid_'.$uid);			if($data) {				!empty($data['cid']) && $cid = $data['cid'];			}else{				$data['intro'] = array();				$data['views'] = 0;			}			$this->assign('data', $data);			$cidhtml = $this->category->get_cidhtml_by_mid(2, $cid);			$this->assign('cidhtml', $cidhtml);			$edit_cid_id = '&mid=2';			$this->assign('edit_cid_id', $edit_cid_id);			$this->display('record_set.htm');		}else{			$cid = intval(R('cid', 'P'));			$products = intval(R('products', 'P'));			$amount = intval(R('amount', 'P'));			$pc = intval(R('pc', 'P'));			$data = array(				'cid' => $cid,				'products' => $products,				'amount' => $amount,				'ip' => ip2long($_ENV['_ip']),			);			$this->cms_content->table = 'cms_record';			$id = $this->cms_content->create($data);			if(!$id) {				E(1, '写入内容表出错');			}			$this->_user['contents']++;			$this->user->update($this->_user);			$categorys['count']++;			$this->category->update($categorys);			$this->category->update_cache($cid);			$data = $this->kv->delete('auto_save_record_uid_'.$uid);			$habits = (array) $this->kv->get('user_habits_uid_'.$uid);			$habits['last_add_cid'] = $cid;			$habits = $this->kv->set('user_habits_uid_'.$uid, $habits);			//E(0, '发布完成'.$endstr);			if(!$data->E(0,$endstr)){				echo $errormsg;			}			elseif($pc=="hh"){				$url="www.w3school.com.cn";				Header("Location:$url"); 				exit;			}			elseif($pc=="ff"){				$url="www.baidu.com";				Header("Location:$url"); 				exit;			}			elseif($pc=="dd"){				$url="bbs.csdn.net";				Header("Location:$url"); 				exit;			}			    else{				$url="www.baidu.com";				Header("Location:$url");				exit;			}		}	}}

<!doctype html><html><head><meta charset="utf-8"><title>无标题文档</title></head><body><form name="input" action="" method="POST"> <input type="hidden" name="cid" value="1" />products:<input type="text" name="products" />amount:<input type="text" name="amount" />hh:<input type="radio" name="pc" value="hh" />ff:<input type="radio" name="pc" value="ff" /> dd:<input type="radio" name="pc" value="dd" /><input type="submit" value="Submit" /></form></body></html>


上は、PHP によってデータベースに書き込まれる処理ファイルです。 もう 1 つは、フォーム送信ファイルです。たとえば、送信後に pc の値が "ff" として送信されます。 PHP ファイルはデータベースに正常に書き込まれました。「ff」値のリンクに自動的にジャンプする方法
			elseif($pc=="ff"){				$url="www.baidu.com";				Header("Location:$url"); 				exit;			}
は、データベースへの書き込みに成功した後に自動的にこのリンクにジャンプする方法です


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

29 行目: $pc = intval(R('pc ', 'P'));

は、hh ff であっても dd であっても、すべて intval であり、最後の $pc は 0 であるため、そこにジャンプすることはできません。
さらに、ジャンプには絶対パスが必要です: http:// を先頭に

29 行目 :$pc = intval(R('pc', 'P'));

hh ff かどうかに関係なく、両方とも intval です。または dd の場合、最後の $pc が 0 なのでジャンプできません
また、ジャンプするには絶対パスが必要です: http:// で始まります
この問題を変更しましたが、その後ジャンプできません。データベースへの書き込みに成功しました。ページは空白です


マスター
defined('PCPAY_PATH') or exit;class record_control extends admin_control {public function add() {		$uid = $this->_user['uid'];		if(empty($_POST)) {			$this->_pkey = 'content';			$this->_ukey = 'record-add';			$this->_title = '发布文章';			$this->_place = '内容 &#187; 文章管理 &#187 发布文章';			$habits = (array)$this->kv->get('user_habits_uid_'.$uid);			$cid = isset($habits['last_add_cid']) ? (int)$habits['last_add_cid'] : 0;			$data = $this->kv->get('auto_save_record_uid_'.$uid);			if($data) {				!empty($data['cid']) && $cid = $data['cid'];			}else{				$data['intro'] = array();				$data['views'] = 0;			}			$this->assign('data', $data);			$cidhtml = $this->category->get_cidhtml_by_mid(2, $cid);			$this->assign('cidhtml', $cidhtml);			$edit_cid_id = '&mid=2';			$this->assign('edit_cid_id', $edit_cid_id);			$this->display('record_set.htm');		}else{			$cid = intval(R('cid', 'P'));			$products = intval(R('products', 'P'));			$amount = intval(R('amount', 'P'));			$pc = intval(R('pc', 'P'));			$data = array(				'cid' => $cid,				'products' => $products,				'amount' => $amount,				'ip' => ip2long($_ENV['_ip']),			);			$this->cms_content->table = 'cms_record';			$id = $this->cms_content->create($data);			if(!$id) {				E(1, '写入内容表出错');			}			$this->_user['contents']++;			$this->user->update($this->_user);			$categorys['count']++;			$this->category->update($categorys);			$this->category->update_cache($cid);			$data = $this->kv->delete('auto_save_record_uid_'.$uid);			$habits = (array) $this->kv->get('user_habits_uid_'.$uid);			$habits['last_add_cid'] = $cid;			$habits = $this->kv->set('user_habits_uid_'.$uid, $habits);			//E(0, '发布完成'.$endstr);			if(!$data->E(0,$endstr)){				exit;			}			elseif($pc=="1"){				$url="http://www.w3school.com.cn";				Header("Location:$url"); 				exit;			}			elseif($pc=="2"){				$url="www.baidu.com";				Header("Location:$url"); 				exit;			}			elseif($pc=="3"){				$url="bbs.csdn.net";				Header("Location:$url"); 				exit;			}			    else{				$url="http://www.baidu.com";				Header("Location:$url");				exit;			}		}	}}
、他に問題がないかどうか確認するのを手伝ってください


29 行目: $ pc = intval(R('pc', 'P'));

は、hh ff であっても dd であっても、すべて intval であり、最後の $pc は 0 であるため、そこにジャンプすることはできません

さらに、ジャンプするには絶対パスが必要です: http:///始まり

defined('PCPAY_PATH') or exit;class record_control extends admin_control {public function add() {        $uid = $this->_user['uid'];        if(empty($_POST)) {            $this->_pkey = 'content';            $this->_ukey = 'record-add';            $this->_title = '发布文章';            $this->_place = '内容 &#187; 文章管理 &#187 发布文章';            $habits = (array)$this->kv->get('user_habits_uid_'.$uid);            $cid = isset($habits['last_add_cid']) ? (int)$habits['last_add_cid'] : 0;            $data = $this->kv->get('auto_save_record_uid_'.$uid);            if($data) {                !empty($data['cid']) && $cid = $data['cid'];            }else{                $data['intro'] = array();                $data['views'] = 0;            }            $this->assign('data', $data);            $cidhtml = $this->category->get_cidhtml_by_mid(2, $cid);            $this->assign('cidhtml', $cidhtml);            $edit_cid_id = '&mid=2';            $this->assign('edit_cid_id', $edit_cid_id);            $this->display('record_set.htm');        }else{            $cid = intval(R('cid', 'P'));            $products = intval(R('products', 'P'));            $amount = intval(R('amount', 'P'));            $pc = intval(R('pc', 'P'));            $data = array(                'cid' => $cid,                'products' => $products,                'amount' => $amount,                'ip' => ip2long($_ENV['_ip']),            );            $this->cms_content->table = 'cms_record';            $id = $this->cms_content->create($data);            if(!$id) {                E(1, '写入内容表出错');            }            elseif($pc=="1"){                $url="http://www.w3school.com.cn";                Header("Location:$url");                 exit;            }            elseif($pc=="2"){                $url="www.baidu.com";                Header("Location:$url");                 exit;            }            elseif($pc=="3"){                $url="bbs.csdn.net";                Header("Location:$url");                 exit;            }                else{                $url="http://www.baidu.com";                Header("Location:$url");                exit;            }        }    }}
Itこれに変更していただければ幸いです、ありがとうございます

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