无法编辑整数

时间:2013-04-29 16:07:42

标签: php mysql int

我正在用PHP构建管理面板。我是PHP的新手,我无法让我的编辑页面工作,因为我需要它。我可以编辑名称,但有两个值代表"活跃用户"和#34;访问级别"被设置为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");

    ?>

1 个答案:

答案 0 :(得分:0)

它看起来像一个命名问题。你的两个变量似乎没有遵循与其余变量相同的约定,除非我在查询之前缺少一些额外的处理,否则你应该改变这两行:

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

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

到此:

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

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