Reputation: 31
So I have five member-variables, but instead of writing:
if(isset($_POST['member1'])) {
$member1 = mysqli_escape_string($mysqli, $_POST['member1']);
} else {
$member1= '';
}
for all of the members (which gives no error), I want to do a for loop, but everytime I run the loop:
for($i = 1; $i <= 5; $i++) {
if(isset($_POST['member . $i'])) {
$member . $i = mysqli_escape_string($mysqli, $_POST['member . $i']);
} else {
$member . $i = '';
}
}
I recieve this error:
Notice: Undefined variable: member
five times. What am I doing wrong?
Upvotes: 0
Views: 75
Reputation: 2438
First of all it needs to be $_POST['member' . $i]
Than you trying to use variable $member
to concatenate with it but it isn't exist.
Upvotes: 0
Reputation: 76646
I notice two errors in your code:
$_POST['member . $i']
-- variable values aren't interpolated when they're in single quotes. You should either use double-quotes, or concatenate them properly$member . $i
-- it wouldn't work either. You need to define them using the ${}
syntax. For example: ${'member'. $i}
Try this:
for($i = 1; $i <= 5; $i++) {
if(isset($_POST['member' . $i])) {
${'member'. $i} = mysqli_escape_string($mysqli, $_POST['member' . $i]);
} else {
${'member'. $i} = '';
}
}
Upvotes: 1