Soy novato en php, y tengo el siguiente problema:
En un formulario en el que pretendo la recogida de avisos, pero que el cliente solo tiene que rellenar un campo que son la observaciones, ya que el resto son datos que ya tienen asignadas variables que se han generado al entrar el propio cliente con su clave de acceso.
Bien, pues al enviar el formulario al php que se encarga de subir a mysql los datos, no me envía éstos valores, es decir que no llega nada, pongo los dos codigos a ver si se ve mejor mi explicacion así.
Este es el formulario:
Código PHP:
<form action="result.php" method="post">
<head>
<title>Recogida de avisos</title>
<script language="JavaScript">
</script>
</head>
<center>
<p><img src="logoemp.jpg" alt="logo" width="202" height="83"></p>
</center>
<?
include "confsql.php";
$xusuario=strtoupper($usuario);
$consulta="select COMPANIA,CALLE,POBLA,PROVIN,CP,PASSWORD,DESCRIP,NIVEL,CODIGO from t4 where password='".$contra."' and descrip='".$usuario."'";
$query=mysql_query($consulta, $connect);
$nombre=mysql_fetch_row ( $query );
$nfilas=mysql_num_rows($query);
$afecha = gmdate("d-n-y");
$niv=0 ;
if ($nfilas > 0) {
?>
<table align="center" bgcolor="#ffffff" border="0"
width="85%">
<tbody>
<tr align="none" bgcolor="#00ccff">
<td align="none" width="33%"><font color="#333333"><b>Fecha de Aviso:</font></td>
<td align="none" width="67%"> <fontcolor="#333333">
<?
function createdatearray($date){
$date = date('Ymd',strtotime($date));
$date1[$y] = date('d-m-Y',mktime(0,0,0,date('m'),date('d')-$x,date('Y')));
return $date1;
}
?>
<select size="1" name="dia_f" >
<?
$array_tmp = createdatearray($date);
foreach($array_tmp as $v)
{
echo "<option select>".$v."<br></option>\n";
}
echo "</select>";
?>
</font size="8"></td>
</tr>
<tr bgcolor="#00ccff">
<td align="none" width="33%"><font
color="#333333"><b>Fecha de Recogida:</font></td>
<td width="67%"><font color="#333333">
<?
function createdatearray2($date2){
$date2 = date('Ymd',strtotime($date2));
for($x=0; $x<=2; $x++){
$y = $x + 1;
$date3[$y] = date('d-m-Y',mktime(0,0,0,date('m'),date('d')+$x,date('Y')));
}
return $date3;
}
?>
<select size="1" name="dia_v" >
<?
$array_tmp2 = createdatearray2($date2);
foreach($array_tmp2 as $v2)
{
echo "<option select>".$v2."<br></option>\n";
}
echo "</select>";
?>
</font></td>
</tr>
<tr bgcolor="#00ccff">
<td align="none" height="17" width="33%"><font
color="#333333"><b>Nombre:</b></font></td>
<td><?echo "$nombre[0]"?><input type="hidden" name="compania" value="$nombre[0]"></td>
</tr>
<tr bgcolor="#00ccff">
<td align="none" height="17" width="33%"><font
color="#333333"><b>Dirección:</b></font></td>
<td><?echo"$nombre[1]"?><input type="hidden" name="calle" value="$nombre[1]"></td>
</tr>
<tr bgcolor="#00ccff">
<td align="none" height="12" width="33%"><font
color="#333333"><b>Ciudad:</b></font></td>
<td><?echo $nombre[2]?><input type="hidden" name="poblacion"></td>
</tr>
<tr bgcolor="#00ccff">
<td align="none" height="16" width="33%"><font
color="#333333"><b>Código Postal:</b></font></td>
<td><?echo $nombre[4]?><input type="hidden" name="cp"></td>
</tr>
<tr bgcolor="#00ccff">
<td align="none" height="16" width="33%"><font
color="#333333"><b>Provincia:</b></font></td>
<td><?echo $nombre[3]?><input type="hidden" name="provincia"></td></tr>
<tr bgcolor="#00ccff">
<td colspan="2" align="none" height="21">
<font color="#333333"><b>Observaciones:</font></td>
</tr>
<tr bgcolor="#00ccff">
<td colspan="2" align="none" height="109">
<p> <font color="#333333"> <textarea
name="COMENTARIO" rows="5" cols="53"></textarea></font></p>
</td>
</tr>
</tbody>
</table>
<p align="center">
<input type="submit" value="click para enviar"/>
</p>
<p align="center"><font color="#FF0000">ESTA OPCION NO
FUNCIONA TODAVIA</font></p>
<p> </p>
<?
}else{
echo "<p align='center'>Error. Sus datos no está en la base de datos.</p>";
echo "<META HTTP-EQUIV=REFRESH CONTENT='2; URL=index.php'>";
}
?>
</form>
Y este es el que se encarga de subir a Mysql, y al que no llegan los valores de las variables, que se llama result.php
Código PHP:
<title>Cargando datos</title>
<script language="JavaScript" type="text/javascript">
<!--
window.opener = self;
// -->
</script>
<?php
set_time_limit(500);
include "confsql.php";
//include "cabecera.htm";
$fecha=DATE("y.m.d") ;
$hora =DATE("H:i:s") ;
mysql_query ("DROP TABLE IF EXISTS recogidas;",$connect);
$sql = "CREATE TABLE recogidas (";
$sql .= "FECHA DATE ,";
$sql .= "HORA varchar(8) ,";
$sql .= "COMPANIA varchar(35) ,";
$sql .= "CALLE varchar(40) ,";
$sql .= "POBLA varchar(24) ,";
$sql .= "PROVIN varchar(23) ,";
$sql .= "CODIGO varchar(8) ,";
$sql .= "COMENTARIO varchar(100))";
include "comp.php";
echo "<body onload=setTimeout('close()',60000)>" ;
echo "<p align='center'><font face='Verdana' size='4' color='red'>Metiendo datos en Avisos de Recogidas</p>";
$result = mysql_query($sql);
mysql_query ("INSERT INTO recogidas ( FECHA ,HORA,COMPANIA,CALLE,POBLA,PROVIN,CODIGO,COMENTARIO ) VALUES ('$fecha' ,'$hora','$compania','$calle','$poblacion','$provincia','$contra','$comentario' );" , $connect);
echo "<center><font color='Red' face='Arial'>HEMOS RECIBIDO SU AVISO DE RECOGIDAS, GRACIAS </font></center>";
echo "<META HTTP-EQUIV=REFRESH CONTENT='2; URL=http:\\index.php'>";
echo "</body>" ;
?>
Saludos