Heim  >  Artikel  >  Backend-Entwicklung  >  在线等-PHP函数传递参数单引号与双引号

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

WBOY
WBOYOriginal
2016-06-23 13:31:321353Durchsuche

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 标记
你需要在文本状态下才能观察到

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

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