2016-02-26 89 views
0

我試圖重新向您發送包含用戶的用戶名和密碼的電子郵件,但是用戶名經歷,而密碼PHP變量不傳遞給電子郵件

PHP:

<?php 
if(!isset($_POST['submit'])) 

$user = $_POST['username']; 
$pass = $_POST['password']; 
$email = $_POST['email']; 

$email_from = '[email protected]'; 
$email_subject = "Username and Password for you"; 
$email_body = "Username: $user \n". 
"Password: $pass \n". 

$to = $email; 
$headers = "From: $email_from \r\n"; 
$headers .= "Reply-To: $visitor_from \r\n"; 

mail($to,$email_subject,$email_body,$headers); 

?> 

HTML:

<!DOCTYPE html> 
<html> 
<head> 
<title>Login Form in PHP with Session</title> 
<link href="style.css" rel="stylesheet" type="text/css"> 
</head> 
<body> 
<form action="db.php" method="post"> 
    First name:<br> 
    <input type="text" name="username" readonly value='<?php echo $random_first .'_'. $random_second; ?>'><br> 
    Last name:<br> 
    <input type="text" name="password" readonly value='<?php echo $pw; ?>'><BR> 
    Enter your email to get a copy of these!<br> 
    <input type="text" name="email"><BR> 
    <input type ="submit" value = "submit" name="submit"> 
</form> 
</body> 

得到的電子郵件:

Username: 
Password: hG31cZbTL 

我現在很茫然。用戶名應該在表單中生成。我可能只是錯過了一些小東西,需要其他的眼睛才能看到它。

我有一個腳本,當頁面加載時會生成一個隨機的用戶名和密碼,因此用戶名和密碼值中的變量。他們相當長時間,並不認爲他們會涉及這個特殊問題,所以他們已經離開了他們。

+1

確定'<?PHP的echo $ random_first .'_」。 $ random_second; ?>總是有價值?因爲其餘代碼看起來完全正常。 –

+0

你可以在提交之前在'textbox'中看到值嗎? –

+0

首先,你可以檢查的值'$ random_first,$ random_second' .show你的代碼提交 –

回答

0

更改你的PHP代碼:

<?php 
if(isset($_POST['submit'])) // did changes here 
{ 
    $user = $_POST['username']; 
    $pass = $_POST['password']; 
    $email = $_POST['email']; 

    $email_from = '[email protected]'; 
    $email_subject = "Username and Password for you"; 
    $email_body = "Username: $user \n". 
    "Password: $pass \n". 

    $to = $email; 
    $headers = "From: $email_from \r\n"; 
    $headers .= "Reply-To: $visitor_from \r\n"; 

    mail($to,$email_subject,$email_body,$headers); 
} 
?> 
+0

是嗎?每當按鈕被點擊時,我們將發送消息。這是必須要做什麼,並且代碼在做同樣的 – Nehal

+0

確定好即可。評論已刪除:) –

0

應該includecode用於生成HTML頁面

HTML

<?php 
require_once 'your file'; 
// or code 
?> 
<!DOCTYPE html> 
<html> 
<head> 
<title>Login Form in PHP with Session</title> 
<link href="style.css" rel="stylesheet" type="text/css"> 
</head> 

PHP

隨機變量
-1

我嘗試了上面的建議,但他們只是簡單地停止發送電子郵件。

我刪除了if(!isset($_POST['submit'])),它的工作完美!去搞清楚。

感謝您的所有意見,但我非常感謝您的所有時間。

編輯:聖牛!好吧,出於某種原因,我沒有看到任何人從if(!isset($_POST['submit']))中刪除了爆炸(!)。由於大括號不斷被指出,我只是完全錯過了爆炸,我猜!

我已經刪除了爆炸,現在它的工作沒有問題,並從skynet機器人是安全的,希望用空白的電子郵件淹沒我的服務器,無處不在。

再次感謝大家。

+0

不知道爲什麼,如果它是實際的解決方案我的答案會得到downvoted。可能不完美,但它的工作原理。 – Chris

+1

如果一名保安阻止你在一個檢查站驗證您的ID,你證明你的ID或從檢查後取下保護,讓它無人看管,然後感覺很好,問題得到解決? –

+1

隨着那個勾去掉,每次有人會加載網頁服務器將嘗試發送電子郵件。想象一下,一個機器人在1秒內通過並訪問您的頁面100次。您的服務器嘗試發送100封包含空白數據的電子郵件 –

0

只是替換代碼中的波紋線。

$email_body = "Username: $user <br/> Password: $pass "; 

$email_body = "Username: ".$user." <br/> Password: ".$pass;