Вы можете поставить вызов заголовка в Условный условного предшествуют другим кодом, до тех пор, пока вы будете следовать, что Руководство рекомендует:
You can use output buffering ... by calling ob_start() and ob_end_flush() in your
script, or setting the output_buffering configuration directive on in your php.ini
or server configuration files.
Если вы хотите изменить файл php.ini, вы можете включить буферизацию на следующий образ:
output_buffering = On
С буферизацией вывода включен, этот код структура должна работать:
Попробуйте это для вызова заголовка:
// setting variables here, then:
if (condition) {
// other code here, then:
$location = "http://yourdomain.whatever/register.php";
$encoded = urlencode("Successfully Send Message! You will get reply soon...");
header("Location: $location?msg=$encoded");
exit;
}
Примечание: при использовании заголовка(), если вы имеете любую заботу с сохранением обратной совместимости с HTTP1.0, то вы должны обеспечить полный URL, включая протокол того, что является «HTTP», «HTTPS» или что-то другое. Кроме того, строка запроса содержит символы, которые должны быть ранжированы. После прохождения значения должны быть закодирована в UrlEncode(), строка выглядит следующим образом:
Successfully+Send+Message%21+You+will+get+reply+soon...
Часть радость использование PHP является то, что он делает хорошие вещи, как автоматически декодировать кодированный URL. Так что все, что вам нужно сделать, чтобы отобразить сообщение пользователю, это написать что-то подобное следующему коду на register.php:
<?php echo htmlentities($_GET['msg']);
, если вы хотите, чтобы декодировать переменную $ _GET с JavaScript, просто надо знать, что PHP и JavaScript так же не сортирует пространства urlencode, поэтому вам нужно вручную самостоятельно декодировать значение переменной $ _GET, а не полностью полагаться на decodeURIComponent() JavaScript. Следующий JavaScript будет urldecode значение «msg», включая преобразование любых символов «+» в пробелы:
var str=location.search.substring(5);
str = decodeURIComponent(str);
str=str.replace(/\+/g, ' ');
alert(str); //Successfully Send Message! You will get reply soon...
какая ошибка появляется? – Girish
[** Пожалуйста, не используйте 'mysql_ *' функции в новом коде **) (http://stackoverflow.com/q/12859942). Они больше не поддерживаются [и официально устарели] (https://wiki.php.net/rfc/mysql_deprecation). См. [** красное поле **] (http://uk.php.net/manual/en/function.mysql-connect.php)? Узнайте о [* подготовленных заявлениях *] (http://en.wikipedia.org/wiki/Prepared_statement) и используйте [PDO] (http://php.net/pdo) или [MySQLi] (http: // php.net/mysqli) - [эта статья] (http://php.net/manual/en/mysqlinfo.api.choosing.php) поможет вам решить, какой из них. – Dinistro
действительно ли файл существует? проверить путь и т. д., ошибку? – MixedVeg