所以,在这里,我再次遇到另一个问题 - .-'
我编写了自己的php / html脚本来输入并将数据从表单传递到数据库。一开始它起作用了。不知何故,几天后它开始将我重定向到XAMPP localhost主页(http:// localhost / xampp /)。我不明白为什么:/
以下是我的网站的样子:
以下是我的“addguestbook.php”的样子:
<?php
...database stuff...
if ($_SERVER['REQUEST_METHOD'] == 'POST'){
$name = $_POST['name'];
$email = $_POST['email'];
$website = $_POST['website'];
$comment = $_POST['comment'];
$datetime = date("l, jS M Y, g:i a"); //date time
// Connect to server and select database.
mysql_connect($host, $username, $password)or die("cannot connect server: ".mysql_error());
mysql_select_db($db_name)or die("cannot select DB: ".mysql_error());
$sql="INSERT INTO ".$tbl_name."(id, name, email, website, comment, datetime)VALUES('".$post_id."', '".$name."', '".$email."', '".$website."', '".$comment."', '".$datetime."')";
$result=mysql_query($sql);
mysql_close();
header('Location: http://'.$hostname.$path.'/index.php' . $get, true, 303);
}?>
<form action="index.php<? echo $get; ?>" method="post">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="guestbookFormCell" colspan='2'><input
class="guestbookInputFieldText" name="name" type="text"
value="Name *" size="40" maxlength="30" /></td>
</tr>
<tr>
<td class="guestbookFormCell" colspan='2'><input
class="guestbookInputFieldText" name="email" type="text"
value="E-Mail (won't become displayed)" size="40" maxlength="40" />
</td>
</tr>
<tr>
<td class="guestbookFormCell" colspan='2'><input
class="guestbookInputFieldText" name="website" type="text"
value="Website" size="40" maxlength="50" /></td>
</tr>
<tr>
<td class="guestbookFormCell" colspan='2'><textarea
class="guestbookInputFieldText" name="comment" cols="37" rows="5">Comment *</textarea>
</td>
</tr>
<!--
<tr>
<td>CAPTCHA</td>
</tr>
-->
<tr>
<td><button class="guestbookFormCell guestbookButton" type="submit"
name="submit">
<span class='guestbookButtonText'>Send</span>
</button></td>
<td><button class="guestbookFormCell guestbookButton" style="float:right;"type="reset"
name="reset">
<span class='guestbookButtonText'>Reset</span>
</button></td>
</tr>
</table>
</form>
index.php中的:
$get = "?mod=home";
这个脚本用于几个东西:页面的整体测量书和单个帖子的评论&amp;图片/视频相册
PS:我不能在线程的开头写一个问候,出于某种原因:/如果那个粗鲁,我很抱歉!
PSS:得到了错误。
非常愚蠢:))
我只是忘了论坛实际上是在根目录中重定向到(在本例中)index.php。这意味着Xampp / htdocs / index.php。
我只需要修复链接,我很好 - .-'
答案 0 :(得分:2)
只需编辑或删除原始index.html并删除以下行
<meta http-equiv="refresh" content="0;url=/xampp/">
如果您还清理缓存,那将是最好的,因为您的浏览器需要加载每个新缓存。
内
编辑:对于这个问题并不孤单:why-does-my-xampp-installation-auto-redirect-to-http-localhost-xampp
答案 1 :(得分:0)
我很高兴您确实找到了问题所在,因为我实际上无法理解您的脚本如何工作,但是,在分配$ name,$ email,$ website等时,您必须使用mysql_espace_string()。否则,用户可能会注入恶意代码并可以访问整个SQL表。
$name = mysql_escape_string($_POST['name']);
$email = mysql_escape_string($_POST['email']);
$website = mysql_escape_string($_POST['website']);
$comment = mysql_escape_string($_POST['comment']);
$datetime = date("l, jS M Y, g:i a"); // Escaping the string is not necessary here.
(对不起任何语言错误:我不是母语为英语的人。)