Foros del Web » Programando para Internet » PHP »

No me pasa valores de variables

Estas en el tema de No me pasa valores de variables en el foro de PHP en Foros del Web. Hola amigos Soy novato en php, y tengo el siguiente problema: En un formulario en el que pretendo la recogida de avisos, pero que el ...
  #1 (permalink)  
Antiguo 17/06/2007, 06:19
 
Fecha de Ingreso: junio-2007
Mensajes: 80
Antigüedad: 16 años, 10 meses
Puntos: 1
No me pasa valores de variables

Hola amigos
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=;
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>
El motivo de poner "hidden" en el input, es porque no quiero que el cliente ponga nada en éste campo, ya que como se ve, pongo el valor de la variable, donde están los datos del cliente, y quiero que ése valor sea el que me envíe a result.php
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>"   ;
      

?>
A ver si alguien puede ayudarme, Gracias

Saludos

Última edición por sotadeoros; 17/06/2007 a las 06:28
  #2 (permalink)  
Antiguo 17/06/2007, 07:00
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Re: No me pasa valores de variables

Hola sotadeoros.

Prueba a usar estas variables:
Código PHP:

$_POST
['fecha'
  #3 (permalink)  
Antiguo 17/06/2007, 08:36
 
Fecha de Ingreso: junio-2007
Mensajes: 80
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: No me pasa valores de variables

Gracias por responder
El problema está en esta linea:

Código PHP:
<td><?echo "$nombre[0]"?><input type="hidden" name="compania" value="$nombre[0]"></td>
Según la tengo, me envía como valor de la variable literalmente "$nombre[0]", como si fuera texto, pero yo lo que quiero es que me envíe lo que vale "$nombre[0]", que en éste caso es el nombre del cliente.
Si en el php que recibe el formulario pongo echo "$nombre", me visualiza "$nombre", cuando yo quiero que me ponga en éste caso "Antonio Rodriguez".

Saludos
  #4 (permalink)  
Antiguo 17/06/2007, 09:38
 
Fecha de Ingreso: agosto-2004
Mensajes: 95
Antigüedad: 19 años, 8 meses
Puntos: 2
Re: No me pasa valores de variables

Código PHP:
<td><?echo $nombre[0]?><input type="hidden" name="compania" value=<? echo $nombre[0]?>></td>
__________________
Marco de Arica (Chile)
  #5 (permalink)  
Antiguo 17/06/2007, 10:00
 
Fecha de Ingreso: junio-2007
Mensajes: 80
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: No me pasa valores de variables

Sigue pasandome el literal de lo que pongo.
Ahora me pasa "echo $nombre[0]", es decir me pasa el literal de lo que pongo en value, y yo quiero que me pase el valor.

Saludos
  #6 (permalink)  
Antiguo 17/06/2007, 10:39
Avatar de Bellenger  
Fecha de Ingreso: noviembre-2004
Ubicación: En un lugar del Mundo...
Mensajes: 599
Antigüedad: 19 años, 5 meses
Puntos: 4
Re: No me pasa valores de variables

mejor usa esta sintaxis:
Código PHP:
<td><?php echo $nombre[0];?><input type="hidden" name="compania" value=<?php echo $nombre[0];?>></td>
  #7 (permalink)  
Antiguo 18/06/2007, 01:31
 
Fecha de Ingreso: junio-2007
Mensajes: 80
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: No me pasa valores de variables

Funciona!!

Lo que pasa es que de una forma extraña, es decir, que sólo me pasa el valor de la variable hasta el primer espacio, me explico:
Si una variable tiene el valor "Antonio Sanchez Rodriguez", a la base de datos me sube exclusivamente "Antonio".
A que se puede deber esto?

Saludos
  #8 (permalink)  
Antiguo 18/06/2007, 02:19
Avatar de Yranac  
Fecha de Ingreso: junio-2007
Mensajes: 125
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: No me pasa valores de variables

Porque faltan las comillas, ponlo así
Código PHP:
<td><?php echo $nombre[0];?><input type="hidden" name="compania" value="<?php echo $nombre[0];?>"></td>
y dinos que tal....
  #9 (permalink)  
Antiguo 18/06/2007, 02:52
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Re: No me pasa valores de variables

y las comillas del echo?
ya po los programadores echo "$variable";
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #10 (permalink)  
Antiguo 18/06/2007, 03:22
Avatar de Yranac  
Fecha de Ingreso: junio-2007
Mensajes: 125
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: No me pasa valores de variables

Cita:
Iniciado por kaninox Ver Mensaje
y las comillas del echo?
ya po los programadores echo "$variable";
No, le faltaban las comillas en value="" por eso si habia espacios en blanco solo toma como value la primera palabra.
  #11 (permalink)  
Antiguo 18/06/2007, 04:02
 
Fecha de Ingreso: junio-2007
Mensajes: 80
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: No me pasa valores de variables

Perfecto!!
Muchas gracias,
Es que todo lo que hago yo es en xharbour, y ahora estoy empezando en éste tema, a ver si me voy enterando

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:37.