私たちが知っているように、実際にはありませんmysqli result
のでmysql
、私は束縛されています. ざっと検索したところ、同じ効果を再現する機能が見つかりましたが、機能していないようです。実装が間違っていたのか、それとも機能が良くないだけなのかはわかりません。
これがスクリプトです
<?php
if($_SESSION['aname'] == NULL){
header("Location: index.php?au=login");
}
if(isset($_POST['submit']))
{
function email_result($res, $row, $field=0) {
$res->data_seek($row);
$datarow = $res->fetch_array();
return $datarow[$field];
}
if (get_magic_quotes_gpc())
{
$subject = stripslashes($_POST['subject']);
$message = stripslashes($_POST['message']);
}
else
{
$subject = $_POST['subject'];
$message = $_POST['message'];
}
$result = $db->query("SELECT `email` FROM `members` WHERE `alert` = '1'");
$num = $result->num_rows;
$i=0;
while($i < $num)
{
$email = email_result($result,$i,"email");
mail($email, $subject, $message, "From: ".$settings_info['website_name']." Admin<".$settings_info['admin_email'].">");
echo "Email sent to: ".$email."<br />";
header("Refresh: 2; url=index.php?au=send_message");
$i++;
}
}
else
{
?>
<table align='center'>
<form method='post' action=''>
<tr><td>Subject:</td><td><input type='text' name='subject' id='subject' value='' /></td></tr>
<tr><td>Message: </td><td><textarea name='message' id='home_text' cols='50' rows='15'></textarea></td></tr>
<tr><td></td><td><input type='submit' name='submit' id='submit' value='Send Message' /></td></tr>
</form>
</table>
<?php
}
?>
Xampp でスクリプトを使用すると、正しい情報が生成され、実際にはメールを送信していなくても、メールを送信したことがエコーされます。これは、正しく機能していたことを意味します。そのため、PHP のセットアップで何かが欠けている可能性がありますが、何が何かわかりません。
mysql_result
だから私の質問は、私が使用しているものよりも複製するためのより良い方法はありmysqli
ますか、それとも私がここに持っている現在の機能に何か欠けていますか?