HTML Formular перенаправляет на домашнюю страницу XAMPP localhost - PullRequest
9 голосов
/ 16 июня 2011

Итак, я снова столкнулся с другой проблемой -.- '

Я запрограммировал свой собственный скрипт php / html для передачи и передачи данных из формы в базу данных.В начале это работало.Каким-то образом, спустя несколько дней, он начал перенаправлять меня на домашнюю страницу XAMPP localhost (http://localhost/xampp/). Я понятия не имею, почему: /

Вот как выглядит мой сайт:

  • index.php
    • все остальные скрипты (через Switch-case)
    • включая мои гостевые книги-скрипты (без switch-case!) Он всегда здесь!

Вот как выглядит мой "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";

Этот сценарий используется для нескольких вещей: общая книга книги для комментариев к отдельным сообщениям и фотографиям / альбомам.

PS: я не мог написать привет в начале ветки, по некоторым причинам: / Если это прозвучало грубо, извините!

PSS: Получил ошибку.

Довольно тупой:)

Я просто забыл, что форум фактически перенаправляет (в данном случае) index.php в корневой каталог.,Это означает, что для Xampp / htdocs / index.php.

Мне просто нужно исправить ссылку, и я в порядке -.- '

Ответы [ 2 ]

2 голосов
/ 15 ноября 2011

Просто отредактируйте или удалите orginal index.html и удалите следующую строку

<meta http-equiv="refresh" content="0;url=/xampp/">

Лучше всего, если вы также очистите кеш, потому что ваш браузер предопределен для загрузки каждого нового.

endo

РЕДАКТИРОВАТЬ : Вы не одиноки с этой проблемой: почему-мой-xampp-установка-авто-перенаправление на http-localhost-xampp

0 голосов
/ 06 июля 2011

Я рад, что вы нашли, в чем проблема, поскольку я не могу понять, как работает ваш скрипт, однако при назначении $ 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.

(извините за любые языковые ошибки: я не являюсь носителем английского языка.)

...