Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-06-2007
Ades_reload Ades_reload is offline
Registrado
 
Registrado: jun 2007
Posts: 5
Poder: 0
Ades_reload Va por buen camino
Problema con el $_POST Y $_GET

Ola a todos, quisiera ver si podeis ayudarme por que ya nose que hacer, el problemas es el siguiente:
A continuación os mostrare el codigo, de una pagina php que es un formulario, creo que no tiene mucha complicación, ya que es largo, pero simple

Código PHP:
                                                       <form action="insert_pedido.php" method="get" name="caja" id="caja" onclick="validarform()" enctype="multipart/form-data">
                                                         <table width="677" border="1" cellpadding="3" cellspacing="0" bordercolor="#FFFF66">
                                                           <tr bgcolor="#000000" class="Estilo7">
                                                             <td height="45" colspan="4" class="Estilo7">Por favor, rellene el siguiente formulario para finalizar su compra.</td>
                                                           </tr>
                                                           <tr bgcolor="#000000" class="Estilo7">
                                                             <td class="Estilo7">dni</td>
                                                             <td><input name="dni" type="text" id="dni" value="145465" maxlength="8"></td>
                                                             <td rowspan="12" colspan="2" width="313">
                                                               <p class="Estilo7">Le rogamos que sea cuidadoso en la cumplimentaci&oacute;n de los datos solicitados.</p>
                                                               <p class="Estilo7">Los campos marcados con * son obligatorios.</p>
                                                               <p class="Estilo7">Si escoge pagar con transferencia debe hacerla a la cuenta 3418-3216-90-12312123. Indicando el n&uacute;mero de pedido (se le facilitar&aacute; al confirmar la compra).</p>
                                                               <p class="Estilo7">Si escoge pagar con tal&oacute;n bancario debe remitirlo a la direcci&oacute;n indicada en nuestra web. Debe indicarnos su n&uacute;mero de pedido (se le facilitar&aacute; al confirmar la compra).</p>
                                                               <p class="Estilo7">En caso de pago por transferencia o tal&oacute;n, su pedido no se tramitar&aacute; hasta que VideoWeb no haya recibido conformidad por parte del banco de la transferencia o el tal&oacute;n.</p>
                                                               <p class="Estilo7">Los gastos de env&iacute;o son los siguintes: </p>
                                                               <ul>
                                                                 <blockquote>
                                                                   <p class="Estilo7">Ordinario 1.5 &euro;.</p>
                                                                   <p class="Estilo7">Urgente 3.5 &euro;.</p>
                                                                   <p class="Estilo7">Agencia de transportes 5.5 &euro; .</p>
                                                                 </blockquote>
                                                               </ul>
                                                               <p class="Estilo7">En caso de pago por contrareembolso a&ntilde;adir 4.5 &euro;.</p>
                                                               <p class="Estilo7">&nbsp;</p></td>
                                                           </tr>
                                                           <tr bgcolor="#000000" class="Estilo7">
                                                             <td width="98" class="Estilo7">Nombre*</td>
                                                             <td width="240"> <b>
                                                               <input type="text" name="nombre" size="40" maxlength="40">
                                                             </b></td>
                                                           </tr>
                                                           <tr bgcolor="#000000" class="Estilo7">
                                                             <td width="98" class="Estilo7">Direcci&oacute;n*</td>
                                                             <td width="240">
                                                               <div align="center" class="Estilo7"><b>
                                                                 <input name="dir" type="text" id="dir" size="40" maxlength="40">
                                                             </b></div></td>
                                                           </tr>
                                                           <tr bgcolor="#000000" class="Estilo7">
                                                             <td width="98" class="Estilo7">Localidad*</td>
                                                             <td width="240"> <b>
                                                               <input name="loc" type="text" id="loc" size="25" maxlength="30">
                                                             </b></td>
                                                           </tr>
                                                           <tr bgcolor="#000000" class="Estilo7">
                                                             <td width="98" class="Estilo7">Provincia*</td>
                                                             <td width="240"><b>
                                                               <input name="pro" type="text" id="pro" size="25" maxlength="12">
                                                             </b></td>
                                                           </tr>
                                                           <tr bgcolor="#000000" class="Estilo7">
                                                             <td width="98" class="Estilo7">C&oacute;digo postal*</td>
                                                             <td width="240"> <b>
                                                               <input name="cp" type="text" id="cp" size="10" maxlength="5">
                                                             </b>                                                        
                                                           </tr>
                                                           <tr bgcolor="#000000" class="Estilo7">
                                                             <td width="98" class="Estilo7">Tel&eacute;fono Movil</td>
                                                             <td width="240"> <b>
                                                               <input name="tlfm" type="text" id="tlfm" size="20" maxlength="9">
                                                             </b>                                                        
                                                           </tr>
                                                           <tr bgcolor="#000000" class="Estilo7">
                                                             <td width="98" class="Estilo7">Tel&eacute;fono Fijo* </td>
                                                             <td width="240"> <b>
                                                               <input name="tlff" type="text" id="tlff" size="20" maxlength="9">
                                                             </b>                                                        
                                                           </tr>
                                                           <tr bgcolor="#000000" class="Estilo7">
                                                             <td width="98" class="Estilo7">Email</td>
                                                             <td width="240">
                                                               <div align="center" class="Estilo7"><b>
                                                                 <input type="text" name="email" size="40" maxlength="40">
                                                               </b> </div>
                                                           </tr>
                                                           <tr bgcolor="#000000" class="Estilo7">
                                                             <td><span class="Estilo7">Tipo*</span></td>
                                                             <td><b>
                                                               <select name="tipo" id="tipo">
                                                                 <option>Mayorista</option>
                                                                 <option>Particular</option>
                                                             </select>
                                                             </b>                                                        
                                                           </tr>
                                                           <tr bgcolor="#000000" class="Estilo7">
                                                             <td class="Estilo7">Forma de pago<b>*</b></td>
                                                             <td><b> <b>
                                                               <select name="forma" id="forma">
                                                                 <option>Contrareembolso</option>
                                                                 <option>Tal&oacute;n bancario</option>
                                                                 <option>Transferencia</option>
                                                             </select>
                                                             </b> </b>                                                        
                                                           </tr>
                                                           <tr bgcolor="#000000" class="Estilo7">
                                                             <td width="98"><span class="Estilo7">Forma de </span><span class="Estilo9">env&iacute;o*</span></td>
                                                             <td width="240"> <b>
                                                               <select name="forma2" id="forma2">
                                                                 <option>Ordinario</option>
                                                                 <option>Urgente</option>
                                                                 <option>Agencia</option>
                                                             </select>
                                                             </b>                                                        
                                                           </tr>
                                                           <tr align="center" valign="middle" bgcolor="#000000" class="Estilo7">
                                                             <td height="89" colspan="4">
                                                               
                                                               <table width="209" border="0" cellpadding="0" cellspacing="3">
                                                                 <tr>
                                                                   <td width="434" align="center" valign="middle" class="Estilo7"><a href="insert_pedido.php"><input name="imageField2" type="image" src="images/aceptar.png" align="middle" border="0"></a></td>
                                                                   <td width="200" class="Estilo3"><div align="center"> <img src="images/cancelar.png" alt="Cancelar" width="100" height="45"> </div></td>
                                                                 </tr>
                                                             </table></td>
                                                           </tr>
                                                         </table>
                                                         
                                                         <? }// Cierra el ELSE del IF de comprobacion de carro vacio ?>
                                                       </form>
                                                     </div></td>
              </tr>
                                                </table>
</body>
</html>
Bueno, esto me funciona bien, hasta el momento en el cual envio el formulario al siguiente archivo php

Código PHP:
<? session_start(); ?>

<body leftmargin="0" topmargin="0" rightmargin="0" bottommargin="0" marginwidth="0" marginheight="0">
<table width="131%"  height="163%" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#000000">
<tr>
  <td width="1127" height="100%" valign="top" bgcolor="#000000">
<table width="1024" height="562%" border="0" align="left" cellpadding="0" cellspacing="0" bgcolor="#000000">
    <tr>
      <td width="1032" height="569" valign="top" bgcolor="#000000"><table width="1015" border="0" align="center" cellpadding="0" cellspacing="0">
                                                   <tr>
                                                     <td width="318" align="center" valign="top"><a href="nosotros.php"><img src="images/logo02%5B1%5Dmodificado.JPG" alt="Paladares De Lalpujarra" width="318" height="459" border="0"></a></td>
                                                     <td width="827" height="475" align="left" valign="top"><div align="top" class="Estilo3">
                                                       <p>
                                                         <?

[color=Black]AQUI ES DONDE TENGO MI PROBLEMANO CONSIGO QUE ME RECONOZCA LA VARIABLE $dni QUE VIENE DEL FORMULARIO ANTERIORLO E INTENTADO TODO YANOSE SI EL PROBLEMA VIENE DE ARCHIVO ANTERIO O ES DE ESTELE E PUESTO EL $_POST DE TODAS LAS MANERAS POSIBLESESPERO QUE ALGUIEN ENCUENTRE LA SOLUCI&#211;N Y PONGA COMO ESTARIA CORRECTO EL CODIGO, GRACIAS POR TODO....

 
$dblink=mysql_connect('localhost','root''uni');
    
  
$resultado=mysql_db_query("paladares""SELECT dni FROM clientes WHERE dni = '$dni'");
  
$existe=mysql_num_rows($resultado)
  
  if(
$existe>0){
      
$resultado3=mysql_db_query("paladares","UPDATE pedidos SET codicli=
                                (SELECT clientes.codicli FROM clientes, pedidos WHERE clientes.sesionid = pedidos.sesionid)"
);
  }else{
  
$resultado2=mysql_db_query("paladares","INSERT INTO clientes 
                                           (dni,nombre,dir,loc,pro,cp,
                                                  tlff,tlfm,email,tipo,
                                                  forma,sesionid)    
                                           VALUES('
$dni',
                                                  '
$nombre','$dir','$loc','$pro','$cp',
                                                  '
$tlff','$tflm','$email','$tipo',
                                                  '
$forma','$PHPSESSID')");
    
$resultado3=mysql_db_query("paladares","UPDATE pedidos SET codicli=
                                (SELECT clientes.codicli FROM clientes, pedidos WHERE clientes.sesionid = pedidos.sesionid), 
                                 precio= (SELECT productos.precio FROM productos, pedidos WHERE productos.codipro = pedidos.codipro"
);
                                                  
    }
    
$resultado5=mysql_db_query("paladares","SELECT * 
                                           FROM pedidos 
                                           WHERE sesionid='
$PHPSESSID'");

Última edición por Ades_reload fecha: 05-06-2007 a las 10:34:30.
Responder Con Cita
  #2  
Antiguo 04-06-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Bienvenido al ClubDelphi. Por favor, te pediría que editaras tu mensaje. Puedes incluir el código fuente entre etiquetas de modo que este sea más legible. No escribas en mayúsculas y, en todo caso, lee la guía de estilo de los Foros.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 04-06-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Yo pediría que no escribas en rojo, es sumamente difícil de leer.

En cuanto a tu problema, veo que lo has titulado "Problema con el $_POST Y $_GET" pero no veo no $_POST ni $_GET en ninguna parte del código; por el contrerio, sólo veo referencias a $dni siendo que, justamente, lo que necesitas es $_POST['dni'] o $_GET['dni'] según el método que se use en el formulario (POST o GET).

// Saludos
Responder Con Cita
  #4  
Antiguo 04-06-2007
semptrion semptrion is offline
Miembro
 
Registrado: abr 2007
Posts: 112
Poder: 18
semptrion Va por buen camino
Si es un problema de get

Lo que sucede es que no has recuperado el valor de la variable enviada por el formulario. Te recomiendo algo así como:
Código PHP:
$dni $_GET['dni'];
 
$resultado=mysql_db_query("paladares""SELECT dni FROM clientes WHERE dni = '$dni'"); 
El formulario emplea method="get" por lo que recuperarás el valor del array $_GET. Si fuese method="post" entonces rcuperarías del array $_POST

Espero te sirva.

Un abrazo y suerte.
Responder Con Cita
  #5  
Antiguo 04-06-2007
Mick Mick is offline
Miembro
 
Registrado: may 2003
Posts: 405
Poder: 22
Mick Va por buen camino
Otra opcion es usar $_REQUEST, en este array se guardan todas las variables recibidas sea haciendo un GET o un POST.

Saludos
Responder Con Cita
  #6  
Antiguo 04-06-2007
Ades_reload Ades_reload is offline
Registrado
 
Registrado: jun 2007
Posts: 5
Poder: 0
Ades_reload Va por buen camino
lo he probado

Ya probe con la opcion de $dni = $_GET['dni']; pero me sigue sin coger el valor de la variable y tambien lo probe con el $_POST pero aun así nada, y ya me pierdo de hacer cosas, probare con el $_REQUEST, si alguno quiere que le envie el archivo php para que lo mire mejor, agregenme a ades_reload@hotmail.com, gracias
Responder Con Cita
  #7  
Antiguo 04-06-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
(...) si alguno quiere que le envie el archivo php para que lo mire mejor,
Eso, eso, porque tú editar el mensaje para añadir etiquetas al código fuente ni por pienso...
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #8  
Antiguo 04-06-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
A ver, sin ánimo de ofender, recibir y procesar la información de un formulario con PHP es algo muy básico. Claro que nadie nace sabiendo, pero tampoco nadie nace hablando tres lenguas. ¿Por qué mejor, en lugar de entender qué pasa con ese código kilométrico, no intentas primero partir de un formulario mucho más sencillo para no enredarte con otras cosas que no vienen al caso?

Por ejemplo, parte de aquí:

Código:
<form method='post' action='miscript.php'>
<input type='text' name='nombre'>
<input type='submit'>
</form>
Y en mi_script.php pones:

Código PHP:
<pre>
print_r($_POST);
</
pre
Esto, para por lo menos darte cuenta de si estás recibiendo bien los datos. Si no es así, entonces quizá no esté bien instalado el php. En caso contrario, partes de ahí, experimentando con formularios un poco más complejos. Ya que sientas que dominas el tema, vuelves al código que presentas.

// Saludos
Responder Con Cita
  #9  
Antiguo 05-06-2007
Ades_reload Ades_reload is offline
Registrado
 
Registrado: jun 2007
Posts: 5
Poder: 0
Ades_reload Va por buen camino
E probado los dos ejemplos que me has dado, y no me funcionan tampoco, que puedo hacer?
Responder Con Cita
  #10  
Antiguo 05-06-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

No puedo creer que probaras lo que dice Román dos mensajes más arriba y no te funcionase.

Por otro lado, en unos foros como estos, decir que algo no funciona... es no decir nada.

Tienes que ser más descriptivo y explicar qué es lo que no te funciona, qué mensaje de error recibes, etc.

De otro modo tratar de ayudarte sería como dar palos de ciego y esperar a que sonara la flauta.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #11  
Antiguo 05-06-2007
semptrion semptrion is offline
Miembro
 
Registrado: abr 2007
Posts: 112
Poder: 18
semptrion Va por buen camino
Si me permites evaluar tu código...

Me gustaría con todo gusto darte una mano. Por favor, envíame los programas que estás utilizando y así poder revisarlos.

Mi dirección es alejandro@redcetus.com
Responder Con Cita
  #12  
Antiguo 05-06-2007
Avatar de D-MO
D-MO D-MO is offline
Miembro
 
Registrado: ago 2005
Ubicación: root@debian:/#
Posts: 1.042
Poder: 20
D-MO Va por buen camino
Cita:
Empezado por roman
...Y en mi_script.php pones:...
Ejem, no habrás querido escribir miscript.php.

Cita:
E probado los dos ejemplos que me has dado, y no me funcionan tampoco, que puedo hacer?
Pero te funciona siquiera un "echo 'algo';"?

que tal si tu servidor no està "muy bueno"?

Pon mas detalles, es mas fácil así poder ayudarte.
Responder Con Cita
  #13  
Antiguo 05-06-2007
Avatar de D-MO
D-MO D-MO is offline
Miembro
 
Registrado: ago 2005
Ubicación: root@debian:/#
Posts: 1.042
Poder: 20
D-MO Va por buen camino
Cita:
Empezado por roman
Código PHP:
<pre>
print_r($_POST);
</
pre
Ejem..., perdoname roman, pero, ¿no deberìa ir así?:
Código PHP:
echo '<pre>';
 
print_r($_POST);
echo 
'</pre>'
o para hacerlo mas corto:
Código PHP:
echo '<pre>'.print_r($_POST,1).'</pre>'
Saludos.

Última edición por D-MO fecha: 05-06-2007 a las 17:23:16.
Responder Con Cita
  #14  
Antiguo 05-06-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Pues sí Darwin, tienes razón, lo que quería poner era:

Código PHP:
<pre>
<?
print_r
($_POST);
?>
</pre>
// Saludos
Responder Con Cita
  #15  
Antiguo 08-06-2007
Ades_reload Ades_reload is offline
Registrado
 
Registrado: jun 2007
Posts: 5
Poder: 0
Ades_reload Va por buen camino
ola, gente, perdon por no contestar estos dias, pero estaba de corpus y no e tenido trabajo, el lunes os envio todo en cuanto pruebe la ultima opcion que me envias, gracas
Responder Con Cita
  #16  
Antiguo 11-06-2007
Ades_reload Ades_reload is offline
Registrado
 
Registrado: jun 2007
Posts: 5
Poder: 0
Ades_reload Va por buen camino
Buenas e probado con la ultima opción que me habeis dado y el resultado es nada, en la pantalla no me aparece ningun dato y no me lo muestra
Responder Con Cita
  #17  
Antiguo 11-06-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

No puede ser. Si Apache está instalado y PHP está instalado y tenemos un solo Script como este:

Código PHP:

<?php
// script.php


if(isset($_POST['nombre'])){
  echo 
$_POST['nombre'];
}

?>

<html>
 <body>
  <form action="script.php" method="post">
   <input type="text" name="nombre" id="nombre" />
   <input type="submit" value="Enviar el formulario" />
  </form>
 </body>
</html>
... digo que no puede ser que no se muestre el "nombre" una vez enviado el formulario. Si escribieras algo como esto:

Código PHP:

<?php
// script.php

print_r($_POST);

/* ... */

?>
Como mímino deberías obtener una salida tal que esta:

Código:
Array()
O sea, la impresión de un "Array" vacío. En el momento en que el "POST" contuviera el "nombre" que enviamos...

Código:
Array(
  'nombre' => 'aquí el nombre'
)
Algo más o menos así deberías obtener como salida. Y si una cosa "tan sencilla" falla... no sé qué demonios puede estar pasando.

¿Está PHP instalado? ¿Lo comprobaste? ¿No aparece ningún mensaje de error por ningún lado? ¿Estás utilizando la función "error_reporting()"? Asegúrate de que muestras cualquier tipo de error que se produzca. Y no sé ahora mismo qué más puede decirse.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Paso de Array en variable $_POST mieltxo PHP 4 16-06-2005 08:22:51


La franja horaria es GMT +2. Ahora son las 04:16:22.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi