[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: ошибка
Enn
Люди добрые и недобрые!
подскажите пожалуйста в чем дело!
Есть файл on-line.html, в котром содержится форма бронирования номера, и есть файл bron.php, который отсылает бронь на e-mail. при нажатии на кнопку "Забронировать" появляется ошибка:

Method Not AllowedThe requested method POST is not allowed for the URL /bron.php.

Apache/1.3.41 Server at www.armada-komfort-hotel.ru Port 80

не знаю, что с этим делать.



Спустя 4 минуты, 28 секунд (24.07.2009 - 19:39) Sylex написал(а):
Enn
bron.php засвети

Спустя 13 минут, 57 секунд (24.07.2009 - 19:53) Enn написал(а):
PHP
<?php




function complete_mail() {
    
// $_POST['name'] содержит данные из поля "Контактное лицо", trim() - убираем все лишние пробелы
    // и переносы строк, htmlspecialchars() - преобразует специальные символы в HTML сущности,
    //будем считать для того, чтобы простейшие попытки взломать наш сайт обломались,
    // ну и  substr($_POST['name'], 0, 1000) - урезаем текст до 1000 символов.
    // Для переменных  $_POST['name'], $_POST['tel'], $_POST['email'] все аналогично

        
$_POST['name'] =  substr(htmlspecialchars(trim($_POST['name'])), 030);
        
$_POST['tel'] =  substr(htmlspecialchars(trim($_POST['tel'])), 030);
        
$_POST['email'] =  substr(htmlspecialchars(trim($_POST['email'])), 050);
        
// если не заполнено поле "Контактное лицо" - показываем ошибку 0
        
if (empty($_POST['name']))
             
output_err(0);
        
// если неправильно заполнено поле email - показываем ошибку 1
        
if(!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i"$_POST['email']))
             
output_err(1);
        
// если не заполнено поле "Телефон" - показываем ошибку 3
        
if(empty($_POST['tel']))
             
output_err(3);
        
// если неправильно заполнено поле "Телефон" - показываем ошибку 4
        
if(!preg_match("/[0-9]/"$_POST['tel']))
             
output_err(4);
        
// создаем  сообщение
        
$mess '
Имя отправителя:'
.$_POST['name'].'
Контактный телефон:'
.$_POST['tel'].'
Контактный email:'
.$_POST['email'].'

'
.$_POST['mess'];
        
// $to - кому отправляем
        
$to 'kod2113@mail.ru';
        
// $from - от кого
        
$from='kod2113@mail.ru';
        
mail($to$mess"From:".$from);
        echo 
'Спасибо! Ваше письмо отправлено.';
}

function 
output_err($num)
{
    
$err[0] = 'ОШИБКА! Не введено имя.';
    
$err[1] = 'ОШИБКА! Неверно введен email.';
    
$err[3] = 'ОШИБКА! Не введен телефон.';
    
$err[4] = 'ОШИБКА! Неверно введен телефон.';
    echo 
'<p>'.$err[$num].'</p>';

    exit();
}

if (!empty(
$_POST['submit'])) complete_mail();


Спустя 57 минут (24.07.2009 - 20:50) ИНСИ написал(а):
не лучше ли это
PHP
$_POST['name'] = substr(htmlspecialchars(trim($_POST['name'])), 030);


заменить на
PHP
if(isset($_POST['name'])) { $name substr(htmlspecialchars(trim($_POST['name'])), 030);


может в этом и проблема. есть хостинги, которые не работают напрямую с $_POST

Спустя 48 минут, 53 секунды (24.07.2009 - 21:38) Sylex написал(а):
Enn
с настройками апача наверное что-то, ищи в гугле, надоело находить за вас всех smile.gif

Спустя 2 минуты, 18 секунд (24.07.2009 - 21:41) Sylex написал(а):
HTML
<form action="bron.php" method="post" enctype="multipart/form-data" name="forma" action="bron.php">


и эт че за хрень?)

Спустя 5 минут, 45 секунд (24.07.2009 - 21:46) Sylex написал(а):
и вообще проверил - все работает

Спустя 9 часов, 42 минуты, 36 секунд (25.07.2009 - 07:29) Enn написал(а):
ну вообще то с локального работает, и ошибки выдает и сообщение выдает что всё отправлено, все впорядке, но когда выкладываешь на хост, это (Reterhost) то вот такая ошибка не работает.

Спустя 48 минут, 48 секунд (25.07.2009 - 08:18) Enn написал(а):
наверно Вы правы, у меня дело с настройками апача. я с этим сталкиваюсь впервые, не знаю что и где настраивать. помогите мне пожалуйста

Спустя 1 час, 5 минут, 24 секунды (25.07.2009 - 09:23) Sylex написал(а):
Enn
Цитата (Sylex @ 25.07.2009 - 00:38)
ищи в гугле, надоело находить за вас всех

Спустя 8 часов, 56 минут, 29 секунд (25.07.2009 - 18:20) ИНСИ написал(а):
вот это должно работать:

форма:
Свернутый текст
PHP
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<
title>Untitled Document</title>
</
head>

<
body>
<
form  method="post" action="bron.php">
    <
input name="name" type="text" value="Имя" size="24" maxlength="30" />
    <
input name="tel" type="text" value="tel" size="24" maxlength="30" />
    <
input name="email" type="text" value="Email" size="24" maxlength="30" />
    <
br />
    <
textarea name="mes" cols="70" rows="7">Сообщение</textarea>
    <
br />
    <
input name="submit" type="submit" value="Отправить" />
</
form>
</
body>
</
html>


bron.php
Свернутый текст
PHP
$info = array (
        
'name' => "ОШИБКА! Не введено имя.",
        
'email' => "ОШИБКА! Неверно введен email.",
        
'tel' => "ОШИБКА! Не введен телефон.",
    );
    
    if(isset(
$_POST['submit'])) { $submit $_POST['submit']; }
    if(isset(
$_POST['mes'])) { $mes htmlspecialchars($_POST['mes']); }
    if(isset(
$_POST['tel'])) { $tel htmlspecialchars(trim($_POST['tel'])); }
    if(isset(
$_POST['email'])) { $email htmlspecialchars(trim($_POST['email'])); }
    if(isset(
$_POST['name'])) { $name htmlspecialchars(stripslashes(trim($_POST['name']))); }
    
    if(empty(
$name)) { die($info{"name"}); }
    if(empty(
$tel)) { die($info{"tel"}); }
    if(!
preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i"$email)) { die($info{"email"}); }

    if(isset(
$submit))
    {
        
$to 'kod2113@mail.ru';
        
$subject 'Бронирование!';
        
$mes '
            Имя отправителя: '
.$name.'
            Контактный телефон: '
.$tel.'
            Контактный email: '
.$email.'
            <br />'
.$mess;
    
        
mail($to,$subject,$mes"Content-type:text/html; Charset=windows-1251\r\n"."From: info@{$_SERVER['SERVER_NAME']}\r\n");
        echo 
'Спасибо! Ваше письмо отправлено.';
    }

Спустя 2 дня, 40 минут, 26 секунд (27.07.2009 - 19:00) ИНСИ написал(а):
кстати, люди. Мой код заработал =))) в переписке было сказано =))

Спустя 5 минут, 28 секунд (27.07.2009 - 19:06) Krevedko написал(а):
ааааа...ну почему я не помог ТАКОЙ дэвушке smile.gif
потому что я не сижу в теме пхп для знатоков smile.gif
кстати, что эта тема ТУТ делает ? rolleyes.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.