Для цикла задает неопределенную переменную

Поэтому у меня есть пять переменных-членов, но вместо написания:

if(isset($_POST['member1'])) {
 $member1 = mysqli_escape_string($mysqli, $_POST['member1']);
} else {
 $member1= '';
}

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

for($i = 1; $i <= 5; $i++) {
 if(isset($_POST['member . $i'])) {
 $member . $i = mysqli_escape_string($mysqli, $_POST['member . $i']);
 } else {
 $member . $i = '';
 }
}

Я получаю эту ошибку:

Notice: Undefined variable: member

пять раз. Что я делаю не так?

2 ответа

Я заметил две ошибки в вашем коде:

  • Вы используете $_POST['member. $i'] $_POST['member. $i'] - значения переменных не интерполируются, когда они находятся в одинарных кавычках. Вы должны либо использовать двойные кавычки, либо конкатенировать их должным образом
  • Вы пытаетесь объявить переменные с помощью $member. $i $member. $i - это тоже не сработало. Вы должны определить их, используя синтаксис ${}. Например: ${'member'. $i} ${'member'. $i}

Попробуй это:

for($i = 1; $i <= 5; $i++) {
 if(isset($_POST['member' . $i])) {
 ${'member'. $i} = mysqli_escape_string($mysqli, $_POST['member' . $i]);
 } else {
 ${'member'. $i} = '';
 }
}


Прежде всего, он должен быть $_POST['member'. $i] $_POST['member'. $i]

Чем вы пытаетесь использовать переменную $member чтобы объединиться с ней, но она не существует.

licensed under cc by-sa 3.0 with attribution.