2017-09-14 65 views
0

我正在讀取郵件中的值並通過郵件發送()。現在我從數據庫中獲得的一些數據。不過,我有一個小時問題!爲什麼我沒有得到這個值?我在哪裏做錯了?php郵件功能不顯示小時

while($row = mysqli_fetch_array($result)) 
$date = $row['DATUM']; 
$hour = $row['HOUR']; 

計算結果爲:

while ($row = mysqli_fetch_array($result)) { 
    $date = $row['DATUM']; 
} 
$hour = $row['HOUR']; 

所以$row是空/ null當您嘗試使用它

<?php 
    include("config.php"); 
    session_start(); 


$update_ime=$_POST['ime']; 
$update_priimek=$_POST['priimek']; 
$update_email=$_POST['email']; 
$update_telefon=$_POST['telefon']; 
$update_izobrazba=$_POST['izobrazba']; 
$update_kraj=$_POST['kraj']; 
$id_posta = $_POST['prijava_na_datum']; 

$result = mysqli_query($db,"SELECT DATUM, HOUR FROM razpisani_tecaji WHERE ID_TECAJA = '$id_posta'"); 
while($row = mysqli_fetch_array($result)) 
$date = $row['DATUM']; 
$hour = $row['HOUR']; 

$to  = '[email protected],[email protected]'; 
$subject = 'prijava_na_tecaj_fizicna'; 
$headers = "Prijavljam se na tečaj dne: " . $date . "\r\n"; 
$headers .= "Ob: " . $hour . "\r\n"; 
$headers .= "Ime: " . $update_ime . "\r\n"; 
$headers .= "Priimek: " . $update_priimek . "\r\n"; 
$headers .= "Email: " . $update_email . "\r\n"; 
$headers .= "Telefon: " . $update_telefon . "\r\n"; 
$headers .= "Status/izobrazba: " . $update_izobrazba . "\r\n"; 
$headers .= "Ime ustanove/kraja: " . $update_kraj . "\r\n"; 




if(@mail($to, $subject, $headers)){ 
header('Location: email_uspesno_poslan.html'); exit; 
}else{ 
header('Location: email_neuspesno_poslan.html'); exit; 
} 

?> 
+0

郵件一件事失敗了。 –

+0

你也應該使用全面/適當的支撐。 –

+0

刪除郵件功能周圍的錯誤抑制器。然後使用PHP的error_get_last() – Akintunde007

回答

0

$row當你嘗試獲得HOUR關鍵是空的。

而你需要讀取sql注入。

0

while語句的含義很簡單。它告訴PHP重複執行嵌套語句,只要while表達式的計算結果爲TRUE。每次在循環開始時檢查表達式的值,所以即使這個值在執行嵌套語句的過程中發生變化,執行也不會停止,直到迭代結束(每次PHP運行語句時在循環中是一次迭代)。有時,如果while表達式從一開始就評估爲FALSE,則嵌套語句甚至不會運行一次。

像與if語句,可以在同一個組中的多個語句,同時通過周圍一組大括號聲明循環,或通過使用替代語法:

while (expr): 
    statement 
    ... 
endwhile; 

php.net