Jump to content

Подскажите с php.


Coder-vasya
 Share

Recommended Posts

Добрый день товарищи , я начинающий, подскажите пожалуйста как сделать так , чтобы в сообщении получить информацию о выборе из поля checkbox и radio, и чтобы при не полном заполнении формы она появлялась вновь, с тем что было заполнено в первый раз с сообщением  "Пожалуйста заполните корректно все поля ввода." Я кое что набросал:

<body><?php
if(isset($_POST["OK"]))
{$fio2=$_POST["fio"];
$email2=$_POST["email"];
$pass2=$_POST["pass"];
$msg="Ф.И.О:".$fio2."email:".$email2."пароль:".$pass2."О себе:".$about;
mail("test@mail.ru","Обращение с сайта",$msg);
echo "<b class=\"letter\">Письмо отправлено</b>";}
else{?>
<form id="form" method="post" >
    <legend><span class="span1">Имя пользователя:<input name="fio" class="input1" type="text"/></span></legend>
    <legend><span class="span2">Адрес email:<input name="email" class="input2" type="text"/></span></legend>
    <legend><span class="span3">Придумайте пароль:<input name="pass" input class="input3" type="password"/></span></legend>
    <legend><span class="span4">Повторите пароль:<input name="pass" class="input4" type="password"/></span></legend>
    <legend><span class="span5">Расскажите о себе:<textarea name="about" class="textarea" cols="40" rows="4"></textarea></span></legend>
    <span class="span6">Выберите ваш возраст:</span>
    <fieldset class="fieldset"><label class="label">до 25<input name="age" type="radio" value="aaa1"/></label>
    <label class="label">25-45<input name="age" type="radio" value="bbb1"/></label>
    <label class="label">более 45<input name="age" type="radio" value="ccc1"/></fieldset></label>
    <label class="label"><span span class="span7"><input name="lisense" value="aaa" type="checkbox"/>Я принимаю Лицензионное соглашение</span></label>
    <label class="label"><span span class="span8"><input name="lisense" value="bbb" type="checkbox"/>Я принимаю Лицензионное соглашение</span></label>
    <input class="submit" name="OK" type="submit" value="Продолжить регистрацию"/>
</form><?php }?>
</body>

Link to comment
Share on other sites

А вообще все это дело лучше в класс собери, чтобы в шаблоне не городить

<?php  
   //  можно массив как объект инициализировать.  можешь просто массив
   $validation = (object) array(
      'errors'  =>  array(),
      'status'  => false
   );
   if (isset($_POST['OK']))  {
      //Здесь делай валидацию. если не проходит добавляй в массив
      if (empty($_POST['name'])) {
         $validation->errors[] = '....';
      }
      ....
      //если ошибок нет отправляем
      if (empty($validation->errors)) {
         mail( ... );
         $validation->status = true;
      }
      
   }
   if (!$validation->status) {
      //   здесь форма.   через цикл перебирай ошибки и выводи
      ?>
       ...
      <?php
   }



?> 
Link to comment
Share on other sites

В 13.07.2017 в 21:22, Николя223 сказал:

А вообще все это дело лучше в класс собери, чтобы в шаблоне не городить


<?php  
   //  можно массив как объект инициализировать.  можешь просто массив
   $validation = (object) array(
      'errors'  =>  array(),
      'status'  => false
   );
   if (isset($_POST['OK']))  {
      //Здесь делай валидацию. если не проходит добавляй в массив
      if (empty($_POST['name'])) {
         $validation->errors[] = '....';
      }
      ....
      //если ошибок нет отправляем
      if (empty($validation->errors)) {
         mail( ... );
         $validation->status = true;
      }
      
   }
   if (!$validation->status) {
      //   здесь форма.   через цикл перебирай ошибки и выводи
      ?>
       ...
      <?php
   }



?> 

хорошее решение, но мне кажется не для новичка, он то даже не знает как информацию с чекбоксов и радио собрать, хотя сам указал им имена и спокойно может вытащить их из того же массива POST ))))

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
Reply to this topic...

×   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

×
×
  • 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