2013-10-07 15 views
0

我有兩個表,我需要在與用戶表的用戶對應的表中顯示文本。用兩個數據更新php數據庫

所以我這樣做:

$email = $_SESSION['email']; 
$select = mysql_query("SELECT t.id, t.id_textos, t.userTitleSite, t.userTextSobre, t.userTextContatos, t.userTextMaisInfos FROM vms_textos t INNER JOIN vms_users u ON (t.id = u.id) LIMIT 1") or print (mysql_error()); 
while($res_select = mysql_fetch_array($select)){ 

    $userTitleSite = $res_select["userTitleSite"]; 
    $userTextSobre = $res_select["userTextSobre"]; 
    $userTextContatos = $res_select["userTextContatos"]; 
    $userTextMaisInfos = $res_select["userTextMaisInfos"]; 
    $id = $res_select["id"]; 

和工作。
現在我需要直接從INPUTS更新這些信息.. 但我做不到,因爲我的字段UPDATE一定是錯誤的,因爲它總是重置SUBMIT之後的所有內容。
這是我正在使用的代碼。
請看看有什麼不對:

$query=mysql_query("UPDATE vms_textos SET userTitleSite='$userTitleSite', userTextSobre='$userTextSobre', userTextContatos='$userTextContatos', userTextMaisInfos='$userTextMaisInfos' WHERE t.id=u.id"); 

謝謝!

[編輯]

所有重要CODE:

// INCLUDES.PHP 

// Starts 
ob_start(); 
session_start(); 

// Globais 
$startaction=""; 


// Ação 
     if(isset($_GET["acao"])){ 
       $acao=$_GET["acao"]; 
       $startaction=1; 
     } 


// Conexão com o banco de dados 
$conectar=new DB; 
$conectar=$conectar->conectar(); 



// Metodos de Cadastro 
if($startaction == 1){ 
     if($acao == "cadastrar"){ 
       $usuario=$_POST["usuario"]; 
       $nome=$_POST["nome"]; 
       $sobrenome=$_POST["sobrenome"]; 
       $telefone=$_POST["telefone"]; 
       $email=$_POST["email"]; 
       $senha=$_POST["senha"]; 

       if(empty($usuario) || empty($nome) || empty($sobrenome) || empty($telefone) || empty($email) || empty($senha)){ 
         $msg="Preencha todos os campos!"; 
       } 
       // Todos os campos preenchidos 
       else { 
         // Email válido 
         if(filter_var($email,FILTER_VALIDATE_EMAIL)){ 
           // Senha inválida 
           if(strlen($senha) < 8){ 
             $msg="As senhas devem conter no mínimo oito caracteres!"; 
           } 
           // Senha válida 
           else { 
             // Executa a classe de cadastro 
             $conectar=new Cadastro; 
             echo "<div class=\"flash\">"; 
             $conectar=$conectar->cadastrar($usuario, $nome, $sobrenome, $telefone, $email, $senha); 
             echo "</div>"; 
           } 

         } 
         // Email invalido 
         else{ 
           $msg="Digite seu e-mail corretamente!"; 

         } 

       } 


     } 
} 



// Método de Login 
if($startaction == 1){ 
     if($acao == "logar"){ 
       // Dados 
       $email=addslashes($_POST["email"]); 
       $senha=addslashes(sha1($_POST["senha"]."")); 

       if(empty($email) || empty($senha)){ 
         $msg="Preencha todos os campos!"; 
       } else{ 
         if(!filter_var($email,FILTER_VALIDATE_EMAIL)){ 
           $msg="Digite seu e-mail corretamente!"; 
         } else { 
           // Executa a busca pelo usuário 
           $login=new Login; 
           echo "<div class=\"flash\">"; 
           $login=$login->logar($email, $senha); 
           echo "</div>"; 
         } 
       } 
     } 
} 



// Método de Checar usuário 
if(isset($_SESSION["email"]) && isset($_SESSION["senha"])){ 
     $logado=1; 
     $nivel=$_SESSION["nivel"]; 
} 









// LOGIN.PHP -- CLASSE DE LOGIN 
class Login { 
       public function logar($email, $senha){ 
         $buscar=mysql_query("SELECT * FROM vms_users WHERE email='$email' AND senha='$senha' LIMIT 1"); 
         if(mysql_num_rows($buscar) == 1){ 
           $dados=mysql_fetch_array($buscar); 
           if($dados["status"] == 1){ 
             $_SESSION["email"]=$dados["email"]; 
             $_SESSION["senha"]=$dados["senha"]; 
             $_SESSION["nivel"]=$dados["nivel"]; 
             setcookie("logado",1); 
             $log=1; 
           } else{ 
             $flash="Usuário bloqueado! Entre em contato conosco!"; 
           } 
         } 
         if(isset($log)){ 
           $flash="Você foi logado com sucesso!"; 
         } else{ 

           if(empty($flash)){ 
             $flash="Ops, digite seu e-mail e sua senha corretamente!"; 
           } 
         } 

         echo $flash; 
       } 
     } 






// CADASTRO.PHP -- CLASSE DE CADASTRO 
class Cadastro{ 
     public function cadastrar($usuario, $nome, $sobrenome, $telefone, $email, $senha){ 
       // Tratamento das variaveis 
       $usuario=ucwords(strtolower($usuario)); 
       $nome=ucwords(strtolower($nome)); 
       $sobrenome=ucwords(strtolower($sobrenome)); 
       $telefone=ucwords(strtolower($telefone)); 
       $email=ucwords(strtolower($email)); 
       $senha=sha1($senha.""); 

       // Inserção no banco de dados 
       $validaremail=mysql_query("SELECT * FROM vms_users WHERE email='$email' OR usuario='$usuario'"); 
       $contar=mysql_num_rows($validaremail); 
       if($contar == 0){ 
         $insert=mysql_query("INSERT INTO vms_users(usuario, nome, sobrenome, telefone, email, senha, nivel, status) VALUES('$usuario','$nome','$sobrenome','$telefone','$email','$senha','1','0')"); 
       } else{ 
         $flash="Desculpe, mas já existe um usuário cadastrado com este e-mail em nosso sistema!"; 
       } 

       if(isset($insert)){ 
         // Cadatro ok 
         $flash="Cadastro realizado com sucesso, aguarde nossa aprovação!"; 

       } else{ 
         if(empty($flash)){ 
           $flash="Ops, houve um erro em nosso sistema!"; 
         } 
       } 

       // Retorno para o usuário 
       echo $flash; 
     } 
} 
+1

爲什麼你使用WHERE t.id = u.id沒有任何連接? –

+0

與id = $ id不工作 –

+0

只有重置數據 –

回答

0
$query=mysql_query("UPDATE vms_textos SET t.userTitleSite='$userTitleSite' WHERE t.id='u.id'"); 
+0

感謝LOT :) –

0
$query=mysql_query("UPDATE vms_textos SET userTitleSite='$userTitleSite' WHERE t.id=u.id"); 

做u想在數據庫更新哪些領域呢?在mysql_query()中設置特定的字段。我在這裏提到..如果你設置所有字段,然後所有字段都更新,請嘗試。

+0

不工作太:( –

+0

可以發佈你的完整代碼嗎?也許我可以清除這個錯誤.. – Karuppiah

+0

我將編輯插入所有代碼 –