Quantcast
Channel: Tópicos
Viewing all articles
Browse latest Browse all 14700

Validar Campos php

$
0
0
Tenho um projecto a andar, e está quase tudo pronto. No backoffice consigo inserir um sitio na db, e ao inserir o sitio tenho a hipotese de inserir uma imagem para esse sitio.

Mas o único campo validado é a imagem. Precisava de ajudar para validar se o nome do sitio tem alguma coisa, se o número de contato é um numero, etc.

Aqui vai o código php que insere o sitio:

Código (PHP):
<?php
include('dbconnect.php');
include("resize-class.php");

if(isset($_POST['enviar']))
{ //START IF

$nomesitio = $_POST['nome'];
$contato = $_POST['contato'];
$morada = $_POST['morada'];
$tipo = $_POST['tipo'];
$freguesias = $_POST['freguesias'];
$hora_abertura = $_POST['hora_abertura'];
$minuto_abertura = $_POST['minuto_abertura'];
$hora_fecho = $_POST['hora_fecho'];
$minuto_fecho = $_POST['minuto_fecho'];
$horario = "Das $hora_abertura:$minuto_abertura ás $hora_fecho:$minuto_fecho";
//o nome original do arquivo no computador do utilizador
$arqName = $_FILES['arquivo']['name'];
  //o tipo mime do arquivo
$arqType = $_FILES['arquivo']['type'];
   //o tamanho do arquivo
$arqSize = $_FILES['arquivo']['size'];
//o nome temporario do arquivo com que foi guardado no servidor
$arqTemp = $_FILES['arquivo']['tmp_name'];
 //o codigo de erro associado a este upload de arquivo
$arqError = $_FILES['arquivo']['error'];
 //lista de tipos de arquivos permidos
$tiposPermitidos = array('image/gif', 'image/jpeg', 'image/jpg', 'image/png');
//tamanho maximo
$tamanhoPermitido = 6024 * 3000;
if ($arqError == 0)
{
//verifica o tipo de arquivo enviado
    if(array_search($arqType, $tiposPermitidos) === false)
    {
    $retorno = '<span class="error">O tipo de arquivo enviado é inválido!</span>' ;
    }
//verifica o tamanho do arquivo enviado
    elseif ($arqSize > $tamanhoPermitido)
    {
    $retorno = '<span class="error">O tamanho do arquivo enviado e maior que o limite!</span>';
    }
    else
    {
        $pasta = 'images_sitios/';
//pega a extensao do arquivo enviado
        $extensaoTemp = explode('.',$arqName);
        $extensao = strtolower(end($extensaoTemp));
//define o nome do arquivo usando um Unix TimesTamp
        $nome = time(). '.' . $extensao;
        $upload = move_uploaded_file($arqTemp, $pasta . $nome);

        if ($upload === true)
        {
        $ficheiro = $pasta.$nome;
$resizeObj = new resize($ficheiro);
$resizeObj -> resizeImage(800, 600, 'auto');
$resizeObj -> saveImage("images_sitios/$nome", 100);
$resizethumb = new resize($ficheiro);
$resizethumb -> resizeImage(150, 150, 'crop');
$resizethumb -> saveImage("images_sitios/thumbnails/$nome", 100);
        }

        else
        {
        $retorno = '<span class="error">Nao foi possivel fazer o upload da imagem!</span>';
        }
    }                        
}

if(empty($ficheiro))
{
$retorno = '<span class="error">Insira a imagem!</span>';
}        
 //verifica se a variavel retorno estiver vazia (nao conter erro)
if(empty($retorno))
{
    $query = mysql_query("INSERT INTO sitio (nome_sitio, horario, contato, morada, imagem, id_tipo, id_freguesia) VALUES ('$nomesitio','$horario','$contato','$morada','$nome','$tipo','$freguesias')") or die (mysql_error());
//se a query existe entao a pagina é redireccionada
    if($query === true)
    {
    $sucesso = '<span  class="yes">Sitio inserido com sucesso!</span>';
    echo $sucesso;
    }
}
else
{
echo $retorno;
}

} //END IF
?>

Queria validar se a $nomesitio contém algo, se o $contato é um número e se a $morada tem algo.

Obrigado desde já

Viewing all articles
Browse latest Browse all 14700