2013-10-16 223 views
0

所以我有五個成員變量,但不是寫:For循環給未定義的變量

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

所有成員(其中沒有給出錯誤的),我想爲循環做了,但每次我運行的循環:

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 

五倍。我究竟做錯了什麼?

回答

1

我注意到在你的代碼的兩個錯誤:

  • 你做$_POST['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} = ''; 
    } 
} 
+0

完美的作品!謝謝。 – user2880093

+0

@ user2880093:不客氣。 –

0

首先是$_POST['member' . $i]

比你試圖用變量$member用它來連接,但它是不存在的。