Bom dia eu criei um script em php com um formulario de registo e processamento deste mesmo na mesma pagina...porem ao executa-lo apresenta-me um ero: UNDEFINED INDEX, para evitar tal erro é criar uma pagina para por um formulario de registo e outra pagina para tratar os dados desse registo......;tudo na mesma pagina , não dá...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?php
include "./ligacaobd/ligacaobd.php";
//include("./cabeçalho.php");
$nickname = $_POST['nickname'];
//verificar se foi clicado o botão submit
if (isset($_REQUEST['registar'])){
//verificar se os campos foram todos preenchidos
if(!empty($_POST) and (empty($_POST['nickname']) or (empty($_POST['password']) ))){
echo "<table width='800' border='0' cellspacing='0' align='center'>
<tr>
<td align='center'><a href='registar_utilizador.php'>Tem de preencher os campos ! Clique para tentar de novo</a></td>
</tr>";
}}
//verificar se existe um utilizador registado com o mesmo nome
$sql = "SELECT * FROM utilizadores WHERE nome_utilizador = '$nickname' ";
$consulta =mysql_query($sql);
$resultado = mysql_num_rows($consulta);
//se existir já um utilizador, apresenta uma mensagem de erro...
if ($resultado != 0) {
echo "<table width='800' border='0' cellspacing='0' align='center'>
<tr>
<td align='center'>Ja existe um utilizador com esse nome !</td>
</tr>
<tr>
<td align='center'><a href='registar_utilizador.php'>Clique para tentar de nove !</a></td>
</tr>
";
}
else {
// se não existir um utilizador com esse nome, faz-se o registo
$sql2 = "INSERT INTO utilizadores(nome_utilizador, palavra_passe ,email,estado_utilizador,nivel_utilizador,data_registo) VALUES ('".$_POST[nickname]."' , '".$_POST[password]."') , '".$_POST[email]."' , 'N' , '2' , NOW() ) ";
$consulta2 = mysql_query($sql2);
echo "<table width='800' border='0' cellspacing='0' align='center' >
<tr>
<td align='center'>Obrigado por se registar ! Terá de aguardar pela validação do administrador !</td>
</tr>
<tr>
<td align='center'>Clique para continuar</td>
</tr>";
}
?>
<form id="form_registo" name="form_registo" method="post" action="registar_utilizador.php" >
<table width="600" border="0" cellspacing="0" align="center">
<tr>
<td colspan="2" align="center">Insira os dados para se registar</td>
</tr>
<tr>
<td width="196" align="center">Nome de acesso :</td>
<td width="300">
<label for="textfield"></label>
<input type="text" name="nickname" id="textfield" size="40" />*
</td>
</tr>
<tr>
<td align="center">Palavra-passe :</td>
<td><label for="password"></label>
<input type="password" name="password" id="password" size="40" />*</td>
</tr>
<tr>
<td>Endereço de correio electronico :</td>
<td><label for="email"></label>
<input type="text" name="email" id="email" size="40" />*</td>
</tr>
<tr>
<td colspan="2"><strong>* Campo de preenchimento obrigatorio</strong></td>
</tr>
<tr>
<td align="right"><input type="submit" name="registar" id="registar" value="Registar" /></td>
<td align="center"><input name="apagar" type="reset" value="Apagar" /></td>
</tr>
</table>
</form>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?php
include "./ligacaobd/ligacaobd.php";
//include("./cabeçalho.php");
$nickname = $_POST['nickname'];
//verificar se foi clicado o botão submit
if (isset($_REQUEST['registar'])){
//verificar se os campos foram todos preenchidos
if(!empty($_POST) and (empty($_POST['nickname']) or (empty($_POST['password']) ))){
echo "<table width='800' border='0' cellspacing='0' align='center'>
<tr>
<td align='center'><a href='registar_utilizador.php'>Tem de preencher os campos ! Clique para tentar de novo</a></td>
</tr>";
}}
//verificar se existe um utilizador registado com o mesmo nome
$sql = "SELECT * FROM utilizadores WHERE nome_utilizador = '$nickname' ";
$consulta =mysql_query($sql);
$resultado = mysql_num_rows($consulta);
//se existir já um utilizador, apresenta uma mensagem de erro...
if ($resultado != 0) {
echo "<table width='800' border='0' cellspacing='0' align='center'>
<tr>
<td align='center'>Ja existe um utilizador com esse nome !</td>
</tr>
<tr>
<td align='center'><a href='registar_utilizador.php'>Clique para tentar de nove !</a></td>
</tr>
";
}
else {
// se não existir um utilizador com esse nome, faz-se o registo
$sql2 = "INSERT INTO utilizadores(nome_utilizador, palavra_passe ,email,estado_utilizador,nivel_utilizador,data_registo) VALUES ('".$_POST[nickname]."' , '".$_POST[password]."') , '".$_POST[email]."' , 'N' , '2' , NOW() ) ";
$consulta2 = mysql_query($sql2);
echo "<table width='800' border='0' cellspacing='0' align='center' >
<tr>
<td align='center'>Obrigado por se registar ! Terá de aguardar pela validação do administrador !</td>
</tr>
<tr>
<td align='center'>Clique para continuar</td>
</tr>";
}
?>
<form id="form_registo" name="form_registo" method="post" action="registar_utilizador.php" >
<table width="600" border="0" cellspacing="0" align="center">
<tr>
<td colspan="2" align="center">Insira os dados para se registar</td>
</tr>
<tr>
<td width="196" align="center">Nome de acesso :</td>
<td width="300">
<label for="textfield"></label>
<input type="text" name="nickname" id="textfield" size="40" />*
</td>
</tr>
<tr>
<td align="center">Palavra-passe :</td>
<td><label for="password"></label>
<input type="password" name="password" id="password" size="40" />*</td>
</tr>
<tr>
<td>Endereço de correio electronico :</td>
<td><label for="email"></label>
<input type="text" name="email" id="email" size="40" />*</td>
</tr>
<tr>
<td colspan="2"><strong>* Campo de preenchimento obrigatorio</strong></td>
</tr>
<tr>
<td align="right"><input type="submit" name="registar" id="registar" value="Registar" /></td>
<td align="center"><input name="apagar" type="reset" value="Apagar" /></td>
</tr>
</table>
</form>
</body>
</html>