2016-07-15 16 views
1

これには多くのものがありますが、私の場合は特に動作するものは見つかりません。以下は、PHPとHTMLの2つのテストファイルです。 HTMLファイルには、それぞれボタンの付いた2つのテキストボックスがあります。私は、次のことが起こるしたいと思います:[送信]ボタンがクリックされたときにサーバPHPファイルからクライアントWebページへの文字列の返却

  1. 上位テキストボックスのデータは、PHPファイルに送信します。 これは機能します!

  2. PHPファイルはテキストファイルを開き、データを追加します。 これは機能します!

  3. [受信]ボタンをクリックすると、PHPファイルがテキストファイルを開き、データを読み込みます。 これは機能します!

  4. 今私は困惑しています。 PHPファイルからHTMLファイルの下のテキストボックスにデータを戻すにはどうすればよいですか?

注:データの転送にはjquery.redirectプラグインを使用しています。

HTMLファイル:

<!DOCTYPE html> 
<html lang='en'> 
<head> 
    <meta charset="UTF-8"> 
    <script src='jquery-2.1.4.js'></script> 
    <script src="jquery.redirect.js"></script> 
    <title>Test</title> 
</head> 
<body> 
    <input id='send' type='text'></input> 
    <div id='btnSend'><center>Send</center></div> 
    <input id='receive' type='text'></input> 
    <div id='btnReceive'><center>Receive</center></div> 

<style> 
#btnSend { 
    width: 60px; 
    border: solid 1px; 
    cursor: pointer; 
} 
#btnReceive { 
    width: 60px; 
    border: solid 1px; 
    cursor: pointer; 
} 
</style> 
<script type="text/javascript"> 

    $('#btnSend').click(function(){ 
     var dataOut = $('#send').val(); 
     $.redirect('http://troncon.ca/ESO/test.php',{ userOut: dataOut}); 
    }); 
    $('#btnReceive').click(function(){ 
     $.redirect('http://troncon.ca/ESO/test.php',{ userIn: ''}); 
    }); 

</script> 
</body> 

</html> 

PHPファイル:

<?php 
if(isset($_POST['userOut'])) { 
    sendData(); 
} 
elseif(isset($_POST['userIn'])) { 
    getData(); 
} 

function sendData() { 
    $handle = fopen('test.txt', "a"); 
    $test = $_POST['userOut']; 
    fwrite($handle, $test); 
    fclose($handle); 
} 

function getData() { 
    $filename = "test.txt"; 
    $handle = fopen($filename, "r"); 
    $contents = fread($handle, filesize($filename)); 
    fclose($handle); 
    //echo $contents; 
} 
?> 
+0

Ajaxの使用を検討する必要があります。データを送信した後に結果が戻ってくることを期待しています。 – coderodour

+0

使用しているリダイレクトプラグインはデータを受信せず、送信するだけです。おそらく '$ .post( 'http://troncon.ca/ESO/test.php'、{userOut:dataOut}、function(data){alert(data)});' –

答えて

1

データをフェッチし、AJAXを使用して送信ください:

あなたのコードに基づく例は次のようになります。

$('#btnSend').click(function() { 
    var dataOut = $('#send'); 
    var data = { 
     userOut: dataOut.val() 
    }; 
    $.post("http://troncon.ca/ESO/test.php", data, function(data, status) { 
     alert("Data saved "); 
    }); 
}); 
$('#btnReceive').click(function() { 
    var dataIn = $('#receive'); 
    var data = { 
     userIn: '' 
    }; 
    $.post("http://troncon.ca/ESO/test.php", data, function(data, status) { 
     dataIn.val(data); 
    }); 
}); 
+0

のような他のメソッドを使用する必要があります返信用ですアイスマンのコードを使用すると、送信部分が正常に動作します。受信は私に "データは定義されていません"というエラーを与えます。私はPHPファイルで何かをする必要があると思うが、何がわからないと思う。あなたは私を正しい方向に向けることができますか?ありがとう。 – TedN

+0

@TedN ur phpの 'echo $ contents'のコメントを外します – Iceman

+0

@TedN現在作業中ですか? – Iceman

関連する問題