2015-12-13 112 views
0

我試圖在數據庫中插入新用戶,但每次我這樣做,我的頁面只刷新,而不是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> 
+0

用戶是否進入數據庫;或者它只是作爲問題的「位置」? 'if($ _ POST ['submit'] == 1){}'是什麼原因? –

+0

不,條件阻止甚至運行查詢。 – user3375665

+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']爲空,如果你不希望指派爲您的提交按鈕的值等數值。這將允許您的代碼訪問您的查詢。

+0

如何避免條件runnig如果窗體爲空? – user3375665

+0

@ user3375665你會做類似的事情,但爲你的表單字段值。因此,如果你希望他們都被填寫,你會做一個條件,如:if(!empty($ _ POST ['1_nome'])&&!empty($ _ POST ['2_nome'])&& ...) 。或者你可以在客戶端使用JavaScript來檢查。 –

0

它只刷新的原因是if (!empty($_POST["submit"]))正文沒有被執行。因爲$_POST["submit"]什麼都沒有。

將表單元素更新爲以下內容應該足夠了。

<button type="submit" name="submit" value='something' />Registe-se</button> 
相關問題