#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:» и обновленный код и проблему в конец вашего вопроса.)