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 中有 html 表单index.html。当我发布没有full name. 它显示alert但页面卡在register.php(空白页面)。我想显示alert页面index.html或至少重定向到index.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 页面本身中进行简单的验证。在您的 html 代码中使用 index.html pge 在您的提交按钮中添加 folloimg

<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

这样做:

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

   exit;             
}
于 2013-10-31T04:41:10.797 回答
0

您的exit命令正在停止执行,这就是它卡在 register.php 的原因。

如果你想重定向到另一个页面:http ://www.cyberciti.biz/faq/php-redirect/

于 2013-10-31T04:41:12.490 回答
0

做一件事..把这个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 回答
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 回答