在数据库中插入新用户
Inserting new users in database
我试图在我的数据库中插入新用户,但每次我这样做时,我的页面只会刷新,而不是指向 should.The 查询正确的位置 one.This是我目前使用的代码。
<?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>
前几题有些无效HTML,</br>
应该是<br />
。 <form>
应该在外部 div
之前关闭,等等。但是主要的问题,以及似乎没有任何事情发生的原因是因为你的提交按钮:
<button type="submit" name="submit" />Registe-se</button>
$_POST["submit"]
的值取决于您的 value
属性,在您的情况下,由于存在 none,它始终为空。只需为您的按钮分配一个不是 1
的值
<button type="submit" name="submit" value="someValue" />Registe-se</button>
或者如果您不想为提交按钮分配值,则检查其他值,例如 $_POST['1_nome']
是否为空。这将允许您的代码访问您的查询。
它只刷新的原因是 if (!empty($_POST["submit"]))
的正文中没有任何内容被执行。因为 $_POST["submit"]
什么都不包含。
将表单元素更新为以下内容就足够了。
<button type="submit" name="submit" value='something' />Registe-se</button>
我试图在我的数据库中插入新用户,但每次我这样做时,我的页面只会刷新,而不是指向 should.The 查询正确的位置 one.This是我目前使用的代码。
<?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>
前几题有些无效HTML,</br>
应该是<br />
。 <form>
应该在外部 div
之前关闭,等等。但是主要的问题,以及似乎没有任何事情发生的原因是因为你的提交按钮:
<button type="submit" name="submit" />Registe-se</button>
$_POST["submit"]
的值取决于您的 value
属性,在您的情况下,由于存在 none,它始终为空。只需为您的按钮分配一个不是 1
<button type="submit" name="submit" value="someValue" />Registe-se</button>
或者如果您不想为提交按钮分配值,则检查其他值,例如 $_POST['1_nome']
是否为空。这将允许您的代码访问您的查询。
它只刷新的原因是 if (!empty($_POST["submit"]))
的正文中没有任何内容被执行。因为 $_POST["submit"]
什么都不包含。
将表单元素更新为以下内容就足够了。
<button type="submit" name="submit" value='something' />Registe-se</button>