0

正しく投稿する次のコードがありますが、サイトの index.php ページにリダイレクトしたいのですが、理解できません。私はどこでも検索し、ほぼすべてを試しましたが、成功しませんでした。どんな助けでも感謝します。

$editFormAction = $_SERVER['PHP_SELF'];

    $query_dupUserCheck = "SELECT tblUser.userKey FROM tblUser WHERE tblUser.username = '".$_POST['username']."'";
    $sqlsearch = mysql_query($query_dupUserCheck);
    $resultcount = mysql_numrows($sqlsearch);

    $query_dupUserCheck2 = "SELECT tblUser.userKey FROM tblUser WHERE tblUser.email = '".$_POST['user_email']."'";
    $sqlsearch2 = mysql_query($query_dupUserCheck2);
    $resultcount2 = mysql_numrows($sqlsearch2);

    if ($resultcount > 0 & $resultcount2 > 0) { 
        print("That Username and Email Already Exists");
    } else {
        if ($resultcount > 0) { 
            print("That Username Already Exists");  
        } else {
            if ($resultcount2 > 0) {    
            print("That Email Already Exists");
            } else {

if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "createAccount")) {
  $insertSQL = sprintf("INSERT INTO tblUser (username, password, userTypeKey, email) VALUES (%s, %s, %s, %s)",
                       GetSQLValueString($_POST['username'], "text"),
                       GetSQLValueString($_POST['user_password2'], "text"),
                       GetSQLValueString($_POST['userType'], "int"),
                       GetSQLValueString($_POST['user_email'], "text"));

  mysql_select_db($database_ignite, $ignite);
  $Result1 = mysql_query($insertSQL, $ignite) or die(mysql_error());

  $insertGoTo = "index.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
header(sprintf("Location : %s", $insertGoTo));
}
}}}

フォームはアクションを呼び出します

<?php echo $editFormAction;?>
4

2 に答える 2

0

私の元のコメントによると:(リンク)

Locationとセミコロンの間にスペースがあるため:

header(sprintf("Location : %s", $insertGoTo));
// ---------------------^

試す:

header(sprintf("Location: %s", $insertGoTo));

それだけでは失敗します。それを今すぐ試してみてください。

関数については、PHP のマニュアルを参照してheader()ください。http://php.net/manual/en/function.header.php

于 2013-09-06T16:54:20.127 に答える
0

あなたの問題はヘッダーへの呼び出しにあります。Location と の間のスペースを削除します。

header("Location: $insertGoTo");

またはあなたのコードスタイルで:

header(sprintf("Location: %s", $insertGoTo));
于 2013-09-06T16:51:26.223 に答える