2014-12-20 1 views
0

나는 당신에게서 화제에 도움을 필요로한다.두 개의 데이터베이스 열 이름에서 하나의 입력 값 삽입

<input type="text" name="name" id="name" class="name_" placeholder="Your Name"> 

여기가 내 게시물 코드 :

내가 하나 <input> 이름이

<?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의 달러 호주 달러

에 이름 = ebO80dHE 이제 rname에서 내가 진짜 이름을 게시 할 같은 시간 (LOREM impsum 달러 호주 달러)에서

.

내 코드는 alphaID name이지만 rname은 (는) 게시하지 않습니다.

이름 = 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_Namername 더 var_dumps를 추가 : 처음에 오른쪽 $rname= mysql_real_escape_string 후 - 어디서나 $rname 변경. 이것은 비어있는 정확한 위치를 제공해야합니다.

+0

아무 것도 변경되지 않았습니다. – innovation

+0

처리하기 전에 이름을 인쇄하고 양식 입력에 문제가있을 수 있습니다. –

+0

'$ rname = $ _ POST [ 'rname']; var_dump ($ rname);'여기에 문제가있는 성을 보여 줍니까? – innovation

관련 문제