2011-12-26 26 views
0

ユーザーがログインすると、電子メールを$ emailに格納します(グローバル$電子メールも試しました)。それから私はルームメイトの名前を入力して、すでに予定されている予定を検索するという形になっています。 roommateSearch.phpでAJAX処理ページでphp変数を呼び出す

AJAX

$("#reserveAPickupAppointmentForm3").submit (function() { 
    roommate = $("#roommate").val(); 
    $.post('roommateSearch.php', 'val=' + roommate, function (response) { 
    $("#roommateResults").html(response); 
    }); 
return false; 
}); 

予定が発見された場合、あなたは、同時に自分自身のための1つをスケジュールする約束をクリックすることができます。その後、私はその情報をとり、postAppointment.phpの別の処理ページに投稿して、データベースに挿入できるようにします。

 $(".confirmAppointment").click (function() { 
      $(".confirmAppointment").unbind("click"); 
      var location = $(".reserveAPickupAppointmentLocation", entry).text(); 
      var subLocation = $(".reserveAPickupAppointmentSubLocation", entry).text(); 
      var startTime = $(".reserveAPickupAppointmentStartTime", entry).text(); 
      var endTime = $(".reserveAPickupAppointmentEndTime", entry).text(); 
      var date = $(".reserveAPickupAppointmentDate", entry).text(); 

      alert (location + subLocation + startTime + endTime + date); 

      $.post("postAppointment.php", "location=" + location + "subLocation=" + subLocation + "startTime=" + startTime + "endTime=" + endTime + "date=" + date, function (response) { 
       alert (response); 
      }); 
     }); 

正しく予定を作成するには、ユーザーの電子メールを取り込み、SQLステートメントに追加する必要があります。しかし、私がpostAppointment.phpで$ emailと呼ぶと、何も表示されません。どうすればいい?

$ emailを値とする隠し入力テキストボックスとして元のフォームに含めるというアイデアを思いつき、その情報を残りの部分に渡しますが、確かに簡単な方法があります... postAppointment.phpに$ emailを認識させる方法があることを願っています。

答えて

1

、セッション変数に自分の電子メールIDを保管してください。この変数値には、Ajax処理ページでアクセスできます。

セッション変数にアクセスしているページに「php session_start()」が追加されているかどうかを確認してください。

+0

あなたの提案をありがとうございますが、これは動作していないようで、応答に空白が表示されます。 $ _SESSION ["email"]はメインページのPHPで動作します – radleybobins

+2

セッションを設定したら、他のPHPページにアクセスできます。アクセスしようとしているページの上にphp session_start()を追加しましたか? – Shyju

+0

ああ、私はそれを使用するすべてのページでsession_startが必要であることを認識しませんでした...私はあなたを正しく理解していれば、私はこれをする必要がありますか?セッションが最初に開始されたら、私はそれをする必要はないと思った。これまでのところ、すべてのページがroommateResults.phpとpostAppointment.phpを除いて含まれていたので、なぜ私はまだそれをする必要がないのか分かります。 – radleybobins

1

セッション。ユーザーが正常にログインすると

http://www.php.net/manual/en/session.examples.basic.php

+0

だから、私も$ _SESSIONに保存された変数[「メール」]を持っていますが、それは動作しません。どちらか(私は今まで、再びこれをしようとしますダブルチェック、しかし私はかなり前にそれを試したと確信している) – radleybobins

+0

はい私はこれをダブルチェックし、それはまだ空白に見えます。 $ _SESSION ["email"]は、ページのメインPHPで動作します。 – radleybobins

+0

ああ、私は処理ページで私のセッションを再開していないことが判明しました。あなたのソリューションは動作しますが、忘れてしまったsession_start()が記述されているので、上記の答えを正しくマークしました。あなたのお時間をありがとうございました! – radleybobins

1

$電子メールは同じスクリプトで宣言されていますか?

エルス

これは実際のシステムであれば、あなたは、そのセッションは常に安全ではありません知っている、ある

session_start(); 
$_SESSION['email']=$email; 

セッション変数を使用するセッションを開始し、セッション変数を格納し、

することができます多くの問題なセッション固定、セッションハイジャック、そのユーザーがログインには、クッキーを設定するとき、あなたはまた、 クッキーを使用することができます

またセッションとセキュリティ対策を取る

私はsessonsを使用
setCookie("email",$email); 

は、クッキー、$getEmail=$_COOKIE['email']

+0

$ _SESSION ["email"]はページの本体で動作していますが、AJAXでは空白になっているため、セッションDOSを設定しても動作しないようです。クッキーは素晴らしい提案です、私はこれを次に試してみると思います。どうしたらいいのか教えてください – radleybobins

+0

ああ、それは私が処理ページで私のセッションを再開していないことが判明しました。あなたのソリューションは動作しますが、忘れてしまったsession_start()が記述されているので、上記の答えを正しくマークしました。あなたのお時間をありがとうございました! – radleybobins

+0

は、そのOK、重要なことはあなたのものが動作することです:) – Noor

関連する問題