我正在构建我的第一个PHP网站(无论如何都要尝试!),我正在尝试创建一个联系表单,其内容通过电子邮件提交给我。我有电子邮件部分,但我无法获取表单(“contact.php”)接受数据。只要在任何字段中输入字符,它就会自动刷新。这是相关的代码:
<div class="contactform">
<form name="contactform" method="post" action="contact-receiver.php">
<fieldset><legend><strong>Required Information</strong></legend>
First Name: <input type="text" name="firstName" size="35" maxlength="30"/>
Last Name: <input type="text" name="lastName" size="35" maxlength="30"/>
Email: <input type="text" name="emailAddress" size="60" maxlength="55"/>
</fieldset>
<input type="submit" value="Submit"/>
<input type="reset" value="Reset"/>
</form>
</div>
独立于网站的其他部分进行测试时,此工作正常。但是,这是上下文:
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<link rel="stylesheet" type="text/css" href="styles.css" />
</head>
<body>
<?php include 'header.php'; ?>
<?php
$id = $_GET['id'];
switch($id)
{
case 'main':
include 'storeinfo.php';
break;
case 'shop':
include 'inventory.php';
break;
case 'cart':
include 'cart.php';
break;
case 'contact':
include 'contact.php';
break;
default:
include 'error.php';
}
?>
<?php include 'footer.php'; ?>
</body>
</html>
“contact.php”在显示为单独的页面时工作正常,但在作为包含文件访问时不接受任何输入。如果我尝试在任何字段中输入数据,则在键入第一个字符后页面会立即刷新,并且数据会丢失。
如果有人能指出我正确的方向,我会非常感激!
修改
禁用Javascript无效。为了确定,我清除了缓存并重新启动了浏览器(Firefox)。当我正在研究那个伏都教牧师时,这里是index.php的页面源代码?id = contact:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>Main</title>
<link rel="stylesheet" type="text/css" href="styles.css" />
</head>
<body>
<div>
<p><img src='headerimg.png' class='header'/></p><a href='index.php?id=main'>
<img src='mainbutton.png' class='nav1'</a><a href='index.php?id=shop'>
<img src='shopbutton.png' class='nav2'</a><a href='index.php?id=cart'>
<img src='cartbutton.png' class='nav2'</a><a href='index.php?id=contact'>
<img src='contactbutton.png' class='nav2'</a>
</div>
<div class="contactform">
<form name="contactform" method="post" action="contact-receiver.php">
<fieldset><legend><strong>Required Information</strong></legend>
First Name: <input type="text" name="firstName" size="35" maxlength="30"/>
Last Name: <input type="text" name="lastName" size="35" maxlength="30"/>
Email: <input type="text" name="emailAddress" size="60" maxlength="55"/>
</fieldset>
<input type="submit" value="Submit"/>
<input type="reset" value="Reset"/>
</form>
</div>
<div id = "footer">
<p>©2012</p>
</div>
</body>
</html>
答案 0 :(得分:0)
这听起来像是与Javascript相关的问题。
检查并确保您没有包含任何尝试自动填充的脚本,因为配置错误可能会导致它在按键时发送请求,这会导致您提及的行为。
测试此功能的一种简单方法是在浏览器中禁用JavaScript并查看问题是否仍然存在。如果是这样,那就意味着你的计算机里有鬼魂,应该看到一个伏都教神父。如果问题仍然存在,则表示您网站上的某些JavaScript存在问题。
发布header.php的一些内容也会有所帮助。或者,您只需发布一次完整的HTML网页来源 - 也就是说,访问您的index.php?id=contact
页面,点击查看来源,然后在此处显示。