我需要你的主题帮助。
我只有一个名字<input>
:
<input type="text" name="name" id="name" class="name_" placeholder="Your Name">
这是我的邮政编码:
<?php
include_once 'includes/db.php';
include_once 'includes/user.php';
include_once'includes/alphaID.php';
$user = new user();
$set_error='';
if(isset($_POST['name']))
{
$name=$_POST['name'];
$rname=$_POST['name'];
$name = alphaID(microtime(true) * 10000);
if (strlen($rname)>0)
{
$set=$user->Create_Name($name,$rname,$uid,$uemail);
if($set)
{
$_SESSION['id']=$set;
}
else
{
$set_error="<span class='seterror'>name is already exists.</span>";
}
}
}
?>
并插入代码在这里:
<?php
class user
{
public function Create_Name($name,$rname,$uid,$uemail)
{
$name= mysql_real_escape_string($name);
$rname= mysql_real_escape_string($name);
$rname= mysql_real_escape_string($rname);
$qu= mysql_query("SELECT id FROM users WHERE rname='$rname'");
if(mysql_num_rows($qu)==0)
{
$id = "{$uid}";
$cekme = mysql_query("SELECT * FROM users WHERE uid = '$id'");
$goster = mysql_fetch_array($cekme);
extract($goster);
$email = "{$email}";
var_dump($name);
var_dump($rname);
$query = mysql_query("INSERT INTO users(name,rname,uid,uemail)VALUES('$name','$rname','$uid','$email')");
return $id=mysql_insert_id() ;
}
else
{
return false;
}
}
}
?>
现在我想做什么。您可以在此处看到$name
此$name
与alphaID.php一起发布。
alphaID()值基于microtime(),它总是会改变。
喜欢
name = Lorem impsum dolar
到
name = ebO80dHE
现在我想在rname
发布真实姓名(Lorem impsum dolar)。
我的代码发布alphaID name
但rname
未发布。
name = string(8) "ebO80dHE"
rname = string(0) ""
答案 0 :(得分:1)
$name= mysql_real_escape_string($name);
$rname= mysql_real_escape_string($name);
$rname= mysql_real_escape_string($rname);
删除第二行:
$name= mysql_real_escape_string($name);
$rname= mysql_real_escape_string($rname);
另外,请尝试在此处打印名称:
if(isset($_POST['name']))
{
$name=$_POST['name'];
$rname=$_POST['name'];
var_dump($rname);
$name = alphaID(microtime(true) * 10000);
if (strlen($rname)>0)
- 如果确实如此,我看不出您发布的代码中rname
如何为空。
尝试在rname
中添加更多public function Create_Name
的var_dump:$rname= mysql_real_escape_string
之后的$rname
- {{1}}更改的任何位置。这应该给出它变空的确切位置。