2016-07-13 13 views
1

私はレコードの更新のためのページを作成しました。学生のIDをあるページから別のページに渡したい。私はwindow.locationを通して送信しようとしていますが、動作していません。アヤックスでは他のページに移動しようとしましたが、それにも成功しませんでした。どのように私はデータを渡し、クエリ文字列に表示せずに他のページで受信できますか? Ajaxコードを使用すると、window.locationのを使用する場合は、あなたのページが別のページに移動1つのhtmlページから2番目のデータをPHPに渡す方法は?

var id = $(this).data('username'); 
      $.ajax({ 


     var id = $(this).data('username'); 
     $.ajax({type: "POST", 
     cache: false, 
     data: id, 
     url: "Update.php", 
     success: function(dto) 
     { 
      //but I do not require this return call I just 
      // want to pass the data to update.php 
     } 
    }); 

    //this is the code where the button is being clicked 
    <table class="table table-condensed" > 

     <thead style="background-color:#665851" align="center"> 
     `<tr> 
      <td style="color:white">Roll No</td> 
      <td style="color:white">Name</td> 
      <td style="color:white">Department</td> 
      <td style="color:white">Click To Update</td> 
     </tr> 

     </thead> 
     <tbody style="background-color:whitesmoke; border:initial" id="tblBody" align="center"> 

<?php 


       $database="firstdatabase"; //database name 
    $con = mysqli_connect("localhost","root" ,"");//for wamp 3rd field is balnk 
    if (!$con) 
    {  die('Could not connect: ' . mysql_error()); 
    } 

    mysqli_select_db($con,$database); 
    $state = "SELECT rollno ,name, dept FROM student ;"; 

    $result = mysqli_query($con,$state); 
     $output = 1; 
     $outputDisplay = ""; 
     $noRows = mysqli_affected_rows($result); 
    if($result) 
    { 

     $num = mysqli_affected_rows($con); 
       //$row = mysqli_fetch_array($result,MYSQLI_NUM); 

     while ($row = mysqli_fetch_array($result)) 
     { 

     $r = $row['rollno']; 
     $n = $row['name']; 
     $d = $row['dept']; 
     $outputDisplay .= "<tr><td>".$r."</td><td>".$n."</td><td>".$d."</td><td align='right'> 
     <button type='button' name='theButton' value='Detail' class='btn' id='theButton' data-username='$r'> <img src='edit.jpg'/></button> 
     </td> 
     </tr>"; 
     } 
    } 
    else 
    { 
     $outputDisplay .= "<br /><font color =red> MYSql Error No: ".mysqli_errno(); 
     $outputDisplay .= "<br /> My SQl Error: ".mysqli_error(); 


    } 



    ?> 
    <?php 
    print $outputDisplay; 
    ?> 
     </tbody> 
    </table> 
+0

window.addEventListener("storage", function(e) { // do stuff at 'storage' event var id = localStorage.getItem("id"); }); 

html文書

の間でデータを渡すためにlocalStoragestorageイベントを使用することができますあなたの努力を最初に示してください。あなたのコードはどこですか? – user1234

+0

2ページ目は最初のページと同じドメインですか? – guest271314

+0

はい。どちらも同じドメインにあります –

答えて

1

両方のページが同じドメインにある場合は、最初のページで2ページ目で

// do stuff, set `localStorage.id` 
localStorage.setItem("id", "abc"); 
0

です。 ajaxはアクティブなページで動作します。あなたは使用できません。

+0

これはコメントです。 –

0

一般に、この$_SESSION変数にセッションを使用してセッションに格納するか、getパラメータを使用してその値を渡すことができます。その後、フォームを送信する場合は、$_GET

または$_POSTパラメータを使用してください。

0

あなたはクッキー

Set the cookie 
    <?php 
    setcookie("name","value",time()+$int); 
    /*name is your cookie's name 
    value is cookie's value 
    $int is time of cookie expires*/ 
    ?> 
Get the coockie 

    <?php 
    echo $_COOKIE["your cookie name"]; 
    ?> 
0

必要な情報を持つ最初のページで<form method="post" [...]>の移入を使用して試すことができます。必要に応じてCSSでアスペクトを変更することができます。

<form>が送信される場合は、$_POSTを使用して新しいページを埋め込むPHPスクリプト/ページのみが必要です。

最初のページから2番目のページにナビゲートしようとすると、AJAXよりも簡単です。

0

すでに更新スクリプトに、あなただけの非表示のフォーム要素の例として、学生証を追加することができることを形としたいポストを持っている場合:あなたはへの別のページからリダイレクトしたい場合はそうで

<input type="hidden" name="student_id" value="<?php echo $student_id; ?>"> 

学生IDを持つ更新ページは、おそらく$_GET変数になります。 URLは次のようになります。http://domain.com/update.php?student_id=1

そして、あなたのupdate.phpにはこのような簡単なチェックが含まれます。

if(!empty($_GET['student_id'])) { 
    $student_id = $_GET['student_id']; 
    // Ready to update 
} else { 
    // Throw 404 error, or redirect to an create page 
} 
関連する問題