2014-12-20 58 views
0

我需要關於您的主題的幫助。從兩個數據庫列名插入一個輸入值

我只有一個<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一起發佈。 基於microtime()的alphaID()值,它始終更改。 像

名=的Lorem impsum DOLAR

名= ebO80dHE

現在從rname同時我要發佈真實姓名(的Lorem impsum DOLAR)。

我的代碼發佈alphaID namername不張貼。

名= string(8) "ebO80dHE" RNAME = string(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可以在您發佈的代碼中爲空。

嘗試public function Create_Name加入rname更var_dumps:在開始和$rname= mysql_real_escape_string之後 - 任何地方$rname變化。這應該給出它變空的確切位置。

+0

沒有任何更改 – innovation

+0

在任何處理之前打印名稱,可能是表單輸入的問題。 '$ rname = $ _ POST ['rname'];之後的 –

+0

; var_dump($ rname);'顯示我的rname問題在哪裏? – innovation

相關問題