ok, tenho este trexo de codigo que me recebe e mostra os erros após enviar o form, ou seja mostra o que falta preencher:
(index.php)
<?php
// Se existir sessão iniciada.if(isset($_SESSION['erros'])){// Exibe caso existam, todos os erros trazidos pela sessão do ficheiro "envia.php".
$mostra_erros = $_SESSION['erros'];
echo "<br><img src='estilos/erro.png' border='0'><br>Upsss!<br>";for($i =; $i < count($mostra_erros); $i++){
echo "<font class='erros'>$mostra_erros[$i]<br></font>";}}// Termina a sessão.
session_destroy();
echo "<br>";?>
e tenho este no ficheiro envia.php que é responsavel por verificar e me enviar os erros após receber as infos do index.php
<?php
session_start();// Inicia a sessão// Liga-se à base de dados.
require_once 'ligar-bd.php';// Verifica se o número de elementos contados é igual aos que se espera enviar.// (É UMA PROTEÇÃO IMPORTANTE PORQUE PERMITE VER SE É UMA PESSOA OU ALGUM SOFTWARE A ENVIAR O FORMULÁRIO).if( count($_POST)==3){// Limpa o lixo das variaveis antes de as guardar.
$nome = filter_var($_POST['nome'], FILTER_SANITIZE_STRING);
$categoria = filter_var($_POST['categoria'], FILTER_SANITIZE_STRING);
$id_categoria = filter_var($_POST['id_categoria'], FILTER_SANITIZE_STRING);// Armazena todos os erros na variiável $erros para mais tarde poder mostra-los.
$erros = array();// Verifica se os campos obrigatórios estão selecionados ou preenchidos.// e caso o campo não esteja selecionado ou preenchido exibe os erros.if( $nome ==""){
$erros[]="Preencha o nome!";}// Caso o valor da variável seja comparável com zero mostra o erro.if( $categoria =="0"){
$erros[1]="Escolha a categoria ou insira uma nova!";}// Caso existam erros, cria uma sessão para transporta-los para qualquer lugar sempre que desejado.if( count($erros)>){
$_SESSION['erros']= $erros;// redireciona para o link
echo '<meta http-equiv="refresh" content="0; url=index.php" />';}}exit;?>
acontece que ele retorna bem os erros, so que se por exemplo eu não inserir ou selecionar nada e clicar em enviar, ele retorna os 2 erros do nome e categoria, se eu escrever um nome apenas e enviar ele não retorna o erro da categoria! e se escolher uma categoria apenas e enviar ele retorna bem o erro do nome... alem disso, como são 2 ficheiros diferentes, caso eu faça uma dessas opções e envie ele retorna apenas um erro e não mantem o que já tinha sido selecionado ou inserido antes de enviar, resumindo obriga-me a preencher e selecionar de novo. como poderia meter isto a funcionar bem?
Pergunta
joanita
ok, tenho este trexo de codigo que me recebe e mostra os erros após enviar o form, ou seja mostra o que falta preencher:
(index.php)
e tenho este no ficheiro envia.php que é responsavel por verificar e me enviar os erros após receber as infos do index.php
acontece que ele retorna bem os erros, so que se por exemplo eu não inserir ou selecionar nada e clicar em enviar, ele retorna os 2 erros do nome e categoria, se eu escrever um nome apenas e enviar ele não retorna o erro da categoria! e se escolher uma categoria apenas e enviar ele retorna bem o erro do nome... alem disso, como são 2 ficheiros diferentes, caso eu faça uma dessas opções e envie ele retorna apenas um erro e não mantem o que já tinha sido selecionado ou inserido antes de enviar, resumindo obriga-me a preencher e selecionar de novo. como poderia meter isto a funcionar bem?
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.