Еще больше ошибок, вызванных Php

#php

#php

Вопрос:

PHP

 <?php
if(isset($_POST['submit'])){
    #Email Msg Details
    $emailSendTo = "myemail@email.com";
    $emailSubj = "New Professor / Course Suggestion";
    $selected_radio = $_POST['addType'];
    $course_prof_name = $_POST['name']= trim(strip_tags(addslashes($_POST['name'])));
    $select_dep = $_POST['deptName']= trim(strip_tags(addslashes($_POST['deptName'])));
    $email = $_POST['email']= trim(strip_tags(addslashes($_POST['email'])));


/* I can't remember if it should be '' or NULL, but some simple testing will let you know which it is*/
    if(($_POST['addType']) != NULL){
         if(($_POST['name']) != NULL){
            if(($_POST['deptName']) != NULL){
                if(($_POST['email']) != NULL){
                    $selected_radio = $_POST['addType'];
                    if(eregi("^[_a-z0-9-] (.[_a-z0-9-] )*@[a-z0-9-] (.[a-z0-9-] )*(.[a-z]{2,3})$", $emailSendTo)) { 
                        return; 
                    } 
                    else { 
                        echo "<span color='red;'>Invalid email address.</span>"; 
                    } 
                }
                else{
                    echo "<span color='red;'>Oops need an email address.</span>";
                }
            }
            else{
                echo "<span color='red;'>Oops need a department.</span>";
            }
        }
        else{
            echo "<span color='red;'>Oops need a name.</span>";
        }
    }
    else{
        echo "<span color='red;'>Please select a radio option.</span>";
    }
}
    $email_message .= "Suggestion Type: ".$selected_radio."n";
    $email_message .= "Suggestion Name: ".$course_prof_name."n";
    $email_message .= "Department: ".$select_dep."n";
    $email_message .= "Email: ".$email."n";   

// create email headers
$headers = 'From: Anonymous User '."rn".
'Reply-To: '.$email_from."rn" .
'X-Mailer: PHP/' . phpversion();
@mail($emailSendTo, $emailSubj, $email_message, $headers);  
?>
  

Что делает
Обратите внимание: Неопределенный индекс: AddType в C:xampphtdocsurdadd_p_c.php в строке 13
Пожалуйста, выберите опцию радио.
Обратите внимание: Неопределенная переменная: email_message в C:xampphtdocsurdadd_p_c.php в строке 41

Обратите внимание: Неопределенная переменная: email_from в C:xampphtdocsurdadd_p_c.php в строке 48

Что это значит?

Комментарии:

1. Где вы определяете string ?

2. Из того, что вы опубликовали, я не вижу, чтобы «$ string» когда-либо назначался или определялся clean_string ().

Ответ №1:

Ваши назначения верны, но не существует переменной, $string (на которую вы ссылаетесь в строке 6, 7 и т.д. и т.п.). Вот почему он жалуется на неопределенную переменную string.

И для строки 11 вы хотите:

 if(isset($_POST['var']))
  

И для неопределенного метода вы еще не определили метод (или, по крайней мере, в месте, которое может быть вызвано из строки 39).

Комментарии:

1. Как мне это исправить? Немного запутался, что я вообще делал с $ string в первую очередь. Было бы оценено 🙂

2. Похоже, вы хотите сделать что-то вроде addslashes($_POST['name']) etc, А не $string

3. Это сработало, но все еще выдает: Notice: Undefined index: addType in C:xampphtdocsurdadd_p_c.php on line 11 И Fatal error: Call to undefined function clean_string() in C:xampphtdocsurdadd_p_c.php on line 39

4. Что ж, вам нужно убедиться, что он существует, выполнив isset($_POST['addType']) . И у вас все еще не определена clean_string, вам нужно это сделать.

Ответ №2:

Похоже, что $string не определено.

Ответ №3:

Я нигде не вижу никакого определения для $ string.

Ответ №4:

@user700070: Изменить

 $course_prof_name = $_POST['name']= trim(strip_tags(addslashes($string)));
$select_dep = $_POST['deptName']= trim(strip_tags(addslashes($string)));
$email = $_POST['email']= trim(strip_tags(addslashes($string)));
  

Для

 $course_prof_name = $_POST['name'];
$select_dep = $_POST['deptName'];
$email = $_POST['email'];
  

Ваш HTML (образец, который я видел до того, как вы отредактировали свой пост и удалили его) также должен измениться с

 Professor<input type='radio' name='addType' />amp;nbsp;amp;nbsp;Course<input type='radio' name='addType' />
  

Для

 Professor<input type="radio" name="addType" value="Professor" />amp;nbsp;amp;nbsp;Course<input type="radio" name="addType" value="Course" />
  

в противном случае addType всегда будет пустым.

Комментарии:

1. @user700070: Пожалуйста, опубликуйте свои изменения в виде четко обозначенной правки к вашему вопросу, а не заменяйте чей-либо ответ. (Например, добавьте «UPDATE:» и обновленный код и проблему в конец вашего вопроса.)