在数据库中插入新用户

时间:2015-12-13 20:47:01

标签: php registration

我试图在我的数据库中插入新用户,但每次我这样做时,我的页面只刷新,而不是headind到它应该的位置。查询是正确的。这是我的代码目前正在使用。

<?php
require_once('bd.inc.php'); 
if (!empty($_POST["submit"])){
if($_POST['submit']==1){}
// verificar se foi submetido o formulário... se sim verificar dados submetidos e enviar info para a base de dados
$nome1 = $_POST['1_nome'];
$nome2 = $_POST['2_nome'];
$email = $_POST['email'];
$username = $_POST['username'];
$password = $_POST['password'];

    //          Cmd Inserir   Tabela                valores
    $comando = "INSERT INTO utilizadores VALUES ('', '$nome1', '$nome2','$email','$username','$password','2')"; // pergunta a enviar à BD
    $resultado = mysqli_query($ligacao,$comando) or die ("Operação inválida");

    if(mysqli_affected_rows($ligacao))
         echo "Operação efectuada";

    header('location: backoffice.php?msg=ok');// passamos a variavel msg por get de forma a podermos apresentar a informação de sucesso na página de listar utilizadores
}

?>

<html>
<head>
<meta charset="utf-8">
 <link href='css/login.css' rel='stylesheet' type='text/css'>
 <title>Backoffice</title>
<meta charset="utf-8">
</head>
<body>
<div id="main" style="max-width:400px;margin-left:450px;margin-top:90px;">
<form name="formulario" action="registar.php" method="post" />
<legend>Registe-se</legend>
<p>Primeiro Nome</p><input type="text" class="form" name="1_nome"/> </br>
<p>Segundo Nome</p><input type="text" name="2_nome"/> </br>
<p>Email</p><input type="email" name="email"/> </br>
<p>Username</p><input type="text" name="username"/> </br>
<p>Password</p><input type="password" name="password"/> </br>
<button type="submit" name="submit" />Registe-se</button>
</div>

</form>
</body>
</html>

2 个答案:

答案 0 :(得分:0)

前几个问题是一些无效的HTML,</br>应为<br /><form>应该在外部div等之前关闭。但主要问题以及为什么似乎没有发生任何事情的原因是因为您的提交按钮:

<button type="submit" name="submit" />Registe-se</button>

$_POST["submit"]的值取决于您的value属性,在您的情况下,因为没有,它将始终为空。只需为您的按钮指定一个非1

的值
<button type="submit" name="submit" value="someValue" />Registe-se</button>

或者更确切地说,如果您不希望为提交按钮指定值,请检查其他值,例如$_POST['1_nome']是否为空。这将允许您的代码进入您的查询。

答案 1 :(得分:0)

它只刷新的原因是if (!empty($_POST["submit"]))正文中没有任何内容被执行。因为$_POST["submit"]不包含任何内容。

将表单元素更新为以下内容就足够了。

<button type="submit" name="submit" value='something' />Registe-se</button>