2017-12-12 10 views
0

こんにちは、私はPHPで非常に新しく、いくつか質問があります。ですから、基本的には、特定のイベントの行を取得するwhileループがあり、そのイベントの詳細をリスト形式で出力するためにそれぞれを使用します。今私がやりたいことは、それぞれのボタンの中にその特定の行から取得したデータに基づいてセッション変数を作成することです。以下のようにしばらくのコードは次のとおりです。ここでセッション変数を作成するwhileループの後の "for each"配列内のボタン

$eventsquery = ("SELECT * FROM Careerevents JOIN Tickets ON CareerEvents.Event_ID=Tickets.Event_ID JOIN Potential_Employee ON Tickets.User_ID=Potential_Employee.User_ID WHERE Email = '$email'"); 
 
    $result = mysqli_query($connection, $eventsquery); 
 
    while($row = mysqli_fetch_assoc($result)) { 
 
    $events[] = $row;

はそれぞれのためです:

<?php  
 
    foreach($events as $event) { 
 
     
 
    echo "<div id='eventoutput'>" ;  
 
    echo "<h3 style='color:red;'>Event Name: ".$event['Event_Name']."</h3>"; 
 
    //echo "Name: ".$event['Event_Name']; 
 
    //echo "<br>"; 
 
    echo "Start Date: ".$event['Start_Date']; 
 
    echo "<br>"; 
 
    echo "End Date: ".$event['End_date']; 
 
    echo "<br>"; 
 
    echo "Start Time: ".$event['Start']; 
 
    echo "<br>"; 
 
    echo "End Time:".$event['End']; 
 
    echo "<br>"; 
 
    echo "Description: ".$event['Event_Description']; 
 
    echo "<br>"; 
 
    echo "Category: ".$event['Category']; 
 
    echo "<br></br>"; 
 
    //THIS IS WHERE I WANT THE BUTTON 
 
    echo "</div>"; 
 
} 
 
?>

と私が追加されますが、ボタンをしたいです$ _SESSION ['Event_Name'] = $イベント['E vent_Name '];

私はAJAXという言葉が聞こえてきましたが、以前はAJAXを使ったことがありませんでした。あなたの答えにajaxが含まれていれば少し説明してください。ありがとう:D

+0

を必要とするすべてのアクションをやらせます文字列の連結では、[** SQLインジェクション**](https://en.wikipedia.org/wiki/SQL_injection)の脆弱性が発生します。あなたは[** mysqli **](https://secure.php.net/manual/en/mysqli.prepare.php)または[** PDO **](https ://secure.php.net/manual/en/pdo.prepared-statements.php)ドライバ。 [**この記事**](https://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php)には、いくつかの良い例があります。 –

+0

@AlexHowansky、ありがとうございます、はい私はSQLインジェクションを知っています。しかし、私はまだ学習して土地の敷設を取得しています。私はwhileループの結果の中でボタンをクリックするだけで、ウェブサイトセッションのセッション変数を追加する方法を学びたいと思います。 – TomCreed

答えて

0

あなたはte webserver上で動作し、HTMLボタンを出力したいPHPでプログラミングしています。このボタンが画面上にレンダリングされると、Webサーバー上にはなくクライアント上に表示されます。そして、セッションがウェブサーバ上に生きているときは、まずウェブサーバに新しいリクエストをしなければなりません。これに新しい "ページ"への簡単なリンクを付けることもできますし、フォームを使うこともできます。第2に、現在のページを更新する通常のリンクまたはフォームの送信を使用するか、AJAX(Googleはあなたの友人)のリクエストに行きたいと思うかもしれません。

MAYBEより理解: でSQLクエリを構築しないリンクを作成して、それはあなたのウェブサーバ上の別のphpファイルにつながるボタンのように見えるしましょう、そのPHPファイルが

関連する問題