Buenas soy un supernovato en php, pero poco a poco he ido creando una pagina, pero he encontrado el siguiente error
con el que llevo tres dias y no he conseguido quitarlo:
Notice: Undefined index: fecha in c:\archivos de programa\easyphp1-8\www\noticias.php on line 20
He probado con if(isset) cambiando las register globals, pero no se si lo hago bien o es otro error, el caso es que tengo que entregar la practica y no se donde piillarla
Os adjunto el codigo por si me podeis echar una mano:
<?php
session_start();
if (!$_SESSION['usuario']|!$_SESSION['passw'])
{
die ("Usuario no válido");
}
?>
<html>
<head>
<body bgcolor="#FFFFFF">
<title> Noticias </title>
<?php
// ****************** NOTICIAS.PHP ***********************
// recoge la fecha enviada por el mismo cuando se pide un
// dia concreto
$fecha_enviada = $_POST["fecha"];
$idseccion = $_GET["seccion"];
// si en vez de ser llamda por portada la llamada se hace desde
// ella misma este campo será igual a cero
if ($idseccion == 0)
{
// entonces recogera la seccion que la ha llamado
$idseccion = $_POST["seccion_actual"];
}
$con = mysql_connect ("localhost","root","")
or die ("No conexion bd");
$resp = mysql_select_db("dbpract2ro")
or die ("No conexion");
// escoge el nombre, decripcion y color de la seccion
$sqlquery_2 = "SELECT * FROM secciones WHERE idsecciones= $idseccion;";
$queryresult_2 = mysql_query ($sqlquery_2)
or die ("Error");
if ($row = mysql_fetch_array ($queryresult_2))
{
$nombre = $row["nombre"];
$descripcion = $row["descripcion"];
}
?>
<style type="text/css">
<!--
-->
</style></head>
<body bgcolor="<?php echo $color; ?>">
<font size = 5 face = "times new roman" color = "#00000" >
<br><br>
<a name="ARRIBA"></a>
<?
//
echo " <br><br><br><br> ";
echo "<CENTER><FONT size= 10 color = #00000><STRONG> " .$nombre ."</STRONG></FONT></CENTER>";
echo " <br> ";
echo "<CENTER><FONT size= 5 color = #00000><EM> " .$descripcion ."</EM></FONT></CENTER>";
echo " <br><br> ";
// porcion de codigo que introduce las imagenes dependiendo
// del tipo de seccion que se solicite
// el problema de este fragmento de codigo es que
// no es totalmente dinámico. se podría implementar una mejora
// en las tablas añadiendo un campo imagen que contenga el nombre
// de esta
if ($idseccion == 3)
{ // si se trata de internacional
echo "<CENTER><IMG src=\"world.jpg\" width = 30% height = 30%></CENTER>";
echo "<br><br>";
}
else if ($idseccion == 4)
{ // si se trata de nacional
echo "<CENTER><IMG src=\"spain.jpg\" width = 30% height = 30%></CENTER>";
echo "<br><br>";
}
else if ($idseccion == 5)
{ // si se trata de local
echo "<CENTER><IMG src=\"cervantes.jpg\" ></CENTER>";
echo "<br><br>";
}
else if ($idseccion == 6)
{ // si se trata de sociedad
echo "<CENTER><IMG src=\"sociedad.jpg\" ></CENTER>";
echo "<br><br>";
}
else if ($idseccion == 7)
{ // si se trata de europa
echo "<CENTER><IMG src=\"WORLD.jpg\" width = 30% height = 30%></CENTER>";
echo "<br><br>";
}
//enlace hacia la etiqueta abajo definida al final del documento
echo "<CENTER><a href=\"#ABAJO\"><FONT size=5 color=#99000><EM>Ir abajo</EM></FONT></a></CENTER>";
echo "<br><br>";
// consultas sobre la base de datos
$sqlquery = "SELECT * FROM noticias WHERE idsecciones = $idseccion ORDER BY idprioridad;";
$queryresult = mysql_query ($sqlquery)
or die ("Error");
if ($fecha_enviada == 0)
{
// si la llamada a este script se realiza desde la portada (portada.php)
// no se pasa ningun parametro de fecha. Lo que se hace es cargar en esta variable
// la fecha del dia para que imprima las noticias del dia
$fecha_enviada = Date ("Y-m-d");
echo "<CENTER><FONT size= 6 color = #00000><STRONG> Noticias de hoy </STRONG></FONT></CENTER>";
}
else
{
echo "<CENTER><FONT size= 6 color = #00000><STRONG> Noticias del dia " .$fecha_enviada ."</STRONG></FONT></CENTER>";
}
$contador = 0;
echo "<br>";
while ($row = mysql_fetch_array ($queryresult))
{
$idsecciones = $row["idsecciones"];
$idprioridad = $row["idprioridad"];
$titulo = $row["titulo"];
$texto = $row["texto"];
$resumen = $row["resumen"];
$fecha = $row["fecha"];
$adicional = $row["adicional"];
if ($fecha_enviada == $fecha)
{
echo " <br>";
echo "<CENTER><TABLE width=800 border=2 cellspacing=2>";
echo "<TR><TD><FONT size = 5 color = #00000> ". $titulo . " </FONT></TD></TR>";
//echo " <br>";
echo "<TR><TD><FONT size = 4 color = #00000> ". $resumen ." </FONT></TD></TR>";
//echo " <br>";
echo "<TR><TD><FONT size = 3 color = #00000> ". $texto . " </FONT></TD></TR>";
//echo " <br>";
echo "</TABLE></CENTER>";
$contador = 1;
}
}
if ($contador == 0) // si contador se matiene a cero no existe en la tabla ninguna entrada para ese dia
{
echo "<CENTER> NO HAY NOTICIAS DISPONIBLES PARA LA FECHA DE HOY </CENTER>";
}
?>
<br><br>
<CENTER><FONT size = 5 color = "#99000" face = "courier sans MS">(introducir en formato aaaa-mm-dd)</FONT></CENTER>
<CENTER>
<form action = "noticias.php" method="POST">
<input type = "text" name = "fecha">
<input type = "submit" name = "noticias locales">
<input type = "hidden" name = "seccion_actual" value ="<?php echo $idseccion ?>" >
</form></CENTER>
<br><br>
<CENTER><a href="portada.php"><FONT size=4 color=#99000>PORTADA</FONT></a></CENTER>
<br>
<?php
// codigo php que crea los enlaces a las secciones hijas
// si no hay secciones hijas no ocurre ningun evento
$sqlquery = "SELECT * FROM secciones WHERE idpadre = $idseccion ORDER BY idsecciones;";
$queryresult = mysql_query ($sqlquery)
or die ("Error");
while ($row = mysql_fetch_array ($queryresult))
{
$nombre_hijo = $row["nombre"];
$idsecciones = $row["idsecciones"];
print (" <CENTER><a href=\"noticias.php?seccion=$idsecciones\"><FONT size=4 color=#99000>$nombre_hijo</FONT></a></CENTER>");
}
?>
<a name="ABAJO"></a>
<br><br><br><br>
<CENTER><a href="#ARRIBA"><FONT size=5 color=#99000><EM>volver arriba</EM></FONT></a></CENTER>
<br><br>
</body>
</html>
MUCHISIMAS GRACIAS