2013-04-29 106 views
0

我正在用PHP構建一個管理面板。我是PHP新手,無法讓我的編輯頁面按我的需要工作。我可以編輯姓名,但2個值代表「活躍用戶」和「訪問級別」都設置爲0,我無法從我的0編輯頁面更改,只能從​​phpMyAdmin的..無法編輯整數

<?php 
// Inserir o registo na BD 
include_once ('config1.php'); 

// Estabelecer a ligação à BD 
$connection = new mysqli('localhost', 'root', '123456', 'admin1'); 

//Verificar se a ligação foi estabelecida com sucesso 
if (mysqli_connect_errno()) { 
    echo "</h2>Erro no acesso a BD</h2>" . mysqli_connect_error(); 

    exit(); 
    } 
    // Validar se os campos do formulário foram preenchidos pelo utilizador 
    // Verificar se "username" foi enviado 
    if (isset($_POST['iusername']) == FALSE) { 
     echo ("Erro de submissão"); 
     exit(); 
    } else { 
     $username = trim($_POST['iusername']); 
    } 
    if (isset($_POST['inome']) == FALSE) { 
     echo ("Erro de submissão"); 
     exit(); 
    } else { 
     $nome = trim($_POST['inome']); 
    } 
    if (isset($_POST['inivel']) == FALSE) { 
     echo ("Erro de submissão"); 
     exit(); 
    } else { 
     $apelido = trim($_POST['inivel']); 
    } 
    if (isset($_POST['iativo']) == FALSE) { 
     echo ("Erro de submissão"); 
     exit(); 
    } else { 
     $telefone = trim($_POST['iativo']); 
    } 
    if (isset($_POST['iemail']) == FALSE) { 
     echo ("Erro de submissão"); 
     exit(); 
    } else { 
    $email = trim($_POST['iemail']); 
    } 
    if (isset($_POST['ipass']) == FALSE) { 
    echo ("Erro de submissão"); 
    exit(); 
    } else { 
    $pass = trim($_POST['ipass']); 
    } 
    if (isset($_POST['irpass']) == FALSE) { 
    echo ("Erro de submissão"); 
    exit(); 
    } else { 
    $repass = trim($_POST['irpass']); 
    } 

    // Função de validação do email (chamada mais abaixo no código) 
    function isValidEmail($email){ 
    return @eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]        {2,3})", $email); 

    // Validar se o nº de caracteres do "username" está entre 4 e 12 
    if (strlen($username) < 4 || strlen($username) > 12) { 
    $erro = true; 
    $msgerro .= "<p>erro: \"username\" deve conter entre 4 e 12 caracteres</p>"; 
    } 
    // Validar se o nome tem entre 3 e 40 caracteres 
    if (strlen($nome) < 3 || strlen($nome) > 40) { 
    //echo (strlen($nome)); 
    $erro = true; 
    $msgerro .= "<p>erro: \"nome\" deve conter entre 3 a 40 caracteres</p>"; 
    } 

// Validação das passwords 
$mudapass = false; 
    if (strlen($password) == 0 && strlen($rpassword) == 0) { 
    $mudapass = false; 
} else { 
    $mudapass = true; 
} 
    // 2.2. Validar o tamanho da password 
    if (strlen($password) < 4 || strlen($password)> 16) { 
    $erro = true; 
    $msgerro .= "<p>erro: \"password\" deve conter entre 4 a 16 caracteres</p>"; 
    } 
    } 
    // 3. Validar se as duas passwords correspondem 
    if ($password != $rpassword) { 
    $erro = true; 
    $msgerro .= "<p>\"passwords\" não correspondem</p>"; 
    } 

    // validação de email 
    // Chama a nova função "isValidEmail" 
    if (isValidEmail($email) == false) { 
    $erro = true; 
    $msgerro .= "<p>email inválido</p>"; 
    } 
    // Final das validações (avisa caso algum erro seja detectado) 
    if ($erro) { 
    echo "<p>Formulário submetido com erros</p>"; 
    echo $msgerro; 
    echo "<br>"; 
    // Desenha 2 botões "Corrigir" e "Listar" 
    echo "<a class='ains' href='javascript:history.go(-1)' title='Volta à página   anterior'>Corrigir </a>"; 
    echo "<br/>"; 
    echo "<a class='ains' href='lista.php'>Listar</a>"; 
    exit(); 
    } 
    if($password != $rpassword){ 
echo "ERRO: PASSWORDS SAO DIFERENTES"; 
    } 


    $sql= "UPDATE usuarios SET 
     nome = '$nome'; 
     email = '$email'; 
     nivel = '$nivel'; 
     ativo = '$ativo'; 
     WHERE 
     usuario = '$username'"; 

    if ($mudapass == TRUE) { 
    $sql = "UPDATE usuarios SET nome = '$nome', 
    password = '$password', 
    email = '$email', 
    nivel = '$nivel', 
    ativo = '$ativo', WHERE usuario = '$username'"; 
    } 
    if ($mudapass == FALSE) { 
    $sql = "UPDATE usuarios SET 
    nome = '$nome', 
    email = '$email', 
    nivel = '$nivel', 
    ativo = '$ativo' 
    WHERE 
    usuario = '$username'"; 
    } 
    $connection->query($sql); 
    // Lista users depois de actualizar 
    header("location:lista.php"); 

    ?> 

回答

0

它看起來像一個命名問題。你的變量的兩個似乎沒有遵循他們的休息日的慣例,除非我在查詢之前缺少一些額外的處理,那麼你應該改變這兩條線路:

$apelido = trim($_POST['inivel']); 

    // ...several lines later 
    $telefone = trim($_POST['iativo']); 

這樣:

$nivel = trim($_POST['inivel']); 

    // ...several lines later 
    $ativo = trim($_POST['iativo']); 
+0

OMG!感謝很多伴侶,解決了! :D – 2013-04-29 16:37:17

+0

沒問題!:D 另外,由於問題解決了,您可以通過接受答案 – 2013-04-29 16:47:52

+0

來承認它,抱歉不知道接受,完成,抱歉這麼久的系統! – 2013-05-02 13:26:28