0

データベースローカルからデータベースサーバーにデータを送信しようとしました。データベース ローカルのテーブルの名前は「inbox」です。「inbox」のデータをXMLに変換 これがコード用 ( inboek2.php) ローカルPCのこのスクリプト

<?php
mysql_connect('localhost', 'root', '');
mysql_select_db('sms');

header('Content-Type: text/xml');
echo "&lt;?xml version='1.0'?&gt;";

echo "<inbox>";

$query = "SELECT  inbox.id, ReceivingDateTime, SenderNumber, TextDecoded FROM inbox ORDER BY inbox.id";
$hasil = mysql_query($query);
while ($data = mysql_fetch_array($hasil))
{
   // representasi data sms
   echo "<data>";
   echo "<id>".$data['id']."</id>";
   echo "<tgl>".$data['ReceivingDateTime']."</tgl>";
   echo "<nope>".$data['SenderNumber']."</nope>";
   echo "<isi>".$data['TextDecoded']."</isi>";
   echo "</data>";
}
echo "</inbox>";
?>

script の結果、スクリプトinboek2.phpによってキャッチされますproses.php

これはコード用ですproses.php(ローカルPCのこのスクリプト):

 <?php
    // koneksi ke mysql di server localhost
    mysql_connect('localhost', 'root', '');
    mysql_select_db('sms');

    // baca data XML dari script inboek2.php yang digenerate oleh data.php
    $dataxml = simplexml_load_file&#40;'http://localhost/baca/inboek2.php'&#41;;
    foreach($dataxml->data as $data)
    {

       $id = $data->id;
       $tgl = $data->tgl;
       $nope = $data->nope;
       $isi = $data->isi;

       $curlHandle = curl_init();
       $curResponse = curl_exec&#40;$curlHandle&#41;;
       curl_setopt($curlHandle, CURLOPT_URL, 'http://www.adibiken.com/SEM/kir.php');
       curl_setopt($curlHandle, CURLOPT_POSTFIELDS, 'id='.$id.'&amp;tgl='.$tgl.'&amp;nope='.$nope.'&amp;isi='.$isi);
       //and if i delete another variable atleast still the last one variable the data has been sucessfull sending whitout empty record ,,this is weird,,,,,
       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&#40;$curlHandle&#41;;
       curl_close($curlHandle);
       echo $curResponse;
    }
    ?>

最後の 1 つ、これはkir.phpHOSTINGのコードです

<?php
include "koneksi.php";

$id = $_POST['id'];
$tgl = $_POST['tgl'];
$isi = $_POST['isi'];
$nope = $_POST['nope'];

// query insert data ke mysql
$quer = "INSERT INTO `adibiken_sem`.`inbox` (`id`,`tgl` ,`isi` ,`nope`) VALUES ( '".$id."','".$tgl."', '".$isi."', '".$nope."')";
mysql_query($quer);
?>

問題 : 変数を作成するにはどうすればよいですか :空の$id , $tgl, $isi, $nopeレコードなしでデータベースに正常に送信されましたか ???

そして、別の変数を少なくとも最後の1つの変数を削除すると、データは空のレコードを送信することに成功しました、、、これは奇妙です、、、、

4

2 に答える 2

0

あなたはそれをチェックすることができます:

if(isset($_POST['id'])){
    $id = $_POST['id']; 
}else{
    //the POST variable was empty, do something.
}
于 2013-02-08T09:00:27.883 に答える
0

挿入する前に、各変数の長さをチェックして、それらが空でないことを確認してみてください。これは、strlen または mb_strlen のいずれかで実行できます。

http://www.php.net/manual/en/function.mb-strlen.php

http://php.net/manual/en/function.strlen.php

于 2013-02-08T09:18:34.167 に答える