Jump to content
  • 0

Отправка данных из формы методом POST на другую страницу


zoombo
 Share

Question

Возникла проблема. Не обрабатывается данные методом post из checkbox'ов на другую страницу сайта.

Вот пример код формы из index.html:


<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Пример веб-страницы</title>
</head>
<body>
<form method="post" action="page.php">
<input type="checkbox" name="option1" value="a1">Одноклассники<Br>
<input type="checkbox" name="option2" value="a2">ВКонтакте<Br>
<input type="checkbox" name="option3" value="a3">Мой Мир<Br>
<input type="checkbox" name="option4" value="a4">Facebook<Br>
<input type="checkbox" name="option5" value="a5">Twitter<br>
<input type="submit" value="Далее">
</form>
</body>
</html>

Данные из этой формы по выбору из чекбоксов должны попасть в page.php:


<?php
echo {$_POST["option1"].};
echo {$_POST["option2"].};
echo {$_POST["option3"].};
echo {$_POST["option4"].};
echo {$_POST["option5"].};
?>

Не могу понять где ошибка? Подскажите пожалуйста где накосячил.

Edited by zoombo
Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0

Вы уж простите я только начал изучать php и пока еще очень зеленый, куда этот код вставлять? Я так понял это должно выглядить так:


echo '<pre>';
print_r($_POST["option1"].);
print_r($_POST["option2"].);
print_r($_POST["option3"].);
print_r($_POST["option4"].);
print_r($_POST["option5"].);
echo '</pre>';

Link to comment
Share on other sites

  • 0

может лучше как-то так?


<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Пример веб-страницы</title>
</head>
<body>
<form method="post" action="page.php">
<input type="checkbox" name="option[]" value="a1">Одноклассники<Br>
<input type="checkbox" name="option[]" value="a2">ВКонтакте<Br>
<input type="checkbox" name="option[]" value="a3">Мой Мир<Br>
<input type="checkbox" name="option[]" value="a4">Facebook<Br>
<input type="checkbox" name="option[]" value="a5">Twitter<br>
<input type="submit" name="submit" value="Далее">
</form>
</body>
</html>

и обработчик:


<?
if(isset($_POST) && !empty($_POST)) {
$options = $_POST['option'];
foreach($options as $result) {
echo $result;
}
}
?>

Link to comment
Share on other sites

  • 0

Вы уж простите я только начал изучать php и пока еще очень зеленый, куда этот код вставлять? Я так понял это должно выглядить так:


echo '<pre>';
print_r($_POST["option1"].);
print_r($_POST["option2"].);
print_r($_POST["option3"].);
print_r($_POST["option4"].);
print_r($_POST["option5"].);
echo '</pre>';

У вас точка (оператор конкатенации) после $_POST["lalala"]

Её там быть не должно.

Edited by deadrash
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Similar Content

    • By Xandr555
      Добрый вечер! Подскажите.. Не работает форма, заполнил поля php mail, некоторые синтаксисы не знаю. Код ниже. Скрипт пробовал в хеде и в выложенной вариации, не идет сообщение. Заранее спасибо.
      <!DOCTYPE html> <html> <head> <title>index.html</title> <meta charset="utf-8"/> </head> <body> <form class="form-horizontal" target="_blank" method="post" id="form" enctype="multipart/form-data"> <div class="form-group"> <label class="col-sm-2 control-label">Ф.И.О.:</label> <div class="col-sm-10"> <input class="form-control" type="text" name="name" placeholder="Имя" required /> </div> </div> <div class="form-group"> <label class="col-sm-2 control-label">Телефон:</label> <div class="col-sm-10"> <input class="form-control" type="text" name="number" pattern="^[0-9]{11}$" placeholder="Телефон" required /> </div> </div> <div class="form-group"> <label class="col-sm-2 control-label">Эл. почта:</label> <div class="col-sm-10"> <input class="form-control" type="email" name="email" placeholder="E-mail" required /> </div> </div> <div class="form-group"> <div class="col-sm-offset-2 col-sm-10"> <textarea class="form-control" rows="3" name="message" placeholder="Ваше сообщение" required></textarea> </div> </div> <div class="form-group"> <div class="col-sm-offset-2 col-sm-10"> <button class="btn btn-default">Отправить</button> <label class="sucsses">СООБЩЕНИЕ ОТПРАВЛЕНО</label> </div> </div> </form> <script> $("#form").submit(function() { $.ajax({ type: "POST", url: "http://mysite.ru/mail9.php", data: $(this).serialize() }).done(function() { $(this).find("input").val(""); $(".sucsses").fadeIn("1500"); setTimeout(function() { $(".sucsses").fadeOut("1500"); }, 2500); $("#form").trigger("reset"); }); return false; }); </script> </body> </html> <!DOCTYPE html> <html> <head> <title>mail9</title> <meta charset="utf-8"/> </head> <body> <?php $recepient = "mymail@mail.ru"; $name = trim($_POST["name"]); $number = trim($_POST["number"]); $email = trim($_POST["email"]); $message = trim($_POST["message"]); $message = "Имя: $name \nТелефон: $number \nЕmail: $email \nСообщение: $message"; $headers = 'Content-type: text/plain; charset="utf-8"'; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "From: mymail@mail.ru\r\n"; $headers .= "Reply-To: mymail@mail.ru\r\n"; $pagetitle = "Сообщение с АЛЬЯНС-сайта"; mail($recepient, $pagetitle, $message, $headers); ?> </body> </html>  
    • By Seregka174
      Здравствуйте о виликие гуру помогите навичку существуют такая форма отправки:
      <div class="contact-form-wrapper"> <form action="contact/mail.php" method="post" id="contact-form"> <div class="row"> <div class="col-sm-6"> <div class="form-group"> <input type="text" id="contact-name" name="contact-name" placeholder="Имя*" required /> </div> </div> <div class="col-sm-6"> <div class="form-group"> <input type="email" id="contact-email" name="contact-email" placeholder="Email*" required /> </div> </div> <div class="col-sm-6"> <div class="form-group"> <input type="tel" id="contact-phone" name="contact-phone" placeholder="Телефон" /> </div> </div> <div class="col-sm-6"> <div class="form-group"> <input type="text" id="contact-subject" name="contact-subject" placeholder="Тема" /> </div> </div> <div class="col-sm-12"> <div class="form-group"> <textarea name="contact-message" id="contact-message" placeholder="Сообщение*" required rows="7"></textarea> </div> </div> </div> <div class="form-group"> <button type="submit" class="button border red">Отправить</button> </div> <div id="contact-loading" class="alert alert-info form-alert"> <span class="icon"><i class="fa fa-info"></i></span> <span class="message">Loading...</span> </div> <div id="contact-success" class="alert alert-success form-alert"> <span class="icon"><i class="fa fa-check"></i></span> <span class="message">Success!</span> </div> <div id="contact-error" class="alert alert-danger form-alert"> <span class="icon"><i class="fa fa-times"></i></span> <span class="message">Error!</span> </div> </form> </div> <!-- end .contact-form-wrapper --> Вот скрипт contact-form
      /*========== Contact Form ==========*/ $('#contact-form').on('submit', function() { $('#contact-error').fadeOut(); $('#contact-success').fadeOut(); $('#contact-loading').fadeOut(); $('#contact-loading').fadeIn(); if (validateEmail($('#contact-email').val()) && $('#contact-email').val().length !== 0 && $('#contact-name').val().length !== 0 && $('#contact-message').val().length !== 0) { var action = $(this).attr('action'); $.ajax({ type: "POST", url : action, data: { contact_name: $('#contact-name').val(), contact_email: $('#contact-email').val(), contact_phone: $('#contact-phone').val(), contact_subject: $('#contact-subject').val(), contact_message: $('#contact-message').val() }, success: function() { $('#contact-error').fadeOut(); $('#contact-success').fadeOut(); $('#contact-loading').fadeOut(); $('#contact-success .message').html('Отправлено!'); $('#contact-success').fadeIn(); }, error: function() { $('#contact-error').fadeOut(); $('#contact-success').fadeOut(); $('#contact-loading').fadeOut(); $('#contact-error .message').html('Простите, ошибка отправки!.'); $('#contact-error').fadeIn(); } }); } else if (!validateEmail($('#contact-email').val()) && $('#contact-email').val().length !== 0 && $('#contact-name').val().length !== 0 && $('#contact-message').val().length !== 0) { $('#contact-error').fadeOut(); $('#contact-success').fadeOut(); $('#contact-loading').fadeOut(); $('#contact-error .message').html('Пожалуйста введите корректный email.'); $('#contact-error').fadeIn(); } else { $('#contact-error').fadeOut(); $('#contact-success').fadeOut(); $('#contact-loading').fadeOut(); $('#contact-error .message').html('Please fill out all the fields.'); $('#contact-error').fadeIn(); } return false; }); Помогите написать mail.php что бы форма и письма корректно отправлялись я в этом нифига не понимаю но очень хочется что бы на моем первом сайте заработало, очень прошу Вашей помощи!
    • By Alexys
      Запрос данных с сервера с использованием JQuery-Аякс запроса (ajax) Код на js следующий:jQuery.ajax({            type: "POST",            url: Url.Action("GetMyList", "ServerController"),            contentType: "application/json; charset=utf-8",            dataType: "json",            data: JSON.stringify({}),            success: function(data){},            error: function(data){}});На серверной стороне:
      1. Если метод без параметра, то:
      public class ServerController : Controller{[HttpPost]public NJsonResult GetReportPeriodList(){try{var list = MySqlAdapter.GetList();return new NJsonResult { Data = list };}catch (Exception e){return new NJsonResult{Data = new{error = true,msg = "Ошибка получения списка."}};}}}Возникает ошибка в IE (10 версия), в консоли (в дебаггере js (в метод error: function(data){}) возвращается структура, и в одном поле просто "error"): SCRIPT7002: XMLHttpRequest: Network Error 0x2efe, Could not complete the operation due to error 00002efe.Хром отрабатывает успешно!В итоге нет результата! 
      2. Если же в метод добавим параметр:
      public class ServerController : Controller{[HttpPost]public NJsonResult GetReportPeriodList(string code){try{var list = MySqlAdapter.GetList();return new NJsonResult { Data = list };}catch (Exception e){return new NJsonResult{Data = new{error = true,msg = "Ошибка получения списка."}};}}}То Всё проходит в IE успешно!!! Как так?
       
      Подскажите как быть? Как использовать методы без параметров. Получить просто какое-либо значение, массив объектов, данные.
       
       
       
        
       
    • By itisme
      Доброго времени суток. Только начал осваивать html, возникла проблема с передачей файла через веб-форму. Попытался ее локализовать и представить вам.
       
      Имеется html страница с простейшим кодом:
      <!DOCTYPE html><html><head><title>Главная страница</title><meta charset="utf-8"></head><body>    <form name="upload"  method="POST" enctype="multipart/form-data"><input type="text" name="filename" /><br><input type="file" name="filecontent" /><br><input type="submit" value="OK" /></form> </body>Сервлет обрабатывающий страницу получает этот запрос, видит в нем текстовое поле "filename" и введенные в него данные, но совсем не видит поле "filecontent".
       
      Судя по отладчику хрома, в отправляемом post-запросе просто отсутствует содержимое файла, хотя по всем прочитанным мной примерам использования input-file'а оно должно там быть. Выглядит это примерно так:
      ------WebKitFormBoundaryqbhPyhN96YUAbhF2 Content-Disposition: form-data; name="filename" myfile ------WebKitFormBoundaryqbhPyhN96YUAbhF2 Content-Disposition: form-data; name="filecontent"; filename="test.txt" Content-Type: text/plain ------WebKitFormBoundaryqbhPyhN96YUAbhF2--  
      Остальные браузеры запрос не видят совсем, либо я не разобрался с их отладчиками.
       
      Видимо я где-то напортачил в коде страницы, забыв что-то дописать. Прошу подсказать где и что.
       
       
    • By horprogs
      Всем привет!
      Реализовал отправку файлов через phpmailer. Все работает. Хотел сделать это без перезагрузки страницы. Узнал, что для отправки файлов нужно использовать FormData. Замечательно. Нашел статью как все настроить, но не работает! Можно сказать все точь-в-точь как в примере, только у меня все равно переходит на страницу php, указанную в action.
      Может быть кто-то сталкивался и знает в чем может быть дело?
       
      Руководствовался: http://positron-it.ru/stati/otpravlenie_soobwenij_s_vlozheniem_po_ajax/
      Правда по всему видимому автор в примере забыл указать action в форме. 
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy