从本地发送数据(POST方法)到服务器,通过cURL服务器重启EMPTY RECORD

时间:2013-02-06 11:01:23

标签: php curl

我通过以下表单从本地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 ... 需要帮助

3 个答案:

答案 0 :(得分:1)

不知道这是否是问题,但肯定是

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

应该是

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

答案 1 :(得分:0)

在文件“proses.php”中尝试使用“&amp;”而不是“&amp; amp;”。同样在文件kir.php(在服务器中)运行print_r($ _ POST)或将整个数组记录到chceck,如果你收到正确的变量名。

答案 2 :(得分:0)

使用http_build_query(...)从数组中形成postfields。

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

如果在$ _POST数组中获得了正确的值,那么SQL语法就会出错。您可以尝试在phpMyAdmin或其他地方执行查询并进行调试。 MySQL可能会发生错误,但您无法看到它。您可以从kir.php获取任何输出,包括错误消息(在您的服务器上启用):

$curResponse = curl_exec($curlHandle);
echo $curResponse;