Php 自动添加到文本框的斜杠
我一直在绞尽脑汁,想弄明白为什么在我运行这个php脚本时,我页面上的每个by文本框中都有斜杠(“/”)。页面上的一切都很好。我什么都试过了,但它们就在那里。下面是我的全部代码。谢谢你的帮助!Php 自动添加到文本框的斜杠,php,textbox,slash,Php,Textbox,Slash,我一直在绞尽脑汁,想弄明白为什么在我运行这个php脚本时,我页面上的每个by文本框中都有斜杠(“/”)。页面上的一切都很好。我什么都试过了,但它们就在那里。下面是我的全部代码。谢谢你的帮助! function validateInput($data, $fieldName){ global $error; if (empty($data)){ echo "\"$fieldName\" is a required field.<br />\n";
function validateInput($data, $fieldName){
global $error;
if (empty($data)){
echo "\"$fieldName\" is a required field.<br />\n";
++$error;
$retval = "";
} else if (!preg_match('/[^A-Za-z]/', $data) == 0){
echo "\"$fieldName\" can only contain letters.<br />\n";
++$error;
$retval = "";
} else {
$retval = trim($stripslashes($data));
}
return ($retval);
}
function validateAddress($data, $fieldName){
global $error;
if (empty($data)){
echo "\"$fieldName\" is a required field.<br />\n";
++$error;
$retval = "";
} else if (!preg_match('/[^0-9A-Za-z]/', $data)){
echo "\"$fieldName\" can only contain letters or numbers.<br />\n";
++$error;
$retval = "";
} else {
$retval = trim(stripslashes($data));
}
return ($retval);
}
function validateNumber($data, $fieldName){
global $error;
if (empty($data)){
echo "\"$fieldName\" is a required field.<br />\n";
++$error;
$retval = "";
} else if (!is_numeric($data)){
echo "\"$fieldName\" must contain only numbers.<br />";
++$error;
$retval = "";
} else if (strlen($data) != 10){
echo "\"$fieldName\" must be 10 numbers long.<br />";
++$error;
$retval = "";
} else {
$retval = trim(stripslashes($data));
}
return ($retval);
}
function validateEmail($data, $fieldName){
global $error;
if (empty($data)){
echo "\"$fieldName\" is a required field.<br />\n";
++$error;
$retval = "";
} else {
$retval = trim(stripslashes($input));
$pattern = "/^[\w-]+(\.[\w-]+)*@" .
"[\w-]+(\.[\w-]+)*" .
"(\.[a-z]{2,})$/i";
if (preg_match($pattern, $retval) == 0){
echo "\"$fieldName\" is not a valid email address.<br />\n";
++$error;
}
}
return($retval);
}
function displayForm($name, $email, $address, $phone){
include("header.html");
?>
<div class="center">
<form name="contact_us" action="contact_us.php" method="post">
<p>Your Name: <input type="text" name="name" value=<?php echo $name; ?> /></p>
<p>Your Email: <input type="text" name="email" value=<?php echo $email; ?> /></p>
<p>Your Address: <input type="text" name="address" value=<?php echo $address; ?> /></p>
<p>Your Phone Number: <input type="text" name="phone" value=<?php echo $phone;?> /></p>
<p><input type="submit" name="Submit" value="Send" />
<input type="reset" value="Clear"/>
</form>
</div>
<?php
include("footer.html");
}
$showForm = TRUE;
$error = 0;
$name = "";
$email = "";
$address = "";
$phone = "";
if (isset($_POST['Submit'])){
$name = validateInput($_POST['name'], "Name");
$email = validateEmail($_POST['email'], "Email");
$address = validateAddress($_POST['address'], "Address");
$phone = validateNumber($_POST['phone'], "Phone");
if ($error == 0)
$showForm = FALSE;
else
$showForm = TRUE;
}
if ($showForm == TRUE){
if ($error > 0)
echo "<p>Please re-enter the form information below.<br/>\n";
displayForm($name, $email, $address, $phone);
} else {
echo "Your contact information has been recorded. Thank you!";
}
?>
函数validateInput($data,$fieldName){
全局$错误;
if(空($数据)){
echo“\”$fieldName\”是必填字段。
\n;
++$error;
$retval=“”;
}如果(!preg_match('/[^A-Za-z]/',$data)==0,则为else{
echo“\”$fieldName\“只能包含字母。
\n”;
++$error;
$retval=“”;
}否则{
$retval=trim($stripslashes($data));
}
返回($retval);
}
函数validateAddress($data,$fieldName){
全局$错误;
if(空($数据)){
echo“\”$fieldName\”是必填字段。
\n;
++$error;
$retval=“”;
}如果(!preg_match('/[^0-9A-Za-z]/',$data))为else{
echo“\”$fieldName\“只能包含字母或数字。
\n”;
++$error;
$retval=“”;
}否则{
$retval=trim(stripslashes($data));
}
返回($retval);
}
函数validateEnumber($data,$fieldName){
全局$错误;
if(空($数据)){
echo“\”$fieldName\”是必填字段。
\n;
++$error;
$retval=“”;
}如果(!是数字($data))则为else{
echo“\”$fieldName\”只能包含数字。
;
++$error;
$retval=“”;
}否则如果(strlen($data)!=10){
echo“\”$fieldName\”的长度必须为10个数字。
;
++$error;
$retval=“”;
}否则{
$retval=trim(stripslashes($data));
}
返回($retval);
}
函数validateEmail($data,$fieldName){
全局$错误;
if(空($数据)){
echo“\”$fieldName\”是必填字段。
\n;
++$error;
$retval=“”;
}否则{
$retval=trim(stripslashes($input));
$pattern=“/^[\w-]+(\.[\w-]+)*@”。
“[\w-]+(\[\w-]+)*”。
“(\[a-z]{2,})$/i”;
如果(预匹配($pattern,$retval)==0){
echo“\”$fieldName\”不是有效的电子邮件地址。
\n;
++$error;
}
}
返回($retval);
}
函数displayForm($name、$email、$address、$phone){
包括(“header.html”);
?>
您的姓名:/>
您的地址:/>
您必须在以下几行中引用您的值
属性:
<input type="text" name="name" value=<?php echo $name; ?> />
因此,默认情况下,您的输入框中会填充一个/
。若要修复此错误(并避免其他可能的错误),请引用您的$name
:
<input type="text" name="name" value="<?php echo htmlspecialchars($name); ?>" />
PHP运行addslashes()默认情况下,在所有GET、POST和COOKIE数据上。不确定这是否会影响代码,但如果变量包含空格,则应引用
值
属性:例如@mc10,我打赌这就是问题所在。…value=/>
当值为空时,表示的是…value=/>
,而您只是表示值是/
。就像Jon说的,看起来你从来没有为你的值=“随便什么”输出引号
字段。另外,validateInput
中的$
条斜线之前的$
可能是一个打字错误。因此您应该让添加引号来修复它!真不敢相信这是一个如此简单的错误。非常感谢!
<input type="text" name="name" value="<?php echo htmlspecialchars($name); ?>" />