Я не могу перенаправить URL-адрес на другую веб-страницу после отправки значений формы - PullRequest
1 голос
/ 14 февраля 2012

Здравствуйте, вебмастера. Я пытаюсь перенаправить веб-страницу на другой URL / веб-страницу после отправки элементов формы ... Я пробовал много способов, но не смог это исправить ... Пожалуйста, проверьте коды ниже, которые я пробовал до сих пор ...

<?php
if(isset($_REQUEST['down'])){
    header("header("location: domainpath/kothi.html");
}
?>    
<html> 
<body>
    <form action="glitter.php" method="post">
        <input type="radio" name="font" value="fonts/darkcrystaloutline.ttf"/> 
        <input type="radio" name="font" value="fonts/darkcrystalout.ttf"/>
    </form> 
</body> 
</html>

Я также пытался

<?php
if(isset($_REQUEST['font'])){
    header("location: domainpath/kothi.html");
};
?>

Я также пытался

<?php
header("location: domainpath/kothi.html");
?>

Пожалуйста, помогите мне решить проблему ....

Ответы [ 4 ]

3 голосов
/ 14 февраля 2012

Это файл glitter.php? Сценарий перенаправления должен храниться в glitter.php, поскольку это страница, которая будет загружена при отправке формы.

Существует несколько способов сделать перенаправление.

через метатег: http://webdesign.about.com/od/metataglibraries/a/aa080300a.htm

через заголовок: http://php.net/manual/en/function.header.php (вы должны поставить exit после оператора заголовка)

через Javascript: http://www.tizag.com/javascriptT/javascriptredirect.php

2 голосов
/ 14 февраля 2012

Во-первых, ниже:

<?php
if(isset($_REQUEST['down'])){
    header("header("location: domainpath/kothi.html");
}
?>

Это неверно, header неправильно объявлен, замените header на header ниже:

<?php
if(isset($_REQUEST['down'])){
    header("location: domainpath/kothi.html");
}
?>

Во-вторыхпочему $_REQUEST?Вы делаете POST, и в-третьих, откуда взялся down?Ваша форма отправляет font, поэтому вам нужно следующее:

<?php
if(isset($_POST['font'])){
    header("Location: domainpath/kothi.html");
    exit();
}
?>

exit() добавлено, чтобы остановить загрузку остальной части страницы, кстати ...

Обновление

Также может быть лучше, если вы также отправили данные, поэтому включите ниже теги <form>

<input type="submit" name="submit" value="Submit this form">

И, как другие указываютНадеюсь, эта PHP-страница называется glitter.php, поэтому она может отправлять сама себе ...

Обновление 2

На основании вашего комментария вы захотитеследующее:

<?php
if(isset($_POST['down'])){
    header("location: domainpath/kothi.html");
    exit();
}
?>    
<html> 
<body>
    <form action="glitter.php" method="post">
        <input type="radio" name="font" value="fonts/darkcrystaloutline.ttf"/> 
        <input type="radio" name="font" value="fonts/darkcrystalout.ttf"/>
        <input type="submit" name="down" value="down">
    </form> 
</body> 
</html>

Хотя вышеприведенная форма переместится на glitter.php и header будет не перенаправлять куда-либо - нужно предположить, что другая форма / страница подчиняется этомуодин ...

0 голосов
/ 14 февраля 2012

Вы уже задавали этот вопрос один раз, но здесь добавьте:

error_reporting(E_ALL);  

Но у меня есть предположение: вы должны сделать выход () после заголовка (), потому что остальным не разрешено давать вывод. Если он выдает результат, заголовок будет установлен в HTML-документ и поэтому не может быть сброшен.

Так попробуйте это:

<?php 
if(isset($_REQUEST['down']))
{
    header("location: /kothi.html");
    exit();
}
?>    
<html> 
<body>
<form action="glitter.php" method="post">
<input type="radio" name="font" value="fonts/darkcrystaloutline.ttf"/> 
<input type="radio" name="font" value="fonts/darkcrystalout.ttf"/>
</form> 
</body> 
</html>

Кстати: я надеюсь, что эта форма находится в glitter.php и где ввод для down? Если этот файл не является блеском, добавьте его в блеск:

<?php
if(isset($_POST['font'])){
    header("Location: domainpath/kothi.html");
    exit();
}
?>

И убить php в форме страницы.

0 голосов
/ 14 февраля 2012

У вас есть действие = "glitter.php", что означает, что после отправки формы входные данные будут доступны в файле glitter.php. Таким образом, в этом файле вы должны перенаправить на любой URL, который хотите.

...