0

登録用の HTML フォームを作成しました。ユーザーが正常に登録されたら、自動的に自分のindex.htmlページにリダイレクトされ、アラートがポップアップして、登録に成功したことが通知されるようにします。現在、アラートは機能していますが、空白のページが表示されます。入れてみまし header ("location:../index.html")たが、うまくいきませんでした。必要なアラートを表示せずに、ページに直接移動するだけです。誰でもこれを手伝ってもらえますか?

<?php
$con = mysql_connect("localhost","root","") or die(mysql_error());
$select_db = mysql_select_db("mayan",$con);
if(isset($_POST['register']))
{
     $firstname=$_POST['first_name'];
     $lastname=$_POST['last_name'];
     $address=$_POST['address'];
     $postcode=$_POST['postcode'];
     $emailaddress=$_POST['emailaddress'];
     $password=$_POST['password'];
     $query = "select emailaddress FROM mayan_users where emailaddress='$emailaddress'";
     $link = mysql_query($query)or die(mysql_error());
     $num = mysql_num_rows($link);
 if ($num>0){
  echo 'Email already exists'; //email already taken
 }

 else {
 $insert_query = "insert into `mayan_users`(`firstname`,`lastname`,`address`,`postcode`,`emailaddress`,`password`) values('$firstname','$lastname','$address','$postcode','$emailaddress','$password')";
 $result = mysql_query($insert_query)or die(mysql_error());



  if(success)
{
   echo "<script type=\"text/javascript\">".
        "alert('success');".
        "</script>";
}
     }

   }
?>
4

5 に答える 5

2

このコードを使用して、Web サイトのフォームに記入した後、誰かをホームページにリダイレクトします。

if(empty($errors))
{
    //send the email

    echo '
        <script type="text/javascript">
            alert("YOUR MESSAGE"); 
            window.location.href = "http://www.yoursite.com";</script>';    
}   
于 2013-01-10T15:24:08.387 に答える
1

リダイレクトするときは、この関数を使用します。

function redirect($url) {
    if(!headers_sent()) {
        //If headers not sent yet... then do php redirect
        header('Location: '.$url);
        exit;
    } else {
        //If headers are sent... do javascript redirect... if javascript disabled, do html redirect.
        echo '<script type="text/javascript">';
        echo 'window.location.href="'.$url.'";';
        echo '</script>';
        echo '<noscript>';
        echo '<meta http-equiv="refresh" content="0;url='.$url.'" />';
        echo '</noscript>';
        exit;
    }
}

同じページにリダイレクトしたいのですが、?=XXX Get value

コードは次のようになります。

<?php

if ($_GET['success'] == 1){
        echo "<script type=\"text/javascript\">".
        "alert('success');".
        "</script>";
}
$con = mysql_connect("localhost","root","") or die(mysql_error());
$select_db = mysql_select_db("mayan",$con);
if(isset($_POST['register']))
{
     $firstname=$_POST['first_name'];
     $lastname=$_POST['last_name'];
     $address=$_POST['address'];
     $postcode=$_POST['postcode'];
     $emailaddress=$_POST['emailaddress'];
     $password=$_POST['password'];
     $query = "select emailaddress FROM mayan_users where emailaddress='$emailaddress'";
     $link = mysql_query($query)or die(mysql_error());
     $num = mysql_num_rows($link);
 if ($num>0){
  echo 'Email already exists'; //email already taken
 }

 else {
 $insert_query = "insert into `mayan_users`(`firstname`,`lastname`,`address`,`postcode`,`emailaddress`,`password`) values('$firstname','$lastname','$address','$postcode','$emailaddress','$password')";
 $result = mysql_query($insert_query)or die(mysql_error());



  if(success)
{
   redirect('index.php?sucess=1');
}
     }

   }
?>
于 2013-01-10T15:19:56.540 に答える
0

JavaScript を使用してリダイレクトするには:

window.location = "http://www.google.com/";

ただし、一部のユーザーが JavaScript を無効にしている可能性があるため、ユーザーがクリックできるようにリンクを追加することをお勧めします。また、リダイレクトにタイムアウトを設定して、ユーザーがページを読むのに数秒かかるようにします。例えば:

if (success) {
   echo "<script type=\"text/javascript\">" . 
         "setTimeOut(function() {" . 
         "   window.location = 'http://www.google.com';" . 
          "}, 2500);" .
         "</script>";
}
于 2013-01-10T15:18:48.313 に答える
0

「index.php?success」のように、インデックス ページで変数を実行できます。次に、if(isset($_GET['success']) でこのリクエストを確認し、その IF にログインを追加します。

于 2013-01-10T15:23:20.343 に答える
-1

1) まず、index.htmlを php ファイルに変更します: index.php

2) index.phpファイルの先頭に次のように記述します。

<?php
    session_start();
?>

3) index.phpファイルの本文では、次のことができます。

メッセージを印刷する

<?php
   if(isset($_SESSION['message'])) {
     echo $_SESSION['message'];
     unset($_SESSION['message']);
   }
?>

またはjavascriptで警告する

<?php
   if(isset($_SESSION['message'])) {
     echo '<script> alert(\'Success\'); </script>';
     unset($_SESSION['message']);
   }
?>

4) あなたが私たちにくれたこのアクションファイルについて

<?php

  // START THE SESSION
  session_start();

$con = mysql_connect("localhost","root","") or die(mysql_error());
$select_db = mysql_select_db("mayan",$con);
if(isset($_POST['register']))
{
     $firstname=$_POST['first_name'];
     $lastname=$_POST['last_name'];
     $address=$_POST['address'];
     $postcode=$_POST['postcode'];
     $emailaddress=$_POST['emailaddress'];
     $password=$_POST['password'];
     $query = "select emailaddress FROM mayan_users where emailaddress='$emailaddress'";
     $link = mysql_query($query)or die(mysql_error());
     $num = mysql_num_rows($link);
 if ($num>0){
  $_SESSION['message'] = 'Email already exists'; //email already taken
 }

 else {
 $insert_query = "insert into `mayan_users`(`firstname`,`lastname`,`address`,`postcode`,`emailaddress`,`password`) values('$firstname','$lastname','$address','$postcode','$emailaddress','$password')";
 $result = mysql_query($insert_query)or die(mysql_error());



  if($result)
  {
     $_SESSION['message'] = 'Success';
  }
 }

}
// redirect to main page
header("Location: /");
?>
于 2013-01-10T15:26:37.463 に答える