0

すべてのフレーズをループして、GETパラメーターを使用してリンクのリストとして出力するにはどうすればよいですか?

整数でインデックス付けされた配列を作成し、GET変数を使用してこれらのフレーズの1つを選択するにはどうすればよいですか。

これまでの私のコード。

$arr = array('1' => 'Que será, será.', '2' => 'C’est la vie!', '3' => 'Sich nicht um ungelegte Eier kümmern.', '4' => 'Ada asap, ada api.', '5' => 'Batti il ferro finché è caldo.');
?> 

<p><?php print $arr[1]; ?> - Whatever will be, will be.</p>
<p><?php print $arr[2]; ?> – That’s the life.</p> 
<p><?php print $arr[3]; ?> - Don’t count your chickens before they hatch.</p> 
<p><?php print $arr[4]; ?> - There's no smoke without fire.</p> 
<p><?php print $arr[5]; ?> - Strike while the iron is hot.</p>
4

3 に答える 3

2

これはそれを行う必要があります:

$key = (int)$_GET['key'];
if (isset($arr[$key]) {
   echo print $arr[$key]; 
} else {
   echo "Invalid option specified";
}
于 2012-11-13T10:35:01.670 に答える
1
<?php  
  $key = mysql_real_escape_string($_GET['value']);//Pass this value from url and sanitize the inputs
  ?>
  <p><?php print $arr[$key]; ?>
于 2012-11-13T10:31:31.357 に答える
1
$key = $_GET['index'];
$val = isset($arr[$key]) ? $arr[$key] : false;

Edit: Why do people keep recommending mysql_real_escape_string? This is for database query escaping and sends a request to the database (as far as I understand). The key doesn't even need escaping as it's not being sent to the database or output.

于 2012-11-13T10:36:52.367 に答える