私は自分のユーザーのPHP電子メールアクティベーションシステムを作成しようとしています。スクリプトを実行すると空白のページが返され、データベースは更新されませんでした。どんな助けもありがとうございます。 activationkey
が初期化されていない定数であり、あなたのコードでIm空白のページをPHPで取得する
<?php
session_start()
$host="localhost";
$username="root";
$password="power1";
$db_name="members";
$tbl_name="users";
$link = mysql_connect($host, $username, $password)or die("cannot connect. Please contact us");
mysql_select_db($db_name)or die("cannot select DB. Please contact us");
$queryString = $_SERVER['QUERY_STRING'];
if(isset($_SESSION[$queryString])) {
$query = "SELECT *
FROM users
WHERE email = '$_SESSION[$queryString]'";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result)) {
if ($queryString == $row[activationkey]) {
echo "Congratulations! You have succesfully activated you account. You may now login.";
$sql = ("UPDATE users
SET activationkey = ''
AND status = 'activated'
WHERE username = ".$row['username']);
if (!mysql_query($sql)) {
die('Error: ' . mysql_error());
}
}
}
} ?>
「のerror_reporting(E_ALL)を追加してみてください。ini_set( 『はdisplay_errors』、 'に');"ファイルの先頭に移動して、ページを再度表示したときに返されるエラーを確認します。空白ページを取得する理由は、通常、どこかにエラーがあり、エラー報告がオフになっているためです。 –
'$ _SESSION [$ queryString]'はこれが正しいか、 '$ queryString'を使うつもりですか? – Balanivash
行14に関して私の答えを参照してください – Ryan