ヘッダーの場所に問題があります。私は php を初めて使用し、この別の php ファイルを実行した後、インデックス ページにリダイレクトできません。さらに、私の関数は、テキスト ボックスの内容が空白であるか、デフォルト値の "<>" に等しいかを判断できません。
ありがとうございました
<?php
include('connectionFile.php');
//test for duplicate emails
$query="SELECT * FROM ClientEmail WHERE ClientEmailAddress = '$_POST[emailAdd]'";
$email=$_POST['emailAdd'];
$result=mysql_query($query);
$num=mysql_num_rows($result);
if($num==0)
{
if(isset($_POST['emailAdd']) && !empty($_POST['emailAdd']) && $_POST['emailAdd'].value != "<<please enter email>>")
{
// the form was submitted
//remove hacker HTML
$email2=strip_tags($_POST['emailAdd']);
//Insert data into database
$sql2="INSERT INTO ClientEmail SET ClientEmailAddress='$email2'";
$result=mysql_query($sql2);
//Direct back to homepage
echo "heloooo";
header('location:/index.php');
}
else
{
header('location:/index.php');
}
}
else
{
header('Location:http://www.google.com');
`enter code here`}
?>
編集
提案された変更を行った後、エラーログは次のとおりです
通知: 未定義の定数 db_selected の使用 - 15 行目の /home/clubbtpk/public_html/connectionFile.php で「db_selected」を想定
警告: ヘッダー情報を変更できません - 28 行目の /home/clubbtpk/public_html/addEmail.php で既に送信されたヘッダー (/home/clubbtpk/public_html/connectionFile.php:15 で開始された出力)
接続ファイルのコードは次のとおりです。
<?php
$host="localhost";
$username="username";
$password ="password";
// Create connection to mysql server
$con=mysql_connect("$host","$username","$password");
// Check connection
if (!$con)
{
die ("Failed to connect to MySQL: " . mysql_error());
}
// Select database
$db_selected = mysql_select_db("DB", $con);
if(!db_selected)
{
die ("Cannot connect : " . mysql_error());
}
?>
編集2
if(!db_selected) を if(!$db_selected) に変更して最初のエラーを解決しました
解決済み 次のコード行を index.php ファイルに追加しました。
<?php
if(isset($_REQUEST["emailAdd"])){
include("addEmail.php");
}
?>
次に、フォームのアクションを "" に変更して、現在のページをリロードします。
<form name="emailAddr" method="post" action="">