Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/09/2008, 05:54
NSNCxxxx
 
Fecha de Ingreso: agosto-2008
Mensajes: 30
Antigüedad: 15 años, 8 meses
Puntos: 0
Detectar el error noticia

Hola no se cual es el error, el problema es que no me verifica si esta vacio los campos de texto, lo mas gracioso que probando desde una copia de la pagina noticia, cuando esta llama a la pag. validacion_noticia , esta detecta los campos vacios y me lo direcciona con los errores para q corriga a la pagina noticia que es la original, ahora desde esta directamente lo guarda apesar de q no corregui nada, ya me canse de probar haber si ustedes me ayuda, quiero cargar una noticia, este es el codigo
<?
//Inicias la sesion
session_name('Noticia');
session_start();
$datosN=$_SESSION['formN'];
unset($_SESSION['formN']);
?>
<!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=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
<link href="hojasEstilos/estilo.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
.Estilo4 {color: #000063}
.Estilo5 {font-weight: bold; color: #0000FF;}
-->
</style>
</head>

<body>
<div id="form_noticia">
<form method='post' id='form_not' name='form_noticia' action='validar_noticia.php'>
<table width="600px" height="655" border="0" align="center" cellpadding="6">
<th colspan="4" align="center" class="Estilo5">Noticia</th>
<tr>
<td width="102" height="27">
<span class="Estilo4">Titulo</span>
</td>
<td colspan="3" align="left">
<label>
<input name="texTitulo" type="text" maxlength='255' value="<? echo $datosN['texTitulo']; ?> "/>
</label>
<?
echo "<span class='LetraError'>";
echo $_SESSION['error_titulo'];
echo "</span>";
?>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td colspan="3" align="left">
El titulo no puede exceder de 255 caracteres
</td>
</tr>
<tr>
<td>
<span class="Estilo4">Categoria</span>
</td>
<td colspan="3" align="left">
<label>
<select name="selectCateg" size="1" >
<?
//conexion
$sql="SELECT * FROM categorias";
$result=mysql_query($sql) or die("Error en $consulta <br>MySQL dice: ".mysql_error());
while ($row=mysql_fetch_array($result))
{
$categ=$row["categ_nom"];
$categ_id=$row["categ_id"];
if($datosN['selectCateg'] == $categ_id)
{
echo '<option value='.$categ_id.' selected >'.$categ.'</option>';
}
else
echo '<option value='.$categ_id.' >'.$categ.'</option>';
}

?>
</select>
</label>
</td>
</tr>
<tr>
<td class="Estilo4">Autor</td>
<td colspan="3" align="left">
<label>
<select name="selectAutor">
<?
//la conexion
$sql="SELECT * FROM periodistas";
$result=mysql_query($sql) or die("Error en $consulta <br>MySQL dice: ".mysql_error());
while ($row=mysql_fetch_array($result))
{
$perio=$row["perio_apel"]."&nbsp&nbsp".$row["perio_nom"];
$perio_id=$row["perio_id"];
if($datosN['selectAutor']== $perio_id)
{
echo '<option value='.$perio_id.' selected >'.$perio.'</option>';
}
else
echo '<option value='.$perio_id.' >'.$perio.'</option>';
}
?>
</select>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="100" height="23">
<param name="BGCOLOR" value="" />
<param name="movie" value="button2.swf" />
<param name="quality" value="high" />
<embed src="button2.swf" width="100" height="23" quality="high" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" ></embed>
</object>
</label>
</td>
</tr>
<tr>
<td colspan='4'>
<fieldset>
<legend>Copete </legend>
El copete no debe exceder de 400 caracteres
<div align="center">
<label>
<textarea name='taCopete'cols='40' rows='3' wrap='off' maxlength='400' class="area_texto">
<? echo $datosN['taCopete'];?>
</textarea>
</label>
</div>
</fieldset>
<?
echo "<span class='LetraError'>";
echo $_SESSION['error_copete'];
echo "</span>" ;
?>

</td>
</tr>
<tr>
<td height='167' colspan='4'>
<fieldset>
<legend>Texto</legend>
<div align="center">
<label>
<textarea name='taTexto' cols='40' rows='6' class='area_texto' >
<? echo $datosN['taTexto']; ?>
</textarea>
</label>
</div>
</fieldset>
<?
echo "<span class='LetraError'>";
echo $_SESSION['error_texto'];
echo "</span>";
?>
</td>
</tr>
<tr>
<td height="37"><span class="Estilo4">Tapa</span></td>
<td width="114" align="left">
<p>
<input name="rbTapa" type="radio" value="S" />
Si
<input name="rbTapa" type="radio" value="N" checked='checked'/>
no
</p>
</td>
<td>
<span class="Estilo4">Principal</span></td>
<td align="left">
<input name="rbPrim" type="radio" value="S" />
Si
<input name="rbPrim" type="radio" value="N" checked='checked'/>
No
</td>
</tr>
<tr>
<td>Foto</td>
<td colspan="3" align="left">
<label>
<input type="file" name="filenoticia" />
</label>
</td>
</tr>
<tr>
<td colspan="4">
<label>
<input type="submit" name="SubmitN" value="Guardar" />
</label>
</td>
</tr>
</table>
</form>
</div>
</body>
</html>



/*********************/
<?
//include_once("funcionesenphp/funciones.php");
function validar_cantCaracteres($cadena,&$error,$max_caract er,$texto)

{
if(strlen($cadena)<=$max_caracter && strlen($cadena)>0)
{
$error="";
}
else
{
$error=$texto." no debe exceder ".$max_caracter." caracteres ";
}
return $error;

}


function campo_vacio($campo,&$error,$texto)

{
if(strlen($campo)==0)
{
$error=" Introduzca ".$texto;
}
else
{
$error="";
}
return $error;

}

session_name('Noticia');
session_start();
$_SESSION['formN']=$_POST;
$_SESSION['listo']=0;

if(!empty($_SESSION['formN']['SubmitN']) || $_SESSION['formN']['SubmitN']=="Guardar")
{
$campo=$_SESSION['formN']['taCopete'];
$error="";
$texto=" El campo COPETE";

if(campo_vacio($_SESSION['formN']['taCopete'],$error,$texto)=="")
{
if(validar_cantCaracteres($_SESSION['formN']['taCopete'],$error,400,$texto)!="")
{
$_SESSION['listo']=1;
}
}
else
{
$_SESSION['listo']=1;
}

$_SESSION['error_copete']=$error;

//************************************************
$campo=$_SESSION['formN']['taTexto'];
$error="";
$texto=" El campo TEXTO ";
if(campo_vacio($campo,$error,$texto)!="")
{
$_SESSION['listo']=1;
}

$_SESSION['error_texto']=$error;
//**********************************************
$campo=$_SESSION['formN']['texTitulo'];
$error="";
$texto=" Titulo";

if(campo_vacio($campo,$error,$texto)== "")
{
if(validar_cantCaracteres($campo,$error,255,$texto )!="")
{
$_SESSION['listo']=1;
}
}
else
{
$_SESSION['listo']=1;
}

$_SESSION['error_titulo']=$error;

//************************************************


if($_SESSION['listo']==0)
{
$titulo=$_SESSION['formN']['texTitulo'];
$categoria= $_SESSION['formN']['selectCateg'];
$autor=$_SESSION['formN']['selectAutor'];
$copete=$_SESSION['formN']['taCopete'];
$texto= $_SESSION['formN']['taTexto'];
$tapa= $_SESSION['formN']['rbTapa'];
$principal= $_SESSION['formN']['rbPrim'];
$texto=addslashes(nl2br(htmlentities($texto)));
$copete=addslashes(nl2br(htmlentities($copete)));
$fecha= date("Y/m/d");
$imagen= $_SESSION['formN']['filenoticia'];
//conexion
$sql="INSERT INTO noticias VALUES('',$autor,$categoria,'$fecha','$titulo','$c opete','$texto','$tapa','$principal','$noticia')";
$result=mysql_query($sql) or die("Error en $consulta <br>MySQL dice: ".mysql_error());
if($result)
{
//$_SESSION['array_formN']['taCopete']=$_SESSION['array_formN']['taTexto']=$_SESSION['error_titulo']="";
echo "bien";
}
}
else
{
header("location:noticia.php");
}
}
?>


ayudaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa