获取表单以在同一页面上提交? [复制]
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 等。
【讨论】:
嗯,是的,这就是我的意思,对不起。但是我已经尝试了该代码,但仍然遇到相同的错误。 看看你的代码!还有一个额外的 【参考方案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
中的表单被嵌套在<form method="GET" action="search.php" id="search">
中
【讨论】:
【参考方案4】:而不是action="#"
的形式写form action=""
注意有2个滴答之间没有任何内容。
【讨论】:
正如我在帖子中所说,我已经尝试过了,但它根本不起作用。还是谢谢! 这样做会发生什么? 我得到了和以前一样的错误。 它会将您发送到哪个页面? 它把我送到一个全白的页面,上面写着:找不到对象!在此服务器上找不到请求的 URL。引用页面上的链接似乎是错误的或过时的。请将该错误通知该页面的作者。如果您认为这是服务器错误,请联系网站管理员。错误 404 localhost Apache/2.4.3 (Win32) OpenSSL/1.0.1c PHP/5.4.7以上是关于获取表单以在同一页面上提交? [复制]的主要内容,如果未能解决你的问题,请参考以下文章