2017-09-14 33 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