0

我通过这种形式从本地电脑向服务器发送数据:

<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); ?>

问题:数据已成功发送数据库服务器中的空记录... 需要帮助

4

3 回答 3

1

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

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

应该

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

在文件“proses.php”中尝试使用“&”而不是“&”。同样在文件 kir.php (在 server 中)运行 print_r($_POST) 或将整个数组记录到某处以检查您是否收到正确的变量名。

于 2013-02-06T11:11:44.153 回答
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;
于 2013-02-06T23:29:09.947 回答