4
if (!(isset($_POST['fullname']) && strlen($_POST['fullname']))) {
  echo 
  "<script type=\"text/javascript\">".
  "window.alert('You must enter your full name.');".
  "</script>"; 

   exit;             
}

上記のコードはregister.phpファイルにあります。にhtmlフォームがありindex.htmlます。なしでフォームを投稿するときfull name。表示されますが、ページが(空白のページで)alertスタックします。ページに表示するか、少なくともにリダイレクトされます。どうやってするの???register.phpalertindex.htmlindex.html

4

10 に答える 10

3

試してみてwindow.location.href = '/index.htmlくださいscript

if (! (isset($_POST['fullname']) && strlen($_POST['fullname']))) {
    echo "<script type=\"text/javascript\">window.alert('You must enter your full name.');window.location.href = '/index.html';</script>"; 
   exit;
}
于 2013-10-31T04:39:52.090 に答える
0

フィールドの検証のためにこれを行っていると思います。index.html ページ自体で単純な検証を行うことをお勧めします。index.htmlページのhtmlコードで使用し、送信ボタンに次を追加します

<input type="submit" name="submit" value="yourvalue" onclick="return validateName()">

そして、javascript検証メソッドを次のように使用します

<script language="javascript" >
function validateName(){
if(document.getElementById("idOfFirstNameField").value==""){
alert("Please enter your name");
document.getElementById("idOfFirstNameField").focus();
return false;   
    }   

    }
</script>
于 2013-10-31T04:52:56.960 に答える
0

より良い方法は、index.html 自体に javascript を指定することです。したがって、ユーザーがフルネームを入力しない場合、register.php にリダイレクトされません。同じページにとどまり、index.html に警告エラー メッセージが表示されます。

あなたがそのように置くHTMLの頭に

<head>
function validate(){
     fname=document.getElementByID('fname').value;
     if (fname==""){
         alert("Please provide full name.");
         return false;
     }else{
         window.location.href = 'register.php';
     }
}
</head>
<body>
      <form name="adminform" src="register.php" onsubmit="return validate();">
      <input type="text" id="fname" name="fname" value=""/>
      </form>
</body>

ユーザーがフルネームを入力すると、register.php にリダイレクトされます

于 2013-10-31T04:53:23.173 に答える
0

1つのことを行います..これをif条件と同じページに入れます。同じページでフォームを送信します。それはより良い考えです。別の理由で register.php ファイルが必要ない場合。それはによって行うことができます

windows.location("index.php").

しかし、今では良い方法です。

于 2013-10-31T04:42:03.960 に答える
0
<?php
if (!(isset($_POST['fullname']) && strlen($_POST['fullname']))) {
    echo
        "<script type=\"text/javascript\">".
        "window.alert('You must enter your full name.');".
        'window.location.href="index.html";'.
        "</script>";

    exit;
}
于 2013-10-31T04:43:13.140 に答える
0

PHP を使用してフォームを送信すると、ブラウザがそのページにリダイレクトされます。フォームを送信する前にエラーメッセージを警告しないのはなぜですか? 以下に短い例を示します。

<form name="contactForm" action="register.php">
    <label for="name" id="name_label">Name</label>  
    <input type="text" name="name" id="name" />  
    <input type="submit" name="submit" class="button" id="submit_btn" value="Send" />
</form>

<script>
    $(function() {  
        $('#contactForm').on('submit', function() {  
            // validate and process form here
            if( !$("#name").val() ) {  
                alert('You must enter a valid name!');
                return false;
            }
        });  
    });
</script>
于 2013-10-31T04:43:25.630 に答える
0

これは完全にクライアント側で行う必要があります。フルネーム フィールドが入力されたかどうかを判断するためにサーバーにアクセスする必要さえありません。

登録ページで次のようなことを試してください。

<form id="myform" action="register.php" method="post">
    Full Name: <input type="text" name="fullname" />
    <input type="submit" value="Submit" />
</form>

<script type="text/javascript">
document.getElementById('myform').onsubmit=function(){
    if(!this.fullname.value) {
        alert("You must enter your full name")
        //stop form submission
        return false
    }
    //continue on to register.php
    return true
}
</script>

ワーキングJSフィドル:

http://jsfiddle.net/GAk8C/

于 2013-10-31T04:44:51.187 に答える
0

私のやり方。register.php ファイル内:

<?php session_start();

if((empty($_POST['name'])) || (empty($_POST['email'])) || (empty($_POST['subject'])) || (empty($_POST['message']))) {
    $_SESSION['mensaje']="<script language=\"javascript\">alert('All fields are mandatory')</script>";
    header("Location: ../contact.php");
    exit;
  }

そして、エラーの場合にリダイレクトするファイルの最初の行 (この場合は contact.php)

<?php session_start();
if(isset($_SESSION['mensaje'])){
  echo $_SESSION['mensaje'];
}
session_destroy();?>
<!DOCTYPE html>

また、同じ方法で成功メッセージを表示することもできます。それが役に立てば幸い。

于 2014-12-06T16:12:39.550 に答える