2011-09-03 71 views
2

我的PHP脚本来发送邮件如下:表单显示“/”

<?php 
    if (isset($_POST['submit'])) { 
     $to='[email protected]'; 
     $fname=stripslashes($_POST['fname']); 
     $email=$_POST['email']; 
     if (get_magic_quotes_gpc()) 
      $email = stripslashes($email); 
     //$email=trim($email, '/'); 
     $msg=$_POST['msg']; 
     $msg=stripslashes($msg); 
     $message="Name: $fname\n" ."Message: $msg\n"; 
     mail($to,$subject,$message,'From:'.$email) ; 
    } 
    ?> 
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="contact us"> 
    <label>Name:</label> 
    &nbsp;&nbsp;&nbsp; 
    <input type="text" name="fname" value=<?php if(!empty($fname)) echo $fname; ?> /><br /> 
    <label>Email:</label> 
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="email" value=<?php if (!empty($email)) echo $email; ?> /><br /> 
    <label>Message:</label> 
    <textarea name="msg" rows="5"><?php if (!empty($msg)) echo $msg; ?></textarea>  <br /> 
    <input type="submit" name="submit" value="Post" /> 
</form> 

但形式出现时,有在各个领域增加了一个/。 我曾尝试使用trim,rtim,获得魔术报价和stripslashes,但没有任何工作。

+1

你应该在'value =“” –

回答

1

尝试添加“”围绕价值属性

<input type="text" name="email" value="<?php if (!empty($email)) echo $email; ?>" /> 
0

这将教你遵循的标准和总是用引号标记参数值

0

首先,不要不使用stripslashes()。只需使用php.ini文件或.htaccess完全禁用magic_quotes_gpc即可。如果不能,查看接受这个问题的答案:How to turn off magic quotes on shared hosting?

关于你的错误......

value=<?php if (!empty($email)) echo $email; ?> /> 

如果你看看,你没有把周围的属性“价值”的报价。

value="<?php if (!empty($email)) echo $email; ?>" /> 

将修复它

3

这是因为你的value=的不被结束。

试试这个:<input type="text" name="fname" value="<?php if(!empty($fname)) echo $fname; ?>" />并将相同的学习应用于所有输入。

另外我重新格式化了你的代码,并在CSS中添加了label ..所以你没有使用那些丑陋的行空格。

<?php 

if (isset($_POST['submit'])) { 
    $to = '[email protected]'; 
    $fname = stripslashes($_POST['fname']); 
    $email = $_POST['email']; 

    if (get_magic_quotes_gpc()) { 
     $email = stripslashes($email); 
    } 

    // $email = trim($email, '/'); 
    $msg = $_POST['msg']; 
    $msg = stripslashes($msg);  
    $message = "Name: $fname\n" ."Message: $msg\n"; 
    mail($to, $subject, $message, 'From:' . $email); 
} 

?> 

<style> 
    label {width: 120px;} 
</style> 

<form action="" method="post"> 

    <label>Name:</label> 
    <input type="text" name="fname" value="<?php if(!empty($fname)) echo $fname; ?>" /><br /> 
    <label>Email:</label> 
    <input type="text" name="email" value="<?php if (!empty($email)) echo $email; ?>" /><br /> 
    <label>Message:</label> 
    <textarea name="msg" rows="5"><?php if (!empty($msg)) echo $msg; ?></textarea><br /> 
    <input type="submit" name="submit" value="Post" /> 

</form>