2017-04-22 11 views
0

APIに接続するためのページを作成していますが、ハンドラに変数をポストしています。これらをmySQLデータベースに格納しています。mySQLのみ部分文字列を格納

「エド:

文字列が(。。私は、変数を説明する必要はありません、実際に)である「$のuserfullname」でテストするために、私はページ上にエコーきた、私は結果を得ますReardon "を期待どおり。

<?php 
echo $userfullname; 
?> 


    <div class="form-group"> 
    <form action="sms.php" method="post"> 
     <h3>SMS Message</h3> 
     <input type="hidden" name="usr" id="usr" value=<?php echo $userfullname; ?> /> 
     <input type="hidden" name="num" id="num" value="****" /> 
     <textarea id="msg" name="msg" class="form form-control" rows="5"></textarea> 
     <span id="text_counter"></span><input class="btn btn-large btn-primary pull-right" type="submit" id="posting" value="Post" /> 

    </div> 

それは私のハンドラになると、私のデータベースはちょうどエド、またはティム、またはキャシーまたは何を示して、私は名前だけではスペースの前の部分を取得しています。データベースはこれをvarchar(225)として保持するように設定されています。データベースには最初の名前しかないので疑いがありますが、echoに完全な名前が付けられています。その後

<?php 
$msg = $_POST['msg']; 
$usr = $_POST['usr']; 
$num = $_POST['num']; 
$recp = $_POST['recp']; 

require_once 'modules/autoload.php'; 
require_once 'connect.php';.... Then some API magic. 

低く、データベースの挿入機能:

これは、変数が渡されるハンドラの部分です

$stmt = $dbmain->prepare("INSERT INTO sms (sender, recipient, message, guid, send_time) VALUES (?, ?, ?, ?, NOW())"); 
$stmt->bind_param("ssss", $usr,$num,$msg,$guid); 
$stmt->execute(); 
$affectedrows = $dbmain->affected_rows; 
$errornoreturn = $dbmain->errno; 
$stmt->close(); 
?> 

明確にするために、文字列は、それはだ作っていませんDBには、最初の部分だけです。

答えて

2

value属性を引用符で囲む必要があります。

変更:

<input type="hidden" name="usr" id="usr" value=<?php echo $userfullname; ?> /> 

へ:

<input type="hidden" name="usr" id="usr" value='<?php echo $userfullname; ?>' /> 
+0

はあなたに非常に多くのスローンスラッシャーをありがとう - 私はばか瞬間を持っていました!乾杯:) – EdReardon

+1

それが動作する場合は、回答を受け入れたものとしてマークしてください。 –

関連する問題