Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Jonatã Cioni

Avisos do PHP na msma Pagina

Recommended Posts

fala galera, beleza... queria outra ajudinha de vcs, se possivel... cm vcs podem ver aki no código do arquivo conexao.php... eu coloquei um bloco pra verificar se os formulários estão preenchidos ou não... mais este aviso esta dando em outra pagina...

 

a minha duvida eh: cm que eu faço pra colocar esse aviso na msma pagina do formulário???

 

obrigado desde jah a quem conseguir me ajudar...^^

 

conexao.php

<?php

$nome = $_POST['nome'];
$email = $_POST['email'];
$cidade = $_POST['cidade'];
$estado = $_POST['estado'];
$senha = $_POST['senha'];

$conecta = mysql_connect("localhost", "root", "");
$seleciona_bd = mysql_select_db("geraldb", $conecta);

if($nome == ""){
echo "O Campo nome é obrigatório";
} else if($email == ""){
echo "O Campo E-mail é Obrigatório";
} else if($cidade == ""){
echo "O Campo Cidade é Obrigatório";
} else if($estado == ""){
echo "O Campo Estado é Obrigatório";
} else if($senha == ""){
echo "o Campo Senha é Obrigatório";
} else {
$sql_inserir = "INSERT INTO clientes(nome,email,cidade,estado,senha) VALUES ('$nome','$email','$cidade','$estado','$senha')";

$testa_inserir = mysql_query($sql_inserir) or die( mysql_error() );

if($testa_inserir == true){
echo "Dados Inseridos com Sucesso";
header("Location: index.php");
}
}
?>

 

 

index.php

<!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>

<form id="form1" name="form1" method="post" action="conexao.php">
 <table width="363" border="0" align="left">
   <tr>
     <td colspan="4"><div align="center"><em><strong>Preencha o Formulário abaixo:</strong></em></div></td>
   </tr>
   <tr>
     <td width="52"><em><strong>Nome:</strong></em></td>
     <td colspan="3"><label>
       <input name="nome" type="text" id="nome" size="50" />
     </label></td>
   </tr>
   <tr>
     <td><em><strong>E-mail:</strong></em></td>
     <td colspan="3"><input name="email" type="text" id="email" size="50" /></td>
   </tr>
   <tr>
     <td><em><strong>Cidade:</strong></em></td>
     <td width="190"><label>
       <input name="cidade" type="text" id="cidade" size="31" />
     </label></td>
     <td width="51"><em><strong>Estado:</strong></em></td>
     <td width="52"><label>
       <input name="estado" type="text" id="estado" size="2" maxlength="2" />
     </label></td>
   </tr>
   <tr>
     <td><em><strong>Senha:</strong></em></td>
     <td colspan="3"><label>
       <input name="senha" type="text" id="senha" size="50" />
     </label></td>
   </tr>

   <tr>
     <td> </td>
     <td colspan="3"><label>
       <input type="submit" name="button" id="button" value="Fazer Cadastro" />
     </label></td>
   </tr>
 </table>
</form>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

3 formas:

 

  • Colocar tudo no mesmo arquivo
  • Passar a mensagem por GET para a outra página
  • Passar a mensagem por SESSION para a outra página

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloca o PHP na mesma pagina do index.

Ou seja junte os 2 arquivos, conexao e index, e dexe sem a action do formulario...

 

eu faço isso e da certo

Compartilhar este post


Link para o post
Compartilhar em outros sites

o.O cara .. session e mais simples e controla em todas paginas se nesessario .. eu faço por switch .!

exemplo

 

$error = $_SESSION['catchError']; // nome da minha sessao de erro ..
switch($error){

   case '404';
   include("errors/404.htm");
   break; 

  // um case pra cada tipo de erro , então ele da tipo um read na session se tiver algum elemento na session que se refere a um dos itens no  
  // switch , ele captura e inclui . mais o legal e não parar a execução do script com exit() ou die .. eu gravo uma session (display)
 // caso ela tiver setada , ele não mostra o conteudo  

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

com... tentei colocar tudo no msmo arquivo...

 

<!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("conexao.php");

if(!isset($nome)){
  $nome = 0;
  } else {
    $nome = $_POST['nome'];
}
if(!isset($email)){
  $email = 0;
  } else {
    $email = $_POST['email'];
}
if(!isset($cidade)){
  $cidade = 0;
  } else {
    $cidade = $_POST['cidade'];
}
if(!isset($estado)){
  $estado = 0;
  } else {
    $estado = $_POST['estado'];
}
if(!isset($usuario)){
  $usuario = 0;
  } else {
    $usuario = $_POST['usuario'];
}
if(!isset($senha)){
  $senha = 0;
  } else {
    $senha = $_POST['senha'];
}

if($nome == ""){
  echo "O Campo NOME é Obrigatório";
} else if($email == ""){
  echo "O Campo E-MAIL é Obrigatório";
} else if($cidade == ""){
  echo "O Campo CIDADE é Obrigatório";
} else if($estado == ""){
  echo "O Campo ESTADO é Obrigatório";
} else if($usuario == ""){
  echo "O Campo USUÁRIO é Obrigatório";
} else if($senha == ""){
  echo "O Campo SENHA é Obrigatório";
} else {
  $sql_inserir = "INSERT INTO clientes(nome,email,cidade,estado,usuario,senha) VALUES ('$nome','$email','$cidade','$estado','$usuario','$senha')";

  $testa_inserir = mysql_query($sql_inserir) or die( mysql_error() );

  if($testa_inserir == true){
     echo "Dados Inseridos com Sucesso";
  }
}

?>
<form id="form1" name="form1" method="post" action="index.php">
 <table width="363" border="0" align="left">
   <tr>
     <td colspan="3"> </td>
   </tr>
   <tr>
     <td height="21" colspan="3"><div align="center"><em><strong>Preencha o Formulário abaixo:</strong></em></div>        <label></label></td>
   </tr>
   <tr>
     <td width="59"><em><strong>Nome:</strong></em></td>
     <td colspan="2"><input name="nome" type="text" id="nome" value="" size="50" /></td>
   </tr>
   <tr>
     <td height="21"><em><strong>E-mail:</strong></em></td>
     <td colspan="2"><label></label>        <label>
       <input name="email" type="text" id="email" value="" size="50" />
     </label></td>
   </tr>
   <tr>
     <td><em><strong>Cidade:</strong></em></td>
     <td colspan="2"><label>
       <input name="cidade" type="text" id="cidade" value="" size="31" />
       <em><strong>Estado:
       <input name="estado" type="text" id="estado" value="" size="2" maxlength="2" />
     </strong></em></label></td>
   </tr>

   <tr>
     <td><em><strong>Usuário:</strong></em></td>
     <td colspan="2"><label></label>        <label>
       <input name="usuario" type="text" id="usuario" value="" size="20" maxlength="20" />
       <em><strong>Senha:
       <input name="senha" type="password" id="senha" value="" size="14" maxlength="15" />
     </strong></em></label></td>
   </tr>
   <tr>
     <td> </td>
     <td width="117"><input type="submit" name="button" id="button" value="Fazer Cadastro" /></td>
     <td width="179"><input type="reset" name="button2" id="button2" value="Apagar Tudo" /></td>
   </tr>
 </table>
</form>
</body>
</html>

 

conexao.php

<?php

$host = "localhost"; // Coloque o servidor do MySQL aqui.
$user = "root"; // Usuário do MySQL.
$password = ""; // Senha do banco de dados.
$dbname = "geraldb"; // Nome do banco de dados.
$conecta = mysql_connect($host, $user, $password) or die( mysql_error() ); // Conecta ao banco de dados.
$selecionadb = mysql_select_db($dbname, $conecta) or die( mysql_error() ); // Seleciona o banco de dados.

?>

 

e colocando assim... nem insere os dados no banco de dados...

Compartilhar este post


Link para o post
Compartilhar em outros sites

nem tirando o action do form funcionou...

 

alguém ai pode me dar um exemplo de cm usar o GET e o SESSION pra fazer issu??? eh que eu sou iniciante...

 

e ainda estou com dificuldades...

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema está na lógica disto aqui:

if(!isset($nome)){
  $nome = 0;
  } else {
    $nome = $_POST['nome'];
}

 

Acredito que você queria dizer algo assim:

 

if(isset($_POST['nome'])){
  $nome = $_POST['nome'];
} else {
  $nome = 0;
}
// poderia ser escrito assim também
$nome = (isset($_POST['nome'])) ? $_POST['nome'] : 0;

 

Além disto, você só deve executar o bloco PHP caso tenha sido enviado o formulário. Uma forma de fazer isto é assim:

 

<!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("conexao.php");

/**
* Função que retorna o POST solicitado caso exista. Se não existir, retorna o valor padrão
* @param string $nome
* @param mixed $padrao
*/
function getPost($nome, $padrao = null) {
return (isset($_POST[$nome])) ? $_POST[$nome] : $padrao;
}

// verificando se o formulário foi enviado
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$nome = getPost('nome', 0);
$email = getPost('email', 0);
$cidade = getPost('cidade', 0);
$estado = getPost('estado', 0);
$usuario = getPost('usuario', 0);
$senha = getPost('senha', 0);

if ($nome == "") {
	echo "O Campo NOME é Obrigatório";
} else if ($email == "") {
	echo "O Campo E-MAIL é Obrigatório";
} else if ($cidade == "") {
	echo "O Campo CIDADE é Obrigatório";
} else if ($estado == "") {
	echo "O Campo ESTADO é Obrigatório";
} else if ($usuario == "") {
	echo "O Campo USUÁRIO é Obrigatório";
} else if ($senha == "") {
	echo "O Campo SENHA é Obrigatório";
} else {
	$sql_inserir = "INSERT INTO clientes(nome,email,cidade,estado,usuario,senha) VALUES ('$nome','$email','$cidade','$estado','$usuario','$senha')";

	$testa_inserir = mysql_query ( $sql_inserir ) or die ( mysql_error () );

	if ($testa_inserir == true) {
		echo "Dados Inseridos com Sucesso";
	}
}
}

?>
<form id="form1" name="form1" method="post" action="">
<table width="363" border="0" align="left">
<tr>
	<td colspan="3"></td>
</tr>
<tr>
	<td height="21" colspan="3">
	<div align="center"><em><strong>Preencha o Formulário abaixo:</strong></em></div>
	<label></label></td>
</tr>
<tr>
	<td width="59"><em><strong>Nome:</strong></em></td>
	<td colspan="2"><input name="nome" type="text" id="nome" value=""
		size="50" /></td>
</tr>
<tr>
	<td height="21"><em><strong>E-mail:</strong></em></td>
	<td colspan="2"><label></label> <label> <input name="email"
		type="text" id="email" value="" size="50" /> </label></td>
</tr>
<tr>
	<td><em><strong>Cidade:</strong></em></td>
	<td colspan="2"><label> <input name="cidade" type="text" id="cidade"
		value="" size="31" /> <em><strong>Estado: <input name="estado"
		type="text" id="estado" value="" size="2" maxlength="2" /> </strong></em></label></td>
</tr>

<tr>
	<td><em><strong>Usuário:</strong></em></td>
	<td colspan="2"><label></label> <label> <input name="usuario"
		type="text" id="usuario" value="" size="20" maxlength="20" /> <em><strong>Senha:
	<input name="senha" type="password" id="senha" value="" size="14"
		maxlength="15" /> </strong></em></label></td>
</tr>
<tr>
	<td></td>
	<td width="117"><input type="submit" name="button" id="button"
		value="Fazer Cadastro" /></td>
	<td width="179"><input type="reset" name="button2" id="button2"
		value="Apagar Tudo" /></td>
</tr>
</table>
</form>
</body>
</html>

 

Veja se compreende o funcionamento.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara uma outra forma e eh a que eu prefiro, você faz uma verificação via JavaScript, no botão do submit do formulario você chama uma função js que verifica os campos e dah uma alerta e foco no campo que estiver em branco que seja obrigatorio

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mais ai se ele desabilitar o javascript no navegador ele vai passar batido pela verificação não é? Então por segurança é melhor fazer a verificação no servidor também.

 

 

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

SESSION

 

 

pagina.php

<?php session_start();?>
<!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 if (isset($_SESSION['mensagem'])) echo $_SESSION['mensagem'];?>
<form id="form1" name="form1" method="post" action="outra_pagina.php">
<table width="363" border="0" align="left">
<tr>
	<td colspan="3"></td>
</tr>
<tr>
	<td height="21" colspan="3">
	<div align="center"><em><strong>Preencha o Formulário abaixo:</strong></em></div>
	<label></label></td>
</tr>
<tr>
	<td width="59"><em><strong>Nome:</strong></em></td>
	<td colspan="2"><input name="nome" type="text" id="nome" value=""
		size="50" /></td>
</tr>
<tr>
	<td height="21"><em><strong>E-mail:</strong></em></td>
	<td colspan="2"><label></label> <label> <input name="email"
		type="text" id="email" value="" size="50" /> </label></td>
</tr>
<tr>
	<td><em><strong>Cidade:</strong></em></td>
	<td colspan="2"><label> <input name="cidade" type="text" id="cidade"
		value="" size="31" /> <em><strong>Estado: <input name="estado"
		type="text" id="estado" value="" size="2" maxlength="2" /> </strong></em></label></td>
</tr>

<tr>
	<td><em><strong>Usuário:</strong></em></td>
	<td colspan="2"><label></label> <label> <input name="usuario"
		type="text" id="usuario" value="" size="20" maxlength="20" /> <em><strong>Senha:
	<input name="senha" type="password" id="senha" value="" size="14"
		maxlength="15" /> </strong></em></label></td>
</tr>
<tr>
	<td></td>
	<td width="117"><input type="submit" name="button" id="button"
		value="Fazer Cadastro" /></td>
	<td width="179"><input type="reset" name="button2" id="button2"
		value="Apagar Tudo" /></td>
</tr>
</table>
</form>
</body>
</html>

 

outra_pagina.php

<?php
include("conexao.php");

/**
* Função que retorna o POST solicitado caso exista. Se não existir, retorna o valor padrão
* @param string $nome
* @param mixed $padrao
*/
function getPost($nome, $padrao = null) {
return (isset($_POST[$nome])) ? $_POST[$nome] : $padrao;
}

if($_SERVER['REQUEST_METHOD'] == 'POST') {
$nome = getPost('nome', 0);
$email = getPost('email', 0);
$cidade = getPost('cidade', 0);
$estado = getPost('estado', 0);
$usuario = getPost('usuario', 0);
$senha = getPost('senha', 0);

$erro = array();
if ($nome == "") {
	$erro[] = "O Campo NOME é Obrigatório";
} 
if ($email == "") {
	$erro []= "O Campo E-MAIL é Obrigatório";
} 
if ($cidade == "") {
	$erro [] = "O Campo CIDADE é Obrigatório";
} 
if ($estado == "") {
	$erro [] = "O Campo ESTADO é Obrigatório";
} 
if ($usuario == "") {
	$erro [] = "O Campo USUÁRIO é Obrigatório";
} 
if ($senha == "") {
	$erro[] = "O Campo SENHA é Obrigatório";
} 
if(count($erro) == 0) {

	$sql_inserir = "INSERT INTO clientes(nome,email,cidade,estado,usuario,senha) VALUES ('$nome','$email','$cidade','$estado','$usuario','$senha')";

	$testa_inserir = mysql_query ( $sql_inserir ) or die ( mysql_error () );

	if ($testa_inserir == true) {
		echo "Dados Inseridos com Sucesso";
	}
} else {
	session_start();
	$_SESSION['mensagem'] = implode('<br/>', $erro);
               header('Location: pagina.php');
}
}

 

 

 

GET

 

 

<!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
if (isset ( $_GET ['mensagem'] ))
echo $_GET ['mensagem'];
?>
<form id="form1" name="form1" method="post" action="outra_pagina.php">
<table width="363" border="0" align="left">
<tr>
	<td colspan="3"></td>
</tr>
<tr>
	<td height="21" colspan="3">
	<div align="center"><em><strong>Preencha o Formulário abaixo:</strong></em></div>
	<label></label></td>
</tr>
<tr>
	<td width="59"><em><strong>Nome:</strong></em></td>
	<td colspan="2"><input name="nome" type="text" id="nome" value=""
		size="50" /></td>
</tr>
<tr>
	<td height="21"><em><strong>E-mail:</strong></em></td>
	<td colspan="2"><label></label> <label> <input name="email"
		type="text" id="email" value="" size="50" /> </label></td>
</tr>
<tr>
	<td><em><strong>Cidade:</strong></em></td>
	<td colspan="2"><label> <input name="cidade" type="text" id="cidade"
		value="" size="31" /> <em><strong>Estado: <input name="estado"
		type="text" id="estado" value="" size="2" maxlength="2" /> </strong></em></label></td>
</tr>

<tr>
	<td><em><strong>Usuário:</strong></em></td>
	<td colspan="2"><label></label> <label> <input name="usuario"
		type="text" id="usuario" value="" size="20" maxlength="20" /> <em><strong>Senha:
	<input name="senha" type="password" id="senha" value="" size="14"
		maxlength="15" /> </strong></em></label></td>
</tr>
<tr>
	<td></td>
	<td width="117"><input type="submit" name="button" id="button"
		value="Fazer Cadastro" /></td>
	<td width="179"><input type="reset" name="button2" id="button2"
		value="Apagar Tudo" /></td>
</tr>
</table>
</form>
</body>
</html>

outra_pagina.php

<?php
include ("conexao.php");

/**
* Função que retorna o POST solicitado caso exista. Se não existir, retorna o valor padrão
* @param string $nome
* @param mixed $padrao
*/
function getPost($nome, $padrao = null) {
return (isset ( $_POST [$nome] )) ? $_POST [$nome] : $padrao;
}

if ($_SERVER ['REQUEST_METHOD'] == 'POST') {
$nome = getPost ( 'nome', 0 );
$email = getPost ( 'email', 0 );
$cidade = getPost ( 'cidade', 0 );
$estado = getPost ( 'estado', 0 );
$usuario = getPost ( 'usuario', 0 );
$senha = getPost ( 'senha', 0 );

$erro = array ();
if ($nome == "") {
	$erro [] = "O Campo NOME é Obrigatório";
}
if ($email == "") {
	$erro [] = "O Campo E-MAIL é Obrigatório";
}
if ($cidade == "") {
	$erro [] = "O Campo CIDADE é Obrigatório";
}
if ($estado == "") {
	$erro [] = "O Campo ESTADO é Obrigatório";
}
if ($usuario == "") {
	$erro [] = "O Campo USUÁRIO é Obrigatório";
}
if ($senha == "") {
	$erro [] = "O Campo SENHA é Obrigatório";
}
if (count ( $erro ) == 0) {

	$sql_inserir = "INSERT INTO clientes(nome,email,cidade,estado,usuario,senha) VALUES ('$nome','$email','$cidade','$estado','$usuario','$senha')";

	$testa_inserir = mysql_query ( $sql_inserir ) or die ( mysql_error () );

	if ($testa_inserir == true) {
		echo "Dados Inseridos com Sucesso";
	}
} else {
	header ( sprintf ( 'Location: pagina.php?mensagem=%s', implode ( '<br/>', $erro ) ) );
}
}

 

 

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

SESSION

 

 

pagina.php

<?php session_start();?>
<!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 if (isset($_SESSION['mensagem'])) echo $_SESSION['mensagem'];?>
<form id="form1" name="form1" method="post" action="outra_pagina.php">
<table width="363" border="0" align="left">
<tr>
	<td colspan="3"></td>
</tr>
<tr>
	<td height="21" colspan="3">
	<div align="center"><em><strong>Preencha o Formulário abaixo:</strong></em></div>
	<label></label></td>
</tr>
<tr>
	<td width="59"><em><strong>Nome:</strong></em></td>
	<td colspan="2"><input name="nome" type="text" id="nome" value=""
		size="50" /></td>
</tr>
<tr>
	<td height="21"><em><strong>E-mail:</strong></em></td>
	<td colspan="2"><label></label> <label> <input name="email"
		type="text" id="email" value="" size="50" /> </label></td>
</tr>
<tr>
	<td><em><strong>Cidade:</strong></em></td>
	<td colspan="2"><label> <input name="cidade" type="text" id="cidade"
		value="" size="31" /> <em><strong>Estado: <input name="estado"
		type="text" id="estado" value="" size="2" maxlength="2" /> </strong></em></label></td>
</tr>

<tr>
	<td><em><strong>Usuário:</strong></em></td>
	<td colspan="2"><label></label> <label> <input name="usuario"
		type="text" id="usuario" value="" size="20" maxlength="20" /> <em><strong>Senha:
	<input name="senha" type="password" id="senha" value="" size="14"
		maxlength="15" /> </strong></em></label></td>
</tr>
<tr>
	<td></td>
	<td width="117"><input type="submit" name="button" id="button"
		value="Fazer Cadastro" /></td>
	<td width="179"><input type="reset" name="button2" id="button2"
		value="Apagar Tudo" /></td>
</tr>
</table>
</form>
</body>
</html>

 

outra_pagina.php

<?php
include("conexao.php");

/**
* Função que retorna o POST solicitado caso exista. Se não existir, retorna o valor padrão
* @param string $nome
* @param mixed $padrao
*/
function getPost($nome, $padrao = null) {
return (isset($_POST[$nome])) ? $_POST[$nome] : $padrao;
}

if($_SERVER['REQUEST_METHOD'] == 'POST') {
$nome = getPost('nome', 0);
$email = getPost('email', 0);
$cidade = getPost('cidade', 0);
$estado = getPost('estado', 0);
$usuario = getPost('usuario', 0);
$senha = getPost('senha', 0);

$erro = array();
if ($nome == "") {
	$erro[] = "O Campo NOME é Obrigatório";
} 
if ($email == "") {
	$erro []= "O Campo E-MAIL é Obrigatório";
} 
if ($cidade == "") {
	$erro [] = "O Campo CIDADE é Obrigatório";
} 
if ($estado == "") {
	$erro [] = "O Campo ESTADO é Obrigatório";
} 
if ($usuario == "") {
	$erro [] = "O Campo USUÁRIO é Obrigatório";
} 
if ($senha == "") {
	$erro[] = "O Campo SENHA é Obrigatório";
} 
if(count($erro) == 0) {

	$sql_inserir = "INSERT INTO clientes(nome,email,cidade,estado,usuario,senha) VALUES ('$nome','$email','$cidade','$estado','$usuario','$senha')";

	$testa_inserir = mysql_query ( $sql_inserir ) or die ( mysql_error () );

	if ($testa_inserir == true) {
		echo "Dados Inseridos com Sucesso";
	}
} else {
	session_start();
	$_SESSION['mensagem'] = implode('<br/>', $erro);
               header('Location: pagina.php');
}
}

 

 

 

GET

 

 

<!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
if (isset ( $_GET ['mensagem'] ))
echo $_GET ['mensagem'];
?>
<form id="form1" name="form1" method="post" action="outra_pagina.php">
<table width="363" border="0" align="left">
<tr>
	<td colspan="3"></td>
</tr>
<tr>
	<td height="21" colspan="3">
	<div align="center"><em><strong>Preencha o Formulário abaixo:</strong></em></div>
	<label></label></td>
</tr>
<tr>
	<td width="59"><em><strong>Nome:</strong></em></td>
	<td colspan="2"><input name="nome" type="text" id="nome" value=""
		size="50" /></td>
</tr>
<tr>
	<td height="21"><em><strong>E-mail:</strong></em></td>
	<td colspan="2"><label></label> <label> <input name="email"
		type="text" id="email" value="" size="50" /> </label></td>
</tr>
<tr>
	<td><em><strong>Cidade:</strong></em></td>
	<td colspan="2"><label> <input name="cidade" type="text" id="cidade"
		value="" size="31" /> <em><strong>Estado: <input name="estado"
		type="text" id="estado" value="" size="2" maxlength="2" /> </strong></em></label></td>
</tr>

<tr>
	<td><em><strong>Usuário:</strong></em></td>
	<td colspan="2"><label></label> <label> <input name="usuario"
		type="text" id="usuario" value="" size="20" maxlength="20" /> <em><strong>Senha:
	<input name="senha" type="password" id="senha" value="" size="14"
		maxlength="15" /> </strong></em></label></td>
</tr>
<tr>
	<td></td>
	<td width="117"><input type="submit" name="button" id="button"
		value="Fazer Cadastro" /></td>
	<td width="179"><input type="reset" name="button2" id="button2"
		value="Apagar Tudo" /></td>
</tr>
</table>
</form>
</body>
</html>

outra_pagina.php

<?php
include ("conexao.php");

/**
* Função que retorna o POST solicitado caso exista. Se não existir, retorna o valor padrão
* @param string $nome
* @param mixed $padrao
*/
function getPost($nome, $padrao = null) {
return (isset ( $_POST [$nome] )) ? $_POST [$nome] : $padrao;
}

if ($_SERVER ['REQUEST_METHOD'] == 'POST') {
$nome = getPost ( 'nome', 0 );
$email = getPost ( 'email', 0 );
$cidade = getPost ( 'cidade', 0 );
$estado = getPost ( 'estado', 0 );
$usuario = getPost ( 'usuario', 0 );
$senha = getPost ( 'senha', 0 );

$erro = array ();
if ($nome == "") {
	$erro [] = "O Campo NOME é Obrigatório";
}
if ($email == "") {
	$erro [] = "O Campo E-MAIL é Obrigatório";
}
if ($cidade == "") {
	$erro [] = "O Campo CIDADE é Obrigatório";
}
if ($estado == "") {
	$erro [] = "O Campo ESTADO é Obrigatório";
}
if ($usuario == "") {
	$erro [] = "O Campo USUÁRIO é Obrigatório";
}
if ($senha == "") {
	$erro [] = "O Campo SENHA é Obrigatório";
}
if (count ( $erro ) == 0) {

	$sql_inserir = "INSERT INTO clientes(nome,email,cidade,estado,usuario,senha) VALUES ('$nome','$email','$cidade','$estado','$usuario','$senha')";

	$testa_inserir = mysql_query ( $sql_inserir ) or die ( mysql_error () );

	if ($testa_inserir == true) {
		echo "Dados Inseridos com Sucesso";
	}
} else {
	header ( sprintf ( 'Location: pagina.php?mensagem=%s', implode ( '<br/>', $erro ) ) );
}
}

 

 

 

Carlos Eduardo

 

intaum... pelo que eu intendi, esse método getPost verifica se tem alguma coisa digitada no campo antes de enviar o cadastro para o banco de dados, é isso??

 

só naum intendi pra que a variavel $padrao na função getPost... eh um valor padrão da função msmo?? ou pode deixar em branco(isso no caso de eu quiser usar essa function/retarn novamente em outro lugar...)

 

Cara uma outra forma e eh a que eu prefiro, você faz uma verificação via JavaScript, no botão do submit do formulario você chama uma função js que verifica os campos e dah uma alerta e foco no campo que estiver em branco que seja obrigatorio

 

rsrsrs... intaum brother... javascript eh uma linguagem sinistra... muito show... mais tb muito sinistra no quesito DIFICULDADE... devo aprender na faculdade que vou começar esse ano... mais por inkuanto naum sei BULHUFAS dela... se tu souber e puder me ajudar, eu com ctz vou tentar usar sua sugestão tb... e ver qual das duas eh mais facil de utilizar novamente uma outra vez que eu precisar...

 

mais msmo assim obrigado pela intenção de ajudar, se você naum puder me ajudar mais...

Compartilhar este post


Link para o post
Compartilhar em outros sites

intaum... pelo que eu intendi, esse método getPost verifica se tem alguma coisa digitada no campo antes de enviar o cadastro para o banco de dados, é isso??

 

Não. Na verdade, ele verifica se existe o índice no post antes de atribuir o valor à variável, evitando Notices. É um erro assumir que as variáveis existem. É importante validar a existência delas. Por exemplo, se você está usando um input do tipo checkbox, $_POST['nome_do_checkbox'] só existe se for marcado pelo menos 1 valor.

 

só naum intendi pra que a variavel $padrao na função getPost... eh um valor padrão da função msmo?? ou pode deixar em branco(isso no caso de eu quiser usar essa function/retarn novamente em outro lugar...)

 

Na verdade a $padrao será utilizada caso a variável não exista. Vou dar um exemplo, utilizando getGet() ao invés de getPost() (foi o primeiro caso que me veio à cabeça).

<?php
function getGet($nome, $padrao = null) {
return (isset ( $_GET [$nome] )) ? $_GET [$nome] : $padrao;
}

$pagina = getGet ( 'pagina', 1 );

 

Imagine que estamos fazendo uma paginação. Na primeira página, não existe $_GET['pagina'], então avisamos ao sistema que a $pagina, caso não exista $_GET['pagina'], terá valor 1. Desta forma temos mais flexibilidade na função.

 

Podemos utilizar a função para outras verificações, como por exemplo o cast dos valores (a função pode ser melhorada, fiz rapidinho só para exemplo mesmo).

 

<?php
function getGet($nome, $tipo = 'string', $padrao = null) {
$retorno = (isset ( $_GET [$nome] )) ? $_GET [$nome] : $padrao;
settype ( $retorno, $tipo );
return $retorno;
}

$pagina = getGet ( 'pagina', 'int', 1 );

var_dump ( $pagina );

 

Veja que neste caso, $pagina sempre será um número inteiro, porque defini como int o tipo que eu espero dela. Faça alguns testes. Acesse a página sem parâmetros e depois com os parâmetros assim:

 

arquivo.php (sem pagina nenhuma - retornará int(1))

arquivo.php?pagina=5 (retornará int(5))

arquivo.php?pagina=<script>alert('teste');</script> (tentativa de ataque - retornará int(0))

 

Veja se compreende a lógica utilizada. Qualquer dúvida, só avisar.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.