2011-09-03 52 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>