JÁ ESTOU DOIDO COM ESTE CÓDIGO - VALIDAÇAO DE FORMULÁRIOS

Enviada por xpto 
xpto
JÁ ESTOU DOIDO COM ESTE CÓDIGO - VALIDAÇAO DE FORMULÁRIOS
30 de October de 2014 às 04:32PM
Olá pessoal sou um iniciante em PHP e estou com um problema com VALIDAÇAO DE FORMULÁRIOS.
Pretendia fazer uma validação dos meus campos em php e já tou a ficar doido com este o código.
Já fiz pesquisa vi em vídeo e mesmo assim não estão a funcionar no meu código preciso muito de ajuda para entender o que estou a fazer mal.
Então proponho que copiem este código e tentem criar uma situação de validação e me digam o que estou a fazer mal pois já tentei muitas vezes e nada aparece



=======================================================================

A pagina : conexao.php

<?php


try{
$LIGAR_BD = new PDO('mysql:host=127.0.0.1;dbname=app','root','');
$LIGAR_BD->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}catch(PDOException $e){
echo $e->getMessage();
die();
}

=========================================================================

A pagina começa aqui : formulario.php

<?php include 'conexao.php'; ?>
<!DOCTYPE html>
<html lang="pt">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="bootstrap.css" media="screen">
<link rel="stylesheet" href="bootswatch.min.css">

<title>Document</title>

</head>
<body>

// É AQUI QUE QUE EU QUERO VALIDAR OS CAMPOS E Ñ CONSIGO

<?php

if (isset($_GET['funcao']) != 'editar') {


?>

<div class="container">
<div class="well bs-component">
<form class="form-horizontal" action="funcoes.php?funcao=gravar" method="post">
<legend>Inserir Novo Registo </legend>
<div class="form-group">
<label for="inputnome" class="col-lg-1 control-label">NOME</label>
<div class="col-lg-10">
<input class="form-control" id="inputnome" placeholder="DIGITE O NOME" type="text" name="name">
<span class="error"></span>
</div>
</div>
<div class="form-group">
<label for="textArea" class="col-lg-1 control-label">MESSAGEM</label>
<div class="col-lg-10">
<textarea class="form-control" rows="3" id="textArea" name="message"></textarea>
<span class="help-block" >Pode Inserir Novo Registo.</span>
</div>
</div>
<div class="form-group">
<div class="col-lg-10 col-lg-offset-1">
<button type="reset"class="btn btn-danger">Cancelar</button>
<input type="hidden" class="btn btn-success" name="accao" value="enviar">
<input type="submit" name="env" class="btn btn-success" value="Submeter">
<a href=registos.php class="btn btn-info" >Ver Registos<a/>
</div>
</div>
</form>
</div>
</div>

<?php

}

?>


<?php

if (@$_GET['funcao']=='editar') {

$pega_id = $_GET['id'];
$ATUALIZAR_DADOS = $LIGAR_BD -> query("SELECT * FROM guestbook WHERE id='$pega_id'");
while ($RETIRA_DADOS_LINHA = $ATUALIZAR_DADOS->Fetch()) {

$atualiza_id=$RETIRA_DADOS_LINHA['id'];
$atualiza_nome=$RETIRA_DADOS_LINHA['name'];
$atualiza_mensagem=$RETIRA_DADOS_LINHA['message'];
$atualiza_data_hora=$RETIRA_DADOS_LINHA['posted'];

}

?>
<div class="container">
<div class="well bs-component">
<form class="form-horizontal" action="funcoes.php?funcao=editar&id=<?php echo $pega_id ?>" method="post">
<fieldset>
<legend>Alterar Registo</legend>
<div class="form-group">
<label for="inputEmail" class="col-lg-1 control-label">NOME</label>
<div class="col-lg-10">
<input class="form-control" id="inputEmail" placeholder="DIGITE O NOME" type="text" name="name" value="<?php echo $atualiza_nome ?>">
</div>
</div>

<div class="form-group">
<label for="textArea" class="col-lg-1 control-label">MESSAGEM</label>
<div class="col-lg-10">
<textarea class="form-control" rows="3" id="textArea" name="message" ><?php echo $atualiza_mensagem ?></textarea>
<span class="help-block" >Pode Alterar os Registos.</span>
</div>
</div>
<div class="form-group">
<div class="col-lg-10 col-lg-offset-1">
<button type="submit" class="btn btn-success" onclick="return confirm('Deseja Fazer Alteração');">Alterar</button>
<a href=registos.php class="btn btn-info" >Ver Registos<a/>
</div>
</div>

</fieldset>
<?php echo "Tem acerteza que quer alterar"; ?>
</form>
</div>
</div>
<?php

}
?>

</body>
</HTML>


=====================================================================


A pagina começa aqui : registos.php

<?php include 'conexao.php'; ?>
<!DOCTYPE = 'html5'>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="bootstrap.css" media="screen">
<link rel="stylesheet" href="bootswatch.min.css">
</head>
<div class="container">
<table class="table table-striped table-hover A">

<tr class="success" align="center">
<th class="B"><h4>ID</h4></th>
<th class="C"><h4>NOME</h4></th>
<th class="D"><h4>MENSSAGEM</h4></th>
<th class="F"><h4>DATA/HORA</h4></th>
<th class="G"><h4>CONFIG</h4></th>
</tr>
</thead>
<?php

$OBTER_DADOS = $LIGAR_BD -> query('SELECT * FROM guestbook');
while ($RETIRA_DADOS_LINHA = $OBTER_DADOS->Fetch()) {
$pega_id=$RETIRA_DADOS_LINHA['id'];
$pega_nome=$RETIRA_DADOS_LINHA['name'];
$pega_mensagem=$RETIRA_DADOS_LINHA['message'];
$pega_data_hora=$RETIRA_DADOS_LINHA['posted'];

?>

<div class="container">
<table class="table table-striped table-hover A ">

<tbody>
<tr class="active" align="center">
<th class="B"><h4><?php echo $pega_id ?></h4></th>
<th class="C"><h4><?php echo $pega_nome ?></h4></th>
<th class="D"><h4><?php echo $pega_mensagem ?></h4></th>
<th class="F"><h4><?php echo $pega_data_hora ?></h4></th>
<th class="G"><h4><a href="formulario.php?funcao=editar&id=<?php echo $pega_id ?>" class="btn btn-warning btn-xs">Editar</a></h4></th>
<th class="H"><h4><a href="funcoes.php?funcao=excluir&id=<?php echo $pega_id ?>" class="btn btn-danger btn-xs">Excluir</a></h4></th>
</tr>

<?php
}
?>

</tbody>
</table>
<table class="table table-striped table-hover A ">
<th><a href=formulario.php class="btn btn-success" >Novo Registo<a/></th>
</table>
</div>


============================================================================

A pagina começa aqui : funcoes.php

<!DOCTYPE html>
<html lang="pt">
<head>
<meta charset="UTF-8">
<?php
include 'conexao.php';
// Defenir as variaveis
@$grava_nome=$_POST['name'];
@$grava_mensagem=$_POST['message'];


// funçao gravar dados
//---------------------------------------------------------------------------------------------
if (@$_GET['funcao']=='gravar') {

$INSERIR_NOVOS_DADOS = "INSERT INTO guestbook (name, message ,posted) VALUES (?, ?, NOW())";
$DADOS_A_INSERIR = $LIGAR_BD->prepare($INSERIR_NOVOS_DADOS);
$DADOS_A_INSERIR->execute(array($grava_nome, $grava_mensagem));
header('location:formulario.php');
}

// funçao Editar dados
//---------------------------------------------------------------------------------------------
if (@$_GET['funcao']=='editar') {
$pega_id = $_GET['id'];
$EDITAR_DADOS = ("UPDATE guestbook SET name='$grava_nome', message='$grava_mensagem' WHERE id= '$pega_id'");
$DADOS_A_EDITAR = $LIGAR_BD->prepare($EDITAR_DADOS);

$DADOS_A_EDITAR->execute(array($grava_nome, $grava_mensagem));
echo "Tem certeza que quer alterar";
header('location:formulario.php');
}

// funçao Excluir dados
//---------------------------------------------------------------------------------------------

if (@$_GET['funcao']=='excluir') {
$pega_id = $_GET['id'];
$EXCLUIR_DADOS = ("DELETE FROM guestbook WHERE id= '$pega_id'");
$DADOS_A_EXCLUIR = $LIGAR_BD->prepare($EXCLUIR_DADOS);
$DADOS_A_EXCLUIR->execute(array($grava_nome, $grava_mensagem));
header('location:formulario.php');
}
NOTA:

BASE DE DADOS app

CREATE TABLE IF NOT EXISTS `guestbook` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`message` text NOT NULL,
`posted` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=367 ;
Eduardo Molina
Re: JÁ ESTOU DOIDO COM ESTE CÓDIGO - VALIDAÇAO DE FORMULÁRIOS
18 de February de 2016 às 10:44PM
revivendo topico do tumulo mas vamo la kk

if (isset($_GET['funcao']) != 'editar') {


nessa primeira parte,

isset($_GET['funcao']) se a $_GET['funcao'] tiver algum valor ali dentro fornecido pelo usuario o isset ira retornar a informação '1', caso contrario '0', depois disso entra-se a segunda parte da instrução...


if((0 ou 1) Diferente de 'editar')

ou seja sempre ira entrar nesta opção.
Você precisa estar logado no PHPBrasil.com para poder enviar mensagens para os nossos fóruns.

Faça o login aqui.