Помогите найти ошибку PHP

274
28 января 2018, 01:26

При каждой перезагрузке страницы пишет такое:

 Notice: Undefined variable: result in ndex.php on line 151  

И так для каждого <input>.
Я новичок в PHP. Можете сказать, где я ошибся?

Вот код PHP:

<?php
session_start();
if(isset($_POST['send'])){
    if(isset($_POST['carlist'])){
        $carlist=$_POST['carlist'];
        switch($carlist){
            case 'jaguar':break;
            case 'bmw':break;
            case 'mercedes':break;
            default:echo "No Choosen any car";
    }
    }
    $name=htmlspecialchars($_POST['name']);
    $date=htmlspecialchars($_POST['date']);
    $email=htmlspecialchars($_POST['email']);
    $_SESSION['name']=$name;
    $_SESSION['dtae']=$date;
    $_SESSION['email']=$email;
    $eror_name="";
    $eror_date="";
    $eror_email="";
    $eror=false;
    if(strlen($name) == 0){
        $eror_name="Please Chek";
        $eror= true;
    }
    if($email == "" || !preg_match ("/@/",$email)){
        $eror_email="Please Chek";
        $eror= true;
    }
    if(empty($date)){
        $eror_date="Please Chek";
        $eror= true;
    }
     if(!$eror){    

            $to="my.mail7777@gmail.com";
            $subject="Message";
            $letter  = "Car-Name " . $_POST['carlist'] . "r\n";
            $letter .= "Name" . $_POST['name'] . "r\n";
            $letter .= "Date" . $_POST['date'] . "r\n";
            $letter .= "Email " . $_POST['email']."r\n";
            mail($to,$subject,$letter);
            $result='<span style="color:red;">Message have been sent</span>';
     }
     else{
         echo $result;
     }
    }

?>

Вот и код HTML:

<span style="color:red; font-size:20px;"><?php echo $result;?></span>
<form class="form1" action="#" method="post">

<select name="carlist">
   <option  name="carname"value="Jaguar">JAGUAR</option>
   <option  name="carname"value="BMW">BMW</option>
   <option  name="carname"value="MERCEDES">MERCEDES</option>
</select>

<input type="text" id="text" name="name" placeholder="Name" value="<?php $_SESSION['name'];?> "  required ><?php echo $eror_name;?>
<input type="date" id="text" name="date" placeholder="Date" value="<?php $_SESSION['date'];?> "  required ><?php echo $eror_date;?>
<input type="email" id="text" name="email" placeholder="Email" value="<?php $_SESSION['email'];?> "   required ><?php echo $eror_email;?>
<button type="submit" id="carschoose" name="send">ORDER</button>
</form>
Answer 1

в else у вас впервые появляется переменная $result, а значение для неё задаётся в случае, если выполнится if(!$eror). И получается: либо записывается значение в переменную, либо эта переменная используется. Нужно, чтобы происходило и то, и другое. Нужно задать значение по умолчанию перед if(!$eror), например $result = '';.

Answer 2

В Html`е $result не задан. посмотри ndex.php линию 151

READ ALSO
Как сделать шрифтовую иконку из png

Как сделать шрифтовую иконку из png

Есть изображение в формате PNG:

297
Разместить иконки на одном уровне с текстом

Разместить иконки на одном уровне с текстом

Привет, посмотрите пожалуйста мой код, и подскажите, как разместить иконки на одном уровне с текстом?

349
Как через :nth-child игнорировать каждый третий дочерний елемент?

Как через :nth-child игнорировать каждый третий дочерний елемент?

Как через :nth-child игнорировать каждый третий дочерний элемент?

246
Сложный sql запрос с условием

Сложный sql запрос с условием

Помогите составить sql запросЕсть таблицы:

222