Jump to content


Photo

Erro Validando Form


  • Faça o login para participar
5 replies to this topic

#1 michelmfreitas

michelmfreitas

    ...

  • Usuários
  • 310 posts
  • Sexo:Não informado

Posted 02/07/2007, 12:39

tenho um form de cadastro de curriculo

a parte que está dando erro éo seguinte:
<table width="100%" border="0" cellspacing="1" cellpadding="2">
		  
		  <tr bgcolor="#CCCCCC"> 
			<td colspan="4"><div align="left"><font size="2" face="tahoma"><b>CURSOS<br>
			  </b>Inclua suas forma&ccedil;&otilde;es da mais recente 
			  at&eacute; a mais antiga.<b> </b></font></div></td>
						</tr>
		  <tr bgcolor="#EEEEEE"> 
			<td colspan="4"><div align="left"><font size="2" face="tahoma"><b>* Curso 
			  1</b></font></div></td>
						</tr>
		  <tr> 
			<td width="30%" bgcolor="#ACACAC"><div align="left"><font size="2" face="tahoma">Grau 
			  de Forma&ccedil;&atilde;o:</font></div></td>
						  <td width="25%" bgcolor="#EEEEEE"><div align="left"><font size="2" face="tahoma">
							<select name="curso1_grau" id="curso1_grau" >
							  <option selected></option>
							  <option value="Graduação">Graduação</option>
							  <option value="Pós-Graduação">Pós-Graduação</option>
							  <option value="MBA">MBA</option>
							  <option value="Mestrado">Mestrado</option>
							  <option value="Doutorado">Doutorado</option>
							  <option value="Pós Doutorado">Pós Doutorado</option>
							  <option value="Livre Docência">Livre Docência</option>
							  <option value="Técnico">Técnico</option>
							  <option value="Ensino Médio">Ensino Médio</option>
							  </select>
							</font></div></td>
						  <td width="20%" bgcolor="#ACACAC"><div align="left"><font size="2" face="tahoma">Curso:</font></div></td>
						  <td bgcolor="#EEEEEE"><div align="left"><font size="2" face="tahoma"> 
							<input name="curso1_curso" type="text" id="curso1_curso" size="20">
							</font></div></td>
						</tr>
		  
		  <tr> 
			<td width="30%" bgcolor="#ACACAC"><div align="left"><font size="2" face="tahoma">In&iacute;cio:</font></div></td>
						  <td width="25%" bgcolor="#EEEEEE"><div align="left"><font size="2" face="tahoma"> 
							<select name="curso1_mesinicio" id="curso1_mesinicio" >
							  <option selected></option>
							  <option value="1">1</option>
							  <option value="2">2</option>
							  
							  <option value="3">3</option>
							  <option value="4">4</option>
							  <option value="5">5</option>
							  <option value="6">6</option>
							  <option value="7">7</option>
							  <option value="8">8</option>
							  
							  <option value="9">9</option>
							  <option value="10">10</option>
							  <option value="11">11</option>
							  <option value="12">12</option>
							  </select>
							/ 
							<select name="curso1_anoinicio" id="curso1_anoinicio" >
							  
							  <option selected></option>
							  <option value="1940">1940</option>
							  <option value="1941">1941</option>
							  <option value="1942">1942</option>
							  <option value="1943">1943</option>
							  <option value="1944">1944</option>
							  
							  <option value="1945">1945</option>
							  <option value="1946">1946</option>
							  <option value="1947">1947</option>
							  <option value="1948">1948</option>
							  <option value="1949">1949</option>
							  <option value="1950">1950</option>
							  
							  <option value="1951">1951</option>
							  <option value="1952">1952</option>
							  <option value="1953">1953</option>
							  <option value="1954">1954</option>
							  <option value="1955">1955</option>
							  <option value="1956">1956</option>
							  
							  <option value="1957">1957</option>
							  <option value="1958">1958</option>
							  <option value="1959">1959</option>
							  <option value="1960">1960</option>
							  <option value="1961">1961</option>
							  <option value="1962">1962</option>
							  
							  <option value="1963">1963</option>
							  <option value="1964">1964</option>
							  <option value="1965">1965</option>
							  <option value="1966">1966</option>
							  <option value="1967">1967</option>
							  <option value="1968">1968</option>
							  
							  <option value="1969">1969</option>
							  <option value="1970">1970</option>
							  <option value="1971">1971</option>
							  <option value="1972">1972</option>
							  <option value="1973">1973</option>
							  <option value="1974">1974</option>
							  
							  <option value="1975">1975</option>
							  <option value="1976">1976</option>
							  <option value="1977">1977</option>
							  <option value="1978">1978</option>
							  <option value="1979">1979</option>
							  <option value="1980">1980</option>
							  
							  <option value="1981">1981</option>
							  <option value="1982">1982</option>
							  <option value="1983">1983</option>
							  <option value="1984">1984</option>
							  <option value="1985">1985</option>
							  <option value="1986">1986</option>
							  
							  <option value="1987">1987</option>
							  <option value="1988">1988</option>
							  <option value="1989">1989</option>
							  <option value="1990">1990</option>
							  <option value="1991">1991</option>
							  <option value="1992">1992</option>
							  
							  <option value="1993">1993</option>
							  <option value="1994">1994</option>
							  <option value="1995">1995</option>
							  <option value="1996">1996</option>
							  <option value="1997">1997</option>
							  <option value="1998">1998</option>
							  
							  <option value="1999">1999</option>
							  <option value="2000">2000</option>
							  <option value="2001">2001</option>
							  <option value="2002">2002</option>
							  <option value="2003">2003</option>
							  <option value="2004">2004</option>							
							  <option value="2005">2005</option>
							  <option value="2006">2006</option>							
							  <option value="2007">2007</option>
							  </select>
							</font></div></td>
						  <td width="20%" bgcolor="#ACACAC"><div align="left"><font size="2" face="tahoma">T&eacute;rmino:</font></div></td>
						  <td bgcolor="#EEEEEE"><div align="left"><font size="2" face="tahoma"> 
							<select name="curso1_mestermino" id="curso1_mestermino" >
							  <option selected> </option>
							  
							  <option value="1">1</option>
							  <option value="2">2</option>
							  <option value="3">3</option>
							  <option value="4">4</option>
							  <option value="5">5</option>
							  <option value="6">6</option>
							  
							  <option value="7">7</option>
							  <option value="8">8</option>
							  <option value="9">9</option>
							  <option value="10">10</option>
							  <option value="11">11</option>
							  <option value="12">12</option>
							  </select>
							/ 
							<select name="curso1_anotermino" id="curso1_anotermino" >
							  <option selected> </option>
							  <option value="1940">1940</option>
							  <option value="1941">1941</option>
							  <option value="1942">1942</option>
							  
							  <option value="1943">1943</option>
							  <option value="1944">1944</option>
							  <option value="1945">1945</option>
							  <option value="1946">1946</option>
							  <option value="1947">1947</option>
							  <option value="1948">1948</option>
							  
							  <option value="1949">1949</option>
							  <option value="1950">1950</option>
							  <option value="1951">1951</option>
							  <option value="1952">1952</option>
							  <option value="1953">1953</option>
							  <option value="1954">1954</option>
							  
							  <option value="1955">1955</option>
							  <option value="1956">1956</option>
							  <option value="1957">1957</option>
							  <option value="1958">1958</option>
							  <option value="1959">1959</option>
							  <option value="1960">1960</option>
							  
							  <option value="1961">1961</option>
							  <option value="1962">1962</option>
							  <option value="1963">1963</option>
							  <option value="1964">1964</option>
							  <option value="1965">1965</option>
							  <option value="1966">1966</option>
							  
							  <option value="1967">1967</option>
							  <option value="1968">1968</option>
							  <option value="1969">1969</option>
							  <option value="1970">1970</option>
							  <option value="1971">1971</option>
							  <option value="1972">1972</option>
							  
							  <option value="1973">1973</option>
							  <option value="1974">1974</option>
							  <option value="1975">1975</option>
							  <option value="1976">1976</option>
							  <option value="1977">1977</option>
							  <option value="1978">1978</option>
							  
							  <option value="1979">1979</option>
							  <option value="1980">1980</option>
							  <option value="1981">1981</option>
							  <option value="1982">1982</option>
							  <option value="1983">1983</option>
							  <option value="1984">1984</option>
							  
							  <option value="1985">1985</option>
							  <option value="1986">1986</option>
							  <option value="1987">1987</option>
							  <option value="1988">1988</option>
							  <option value="1989">1989</option>
							  <option value="1990">1990</option>
							  
							  <option value="1991">1991</option>
							  <option value="1992">1992</option>
							  <option value="1993">1993</option>
							  <option value="1994">1994</option>
							  <option value="1995">1995</option>
							  <option value="1996">1996</option>
							  
							  <option value="1997">1997</option>
							  <option value="1998">1998</option>
							  <option value="1999">1999</option>
							  <option value="2000">2000</option>
							  <option value="2001">2001</option>
							  <option value="2002">2002</option>
							  
							  <option value="2003">2003</option>
							  <option value="2004">2004</option>
							  <option value="2005">2005</option>
							  <option value="2006">2006</option>							
							  <option value="2007">2007</option>
							  </select>
							</font></div></td>
						</tr>
		  <tr> 
			<td width="30%" bgcolor="#ACACAC"><div align="left"><font size="2" face="tahoma">Ano 
			  Atual:</font></div></td>
  
						<td colspan="3" bgcolor="#EEEEEE"><div align="left"><font size="2" face="tahoma"> 
						  <select name="curso1_anoatual" id="curso1_anoatual" >
							<option selected> </option>
							<option value="1">1o Ano</option>
							<option value="2">2o Ano</option>
							<option value="3">3o Ano</option>
							<option value="4">4o Ano</option>
							
							<option value="5">5o Ano</option>
							<option value="6">6o Ano</option>
							<option value="0">Já Formado</option>
							</select>
						  </font></div></td>
						</tr>
		  <tr> 
			<td width="30%" bgcolor="#ACACAC"><div align="left"><font size="2" face="tahoma">Institui&ccedil;&atilde;o:</font></div></td>
  
						<td colspan="3" bgcolor="#EEEEEE"><div align="left"><font size="2" face="tahoma"> 
						  <input name="curso1_inst" type="text" id="curso1_inst">
						  </font></div></td>
						</tr>
		  </table>

quando mando o formulario DEVIDAMENTE PREENCHIDO, ele retorna o erro:


if(!$curso1_grau || !$curso1_curso || !$curso1_mes_inicio || !$curso1_ano_inicio || !$curso1_mes_termino || !$curso1_ano_termino || !$curso1_ano_atual || !$curso1_inst){
		echo	"<script language='JavaScript'>
				alert('Preencha os campos CURSOS corretamente');
				window.location.href='java script:history.go(-1)';
				</script>";
		die();
	}

mas estao todos preenchidos... qual o erro ai? alguem pode me ajudar?
Michel Martins

#2 ccgdbz1

ccgdbz1

    12 Horas

  • Usuários
  • 182 posts
  • Sexo:Não informado
  • Localidade:Floripa - SC

Posted 02/07/2007, 13:30

não consegui achar o erro
porem, darei uma sugestao
faz a parte da validacao em javascript. eh mais rapido/facil

exemplo:

valida(){
if(document.form.curso1_grau.value==""){
alert("preencha o campo curso1_grau");
return false;
}

faz com todos. fica mais facil =]


ou se quiser mesmo fazer com php, tenta usa a funcao empty();

#3 sk15

sk15

    Super Veterano

  • Usuários
  • 2071 posts
  • Sexo:Masculino
  • Localidade:SP - SP

Posted 02/07/2007, 13:44

Seu servidor tem "register_globals" ligado? pois da forma que vc está verificamdo teria que ter ... ele ligado, sem contar que vc esta meio verificado displecentemente o mais corrento era usar as funçãoes "isset() / empty()".

Tente mudar para:
if (
 empty($_POST["curso1_grau"]) || 
 empty($_POST["curso1_curso"]) || 
 empty($_POST["curso1_mes_inicio"]) || 
 empty($_POST["curso1_ano_inicio"]) || 
 empty($_POST["curso1_mes_termino"] )|| 
 empty($_POST["curso1_ano_termino"]) || 
 empty($_POST["curso1_ano_atual"]) || 
 empty($_POST["curso1_inst"])
 ) {
 echo "<script language='JavaScript'>
  alert('Preencha os campos CURSOS corretamente');
  history.go(-1);
  </script>";
  die();
}

Ou faça tudo em JavaScript mesmo como sugerio o "ccgdbz1" ...

Edição feita por: sk15, 02/07/2007, 13:44.


#4 Crab

Crab

    Da paz, mas preparado para Guerra

  • Ex-Admins
  • 2521 posts
  • Sexo:Masculino
  • Localidade:Florianópolis - SC
  • Interesses:Desenvolvimento Gráfico e Web.

Posted 02/07/2007, 14:00

... sem contar que vc esta meio verificado displecentemente o mais corrento era usar as funçãoes "isset() / empty()".


Fala sk15... concordo com tudo que vc falou em relação à Registers e tals ... mas em relação à:

!$_POST['campo']

ou

isset($_POST['campo']) ou ainda !isset($_POST['campo']) (dependendo da ordem da estrutura que eles está fazendo )

ou

empty($_POST['campo']) ou ainda !empty($_POST['campo']) (dependendo da ordem da estrutura que eles está fazendo )


Porque usar apenas !$_POST['campo'] não seria eficiente ??
Semântica ??

:huh:Até mais

#5 michelmfreitas

michelmfreitas

    ...

  • Usuários
  • 310 posts
  • Sexo:Não informado

Posted 02/07/2007, 16:15

Bom pessoal, deu certo aqui...

mas fiquei com uma duvida...

eu usei

extract($_POST)

pra pegar os campos que chegam do form, assim cada um chega com o "name" dele do form...

ai passou, normal, nao deu erro...

mas qual a diferença deles, ja que um verifica se existe (se ! é negação - !$variavel - variavel nao existe ou isset seriam mesma coisa) e se está vazio... pois se estiver vazio ele nao existe usando o extract - sacam?

e ai? tem fundamento essa minha logica ? e porque o outro deu pau...
Michel Martins

#6 Renan Gonçalves

Renan Gonçalves

    Web Developer

  • Usuários
  • 771 posts
  • Sexo:Masculino
  • Localidade:São Paulo, SP
  • Interesses:Programar PHP, Java (e JSP), Javascript (com Ajax, claro), Ruby (on Rails) !

Posted 02/07/2007, 18:50

Afim de curiosidade, aprofundamento, ou sei lá o que, executem o seguinte script:

<?php

error_reporting(E_ALL);

if ($_GET['teste'])
	echo '1 - Variavel teste recebida<br /><br />';

if (isset($_GET['teste']))
	echo '2 - Variavel teste recebida<br /><br />';

if (!empty($_GET['teste']))
	echo '3 - Variavel teste recebida<br /><br />';
	
?>

Tente as combinações:
pagina.php
pagina.php?teste
pagina.php?teste=
pagina.php?teste=0
pagina.php?teste=1

No mínimo curioso com o resultado que você obtem com cada tipo de checagem


[]'s

Renan Gonçalves
renan.saddam@gmail.com
(WebSite / Gmail / orkut / Windows Live! Messenger
)

"Aquele que se define se limita."





1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq