首页  >  文章  >  后端开发  >  在线等-PHP函数传递参数单引号与双引号

在线等-PHP函数传递参数单引号与双引号

WBOY
WBOY原创
2016-06-23 13:31:321370浏览

http://software.ftp.sscmoni.com/1.png
图片上传不上去就用,麻烦大家点开看下
这个函数里面的传递的参数,就是那个红框里面,base64解密,传递的参数解密不成功,如果直接填,用单引号也不成功,用双引号成功,那个参数里面有\n换行符,双引号则生效,那么我要传递这个参数,因为这个参数是动态的,POST表单提交过来的,那么我应该怎样写呢?

<?phpclass form{public function __construct($user="username", $pass="123456", $code="123456" ){$encryptedData = base64_decode($user);echo("$datedate");$decrypted = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $pass, $encryptedData, MCRYPT_MODE_CBC, "$code");echo("$decrypted");die; }}if ( sizeof($_POST) ) {$user = $_POST["date"] or die('内容不能为空!');$pass = $_POST["key"] or die('内容不能为空!');$code = $_POST["iv"] or die('内容不能为空!');$Form = new form("$user", "$pass", "$code");}?>


回复讨论(解决方案)

无论 $user 在 base64_encode 之前是什么,经过 base64_encode 之后,绝不会含有 换行符
因此不能在虚无的基础上进行讨论

无论 $user 在 base64_encode 之前是什么,经过 base64_encode 之后,绝不会含有 换行符
因此不能在虚无的基础上进行讨论


在base64_encode之前是有换行符的,现在问题是  转换时,换行符没有生效,这个怎么办

在base64_encode之前是有换行符的
那么 $encryptedData = base64_decode($user); 后
$encryptedData 中就有换行符
但是你 echo $decrypted; 是看不到的,因为浏览器不会将换行符表现为换行。html 的换行是 br 和 p 标记
你需要在文本状态下才能观察到

大神们 我已经解决啦  谢谢大家帮我解决问题哦

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn