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

请标记答案为可接受的,如果它的作品。 –