2017-04-22 71 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> 

當它關係到我的處理程序,我的數據庫只是表明ED或添或凱茜或什麼,我只獲得在名稱空間之前的部分。數據庫被設置爲將其作爲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

請標記答案爲可接受的,如果它的作品。 –