php安全输出

Rem*_*emy 6 php

我正试图制作一个"记住字段"的东西,所以如果有一个错误,你将不必再填写整个表格.但是如何才能使输出安全?

例:

<input type="text" name="email" value="<?php echo (isset($_POST['email'])) ? htmlspecialchars($_POST['email']) : ''; ?>" />
Run Code Online (Sandbox Code Playgroud)

如果有人输入"'"(没有引号),例如你得到:

Warning: mysql_result() expects parameter 1 to be resource, boolean given in C:\wamp\www\pages\register.php on line 55
Run Code Online (Sandbox Code Playgroud)

那么我试过:

<input type="text" name="email" value="<?php echo (isset($_POST['email'])) ? mysql_real_escape_string($_POST['email']) : ''; ?>" />
Run Code Online (Sandbox Code Playgroud)

然后它只是增加了很多//////.

我该怎么办?

我是noob是的.但我认为htmlspecialchars使用户输入安全吗?

ale*_*lex 8

这取决于背景.

htmlspecialchars() 是你在HTML中的朋友.

mysql_real_escape_string() 是你在MySQL的朋友.

更新

你可以运行所有$_POST通过htmlspecialchars()这个第一...

$encodedHtmlPost = array_map('htmlspecialchars', $_POST);
Run Code Online (Sandbox Code Playgroud)