Heim >Backend-Entwicklung >PHP-Tutorial >请教小弟我写的这个php函数体传递变量的时候为什么总是上一个函数体的值

请教小弟我写的这个php函数体传递变量的时候为什么总是上一个函数体的值

WBOY
WBOYOriginal
2016-06-13 11:48:17958Durchsuche

请问我写的这个php函数体传递变量的时候为什么总是上一个函数体的值?

<?php<br />session_start();<br />require("inc/pdo.php");<br />//矫正时区差异<br />ini_set("date.timezone","Asia/Chongqing");<br />$time=date("Y-m-d H:i:s");<br />//获得客户端ip<br />$user_ip = $_SERVER["REMOTE_ADDR"];<br />$name=$_POST["name"];<br />$password=$_POST["password"];<br />emptyloginnull($name,$password);<br /><br />//判断传值是否为空<br />function emptyloginnull($name,$password){<br />$functionName='';<br />$functionName="emptyloginnull";<br />if(!empty($name)&&!empty($password)){<br />//都不是空...<br />loginSQL($name,$password);<br />}else{ <br />	echo Msg($functionName);<br />	}<br />}<br /><br />function loginSQL($name,$password){<br />	$functionName='';<br />$functionName=1;<br />global $dbc;<br />$md5PD=md5($b64=base64_encode($password));<br />$selectUser=$dbc->prepare("select name,password,loginnumber,loginstatus from nasdaouser where name=? and password=?");<br />$selectUser->execute(array($name,$md5PD));<br />$userNum=$selectUser->rowCount();<br />$res=$selectUser->fetch();<br />if($userNum==1){<br />  loginSuecess($name,$res,$md5PD);<br />		}else {<br />			Msg($functionName);<br />	}<br />}<br />//登录成功<br />function loginSuecess($name,$res,$md5PD){<br />$functionName='';<br />$functionName=0;<br />global $dbc,$user_ip,$time;<br />$loginlog=$dbc->prepare("insert into loginlog (name,password,ip,logintime,status,loginstatus) values(?,?,?,?,?,?)");<br />$loginlog->execute(array($name,$md5PD,$user_ip,$time,'0','0'));<br />$userLogin=$dbc->prepare("update nasdaouser set endlogintime=? where name=?");<br />$userLogin->execute(array($time,$name));<br />Msg($functionName);<br />}<br /><br /><br />function Msg($functionName){<br />	echo $functionName;<br /> switch($functionName){<br />	 case "emptyloginnull":<br />	echo "不要调戏我好吗?系统也会数数的,你根本没有输入帐号与密码!!!";<br />	 break;<br />     case 0:<br />	echo "登录成功!";<br />	 break;<br />	 case 1:<br />	echo "登录失败,请检查帐号密码是否输入错误!";<br />	}<br />}<br />?><br />



问题出自function loginSuecess,登录成功后调用msg()函数 传递的$functionName变量应当是0,但是MSG()函数体内捕捉到的却是1
------解决方案--------------------
var_dump(0 == "emptyloginnull");
bool(true)

传入 0 也是 case "emptyloginnull": 分支成立

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