0

私はこのフォームを介してPCローカルからサーバーにデータを送信します:

<form method="post" action="proses.php">
<input type="hidden" name="id"><br>
Tanggal <input type="text" name="tgl"><br>
Pesan <textarea name="isi" cols="29" rows="5"></textarea> <br>
Nomor Hp <input type="text" name="nope"><br>
<input type="submit" name="submit" value="Submit"> </form>

これはコードproses.phpです

<?php
$id = $_POST['id'];
$tgl = $_POST['tgl'];
$isi = $_POST['isi']; $nope= $_POST['nope'];


$curlHandle = curl_init();
 curl_setopt($curlHandle, CURLOPT_URL, 'http://adibiken.com/SEM/kir.php');
curl_setopt($curlHandle, CURLOPT_POSTFIELDS, "id=".$id."&amp;tgl=".$tgl."&amp;isi=".$isi."&amp;nope=".$nope);
curl_setopt($curlHandle, CURLOPT_HEADER, 0);
curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curlHandle, CURLOPT_TIMEOUT,30);
curl_setopt($curlHandle, CURLOPT_POST, 1);
curl_exec($curlHandle);
curl_close($curlHandle); ?>

これはkir.phpのコードです(サーバー内)

<?php $id = $_POST['id']; $tgl = $_POST['tgl']; $isi = $_POST['isi']; $nope = $_POST['nope'];
$quer = "INSERT INTO `adibiken_sem`.`inbox` (`id`,`tgl` ,`isi` ,`nope`)VALUES ( '$id','$tgl', '$isi', '$nope')";
mysql_query($quer); ?>

問題 : データは正常に送信され、DATBASE SERVER に EMPTY RECORD があります... 助けが必要です

4

3 に答える 3

1

これが問題かどうかはわかりませんが、確かに

VALUES ( '$id','$tgl', '$isi', '$nope')"

する必要があります

VALUES ( '".$id."','".$tgl."', '".$isi."', '".$nope."')"
于 2013-02-06T11:11:54.957 に答える
0

http_build_query(...) を使用して、配列からポストフィールドを形成します。

$request = http_build_query($_POST);
...
curl_setopt($curlHandle, CURLOPT_POSTFIELDS,$request)

$_POST 配列で正しい値を取得している場合は、SQL 構文に問題があります。phpMyAdmin などでクエリを実行してデバッグすることができます。MySQL がエラーを発生させることがありますが、それを確認できませんでした。エラーメッセージを含むkir.phpからの出力を取得できます(サーバーで有効になっています):

$curResponse = curl_exec($curlHandle);
echo $curResponse;
于 2013-02-06T23:29:09.947 に答える
0

ファイル「proses.php」では、「&」の代わりに「&」を使用してみてください。また、ファイル kir.php (サーバー内) で print_r($_POST) を実行するか、配列全体をログに記録して、正しい変数名を受け取っているかどうかを確認します。

于 2013-02-06T11:11:44.153 に答える