'a href'で$ _GET値を割り当てる方法

2016-04-25 4 views
-4

これまで行ってきたことですが、$ _GET ['c_id']は割り当てられていません(URLはこのようになります)http://localhost/srs_stuff.php?c_id= 結果は必ず$ r c_name以来変数は通常、私は名前をクリック可能なリンクとして表示されます。

foreach ($results as $r) { 
    echo "<a href='srs_stuff.php?c_id='" . $r['c_id'] . ">" . $r['c_name'] . "</a></br>"; 
} 

さらに良い解決策がC_IDが新しいページにリダイレクトする前に、セッション変数に設定されること、でしょう。これは可能ですか?

答えて

0

値を割り当てる前にhref属性を終了しています。

修正コード:生成

<?php 
$r['c_id'] = 234; 
$r['c_name'] = 'Developer'; 
echo "<a href='srs_stuff.php?c_id=" . $r['c_id'] . "'>" . $r['c_name'] . "</a></br>"; 
?> 

HTML出力(ソースコード):

<a href='srs_stuff.php?c_id=234'>Developer</a></br> 
1
<a href='srs_stuff.php?c_id='" . $r['c_id'] 

HTMLは、値が"又は'によって画定することができる属性。 'を使用しています。

hrefの値はsrs_で始まり、次の値になるまで続きます。'

次の'はここにあります。id='の前に$ r ['c_id']の値があります。

属性区切り文字を適切な場所に配置してください(HTML validatorを使用すると、このようなエラーが発生します)。


いっそのこと、一緒に文字列をマッシュして、一緒に複数の文字列を叩解してHTMLを生成することによって、URLを生成しません。

<?php 
    $query_string = http_build_query(c_id => $r['c_id']); 
    $url = "srs_stuff.php?" . $query_string; 
    $html_safe_url = htmlspecialchars($url); 
    $html_safe_name = htmlspecialchars($r['c_name']); 
?> 
    <a href="<?php echo $html_safe_url; ?>"> 
     <?php echo $html_safe_name; ?> 
    </a> 
    <br> 
関連する問題