获取表单以在同一页面上提交? [复制]

Posted

技术标签:

【中文标题】获取表单以在同一页面上提交? [复制]【英文标题】:Get form to submit on same page? [duplicate] 【发布时间】:2013-06-21 12:20:09 【问题描述】:

好的,我已经发布了这个,但仍然没有找到解决方案。我似乎无法让我的表单保持在同一页面上,而且我基本上已经尝试了我能想到的一切。

    <?php include("inc\incfiles\header.inc.php"); ?>
    <?php
      $reg = @$_POST['reg'];
       //declaring variables to prevent errors 
         $fn = $ln = $un = $em = $em2 = $pswd = $pswd2 = $d = $u_check = ""; 

       /*$fn = ""; //First Name
         $ln = ""; //Last Name
         $un = ""; //Username
         $em = ""; //Email
         $em2 = ""; //Email 2
         $pawd = ""; //:Password
         $pawd2 = ""; //Password 2
         $d = ""; //Sign up Date
         $u_check = ""; //Check if username exists*/
         //registration form
         $fn = mysql_real_escape_string(@$_POST['fname']);
         $ln = mysql_real_escape_string(@$_POST['lname']); 
         $un = mysql_real_escape_string(@$_POST['username']); 
         $em = mysql_real_escape_string(@$_POST['email']); 
         $em2 = mysql_real_escape_string(@$_POST['email2']); 
         $pswd = mysql_real_escape_string(@$_POST['password']); 
         $pswd2 = mysql_real_escape_string(@$_POST['password2']); 
         $d = date("Y-m-d"); //Year - Month - Day 

       if ($reg) 
        
       //check all of the fields have been filled in
       if ($fn && $ln && $un && $em && $em2 && $pswd && $pswd2) 

       
       else
       echo "please fill in all fields...";
        
        
        ?>

       <table class="homepageTable">
        <tr>

    <td  valign="top">
    <center><h2>Join the community today!</h2></center>
<center><img src="images/photo.png" ></center>
 <form>
</td>
<td  valign="top">
<h2>Get started below...</h2>  
<form action="#" method="post">
      <input type="text" size="25" name="firstname" placeholder="First Name" value="<?php echo $fn; ?>"/>
      <input type="text" size="25" name="lastname" placeholder="Last Name" value="<?php echo $ln; ?>"/>
      <input type="text" size="25" name="username" placeholder="Username" value="<?php echo $un; ?>"/>
      <input type="text" size="25" name="email" placeholder="Email" value="<?php echo $em; ?>">
      <input type="text" size="25" name="email2" placeholder="Repeat Email" value="<?php echo $em2; ?>"/>
      <input type="password" size="32" name="password" placeholder="Password"/>
      <input type="password" size="32" name="password2" placeholder="Repeat Password"/><br />
      <input type="submit" name="reg" value="Sign Up!"/>

      </form>
      </td>
        </tr>

        </table>

我最大的问题是:

<form action="#" method="post">
      <input type="text" size="25" name="firstname" placeholder="First Name" value="<?php echo $fn; ?>"/>
      <input type="text" size="25" name="lastname" placeholder="Last Name" value="<?php echo $ln; ?>"/>
      <input type="text" size="25" name="username" placeholder="Username" value="<?php echo $un; ?>"/>
      <input type="text" size="25" name="email" placeholder="Email" value="<?php echo $em; ?>">
      <input type="text" size="25" name="email2" placeholder="Repeat Email" value="<?php echo $em2; ?>"/>
      <input type="password" size="32" name="password" placeholder="Password"/>
      <input type="password" size="32" name="password2" placeholder="Repeat Password"/><br />
      <input type="submit" name="reg" value="Sign Up!"/>

      </form>

我希望能够按下提交按钮并让它保持在同一页面上。 我试过留下空白我尝试了其他一些建议,但我一直没有提出任何建议。我已经尝试了 2 天了,但它就是不会让步。在 xampp 中按下我网站上的提交按钮时,它只会将我带到另一个页面,上面写着 OBJECT NOT FOUND ... 等。

如果有人可以提供帮助,将不胜感激!我真的不想因为一个错误就重新开始我的编码。

Header.inc.php

<?php 
include("inc/scripts/mysql_connect.inc.php"); 
?> 
<html>
<head>
<link href="css\main.css" rel="stylesheet" type="text/css"> 
<title>website</title>
</head>
<body>
<div class="headerMenu">
 <div id="wrapper">
      <div class="logo">
          <img src="images/Logo.png">
      </div>
      <div class="search_box">
            <form method="GET" action="search.php" id="search">
            <input name="q" type="text" size="60" placeholder="Search..."
            </form>
      </div>
      <div id="menu">
        <a href="#">Home</a>
        <a href="#">About</a>
        <a href="#">Sign Up</a>
        <a href="#">Log in</a>
     </div>
</div>
<br />
<br />
<br />
<br />

【问题讨论】:

不要发布重复的问题。如果您觉得相同的早期版本没有引起注意,您可以对其进行编辑以将其转储到列表顶部。 @MarcB 即使我认为这两个问题的代码和错误是相同的! 对不起,我是新来的。我不认为重复发布有什么大不了的。 只需编辑您之前的问题并添加您在此处添加的代码部分。这将使您的问题排在首位。并删除这个问题:) @MuhammedHedayet 他们是一样的!我并不是想让它们变得相同。正如您在第一句话中看到的那样,我说过我之前已经发布过。 【参考方案1】:

尝试使用 $_SERVER['PHP_SELF'] http://php.net/manual/en/reserved.variables.server.php

【讨论】:

我也试过这个。但没有运气。【参考方案2】:

保持在同一页面上,我认为您的意思是您要提交页面、刷新和发送数据。如果你是这个意思,那么你可以使用它作为你的标签:

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" >

但是,如果您不希望页面被刷新,则需要使用 Jquery、javascript 等。

【讨论】:

嗯,是的,这就是我的意思,对不起。但是我已经尝试了该代码,但仍然遇到相同的错误。 看看你的代码!还有一个额外的
标签!在此代码之后:&lt;center&gt;&lt;h2&gt;Join the community today!&lt;/h2&gt;&lt;/center&gt;。这可能是问题!
【参考方案3】:

您的问题是inc\incfiles\header.inc.php 中的这一行

<input name="q" type="text" size="60" placeholder="Search..."

你缺少右括号 -

<input name="q" type="text" size="60" placeholder="Search..." />
                                                              ^^

因此,下一行的结束表单标记未被解析,因此index.php 中的表单被嵌套在&lt;form method="GET" action="search.php" id="search"&gt;

【讨论】:

【参考方案4】:

而不是action="#" 的形式写form action="" 注意有2个滴答之间没有任何内容。

【讨论】:

正如我在帖子中所说,我已经尝试过了,但它根本不起作用。还是谢谢! 这样做会发生什么? 我得到了和以前一样的错误。 它会将您发送到哪个页面? 它把我送到一个全白的页面,上面写着:找不到对象!在此服务器上找不到请求的 URL。引用页面上的链接似乎是错误的或过时的。请将该错误通知该页面的作者。如果您认为这是服务器错误,请联系网站管理员。错误 404 localhost Apache/2.4.3 (Win32) OpenSSL/1.0.1c PHP/5.4.7

以上是关于获取表单以在同一页面上提交? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

JS:提交表单并在同一页面上呈现结果

Ajax 表单提交不在同一页面上

在同一页面上显示提交的表单响应。 (没有重装)

PHP 表单 - 提交时停留在同一页面上

html中提交表单后如何在同一页面上显示表格?

在同一页面上提交表单时如何预填充下拉列表?