Foros del Web » Programando para Internet » PHP »

Problema con formulario

Estas en el tema de Problema con formulario en el foro de PHP en Foros del Web. Hola, tengo un problema con los formularios que empleo en mi web. NO son formularios para enviar correos ni nada por el estilo como he ...
  #1 (permalink)  
Antiguo 23/03/2009, 12:25
 
Fecha de Ingreso: noviembre-2007
Mensajes: 60
Antigüedad: 16 años, 5 meses
Puntos: 0
Problema con formulario

Hola, tengo un problema con los formularios que empleo en mi web.

NO son formularios para enviar correos ni nada por el estilo como he leído anteriormente.

Simplemente tengo un formulario en mi página html con un campo de texto que pide insertar un nombre.

Ese formulario lo envío a una página .php donde recoge ese dato y debe mostrarlo por pantalla. Así de sencillo!

En mi ordenador o servidor local SÍ que funciona. El problema está cuando lo cuelgo en mi dominio, que al intentar pasar ese dato por el formulario no lo coge ni de asomo.

¿Cómo lo soluciono?¿Puede ser un problema que ponga el servidor donde subo la página? He leído por ahí algo de los cgi, pero vamos, para enviar datos simples de un formulario a otra página no creo que haga falta eso.

Saludos y gracias.
  #2 (permalink)  
Antiguo 23/03/2009, 12:29
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 2 meses
Puntos: 15
Respuesta: Problema con formulario

colocale un var_dump () para verificar la variable
o si te marca algun tipo de error muestra cual es gracias! y saludos!
  #3 (permalink)  
Antiguo 23/03/2009, 12:38
Avatar de argy  
Fecha de Ingreso: octubre-2007
Ubicación: Longitud 75º Latitud 18º Sur
Mensajes: 614
Antigüedad: 16 años, 5 meses
Puntos: 18
Respuesta: Problema con formulario

si tu hosting soporta php y tan sencillo código no funciona, entonces lo más probable es que tengas errores en la programación, digo que talvez estás utilizando variables globales, el tag corto de php o algo así que quizás en tu hosting no está habilitado.

porque no nos muestras tu código.
__________________
Software libre para un mundo libre.

Eventualmente en el foro.
  #4 (permalink)  
Antiguo 23/03/2009, 13:08
 
Fecha de Ingreso: noviembre-2007
Mensajes: 60
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Problema con formulario

Aquí tenéis el código de la página html, con el formulario y un simple textfield:


<form id="form1" name="form1" method="post" action="../php/mostrar.php">
<label></label>
<div align="left">
<p><span class="Estilo8">Nombre</span>
<input type="password" name="textfield" />
<label></label>
</p>
<div align="center">
<input name="Submit" type="submit" class="Estilo8" value="Enviar" />
</div>
<p>&nbsp; </p>
</div>
</form></td>


Y aquí la parte en php:


<?

$textfield=addslashes($textfield);

if(!$textfield)
echo "Debes introducir una contraseña.";
else
echo "Gracias";

?>



El problema es que meta o no meta contraseña siempre me sale el mensaje "Debes introducir una contraseña", (al ejecutarlo desde mi localhost sí que funciona), por lo que ciertamente creo que puede ser un problema de mi servidor (Más Barato Imposible), aunque consultas a tablas en php sí que me deja hacerlas, es tan sólo el envío de formulario tan simple lo que no funciona.

Gracias.
  #5 (permalink)  
Antiguo 23/03/2009, 13:55
isra00
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con formulario

Estás un poco obsoleto! En primer lugar, sustituye las marcas <? por <?php. La primera forma está depreciada.

En segundo lugar, hace casi 10 años que la fórmula que utilizas para obtener datos POST está obsoleta. Debes usar el array $_POST. Es decir,

Código PHP:
<?php

$textfield 
$_POST['textfield'];
$textfield=addslashes($textfield);

if(!
$textfield)
echo 
"Debes introducir una contraseña.";
else
echo 
"Gracias";

?>
Ah, y la última comprobación puedes comprimirla usando el operador ternario:

Código PHP:
echo (strlen($textfield)) ? "Gracias" "Debes introducir una contraseña." 
También he utilizado la función strlen para comprobar que se han enviado datos, por seguridad.
  #6 (permalink)  
Antiguo 23/03/2009, 15:53
Avatar de argy  
Fecha de Ingreso: octubre-2007
Ubicación: Longitud 75º Latitud 18º Sur
Mensajes: 614
Antigüedad: 16 años, 5 meses
Puntos: 18
Respuesta: Problema con formulario

a ver a ver de hecho lo que tienes que utilizar es la supeglobal $_POST.

primero comprobamos con la función isset() de que existan las variables,
segundo con la función empty comprobamos que no esté vacía.
manos a la obra
Código :
Ver original
  1. <?php
  2. if(isset($_POST['var']))
  3. {
  4. if(!empty($_POST['var']))
  5. {
  6. echo $_POST['var'];//podemos hacer filtraciones a la variable con strip_tags,htmlentities,etc, pero como ejemplo sólo imprimimos en pantalla lo que el usuario ingresó
  7. }
  8. else
  9. {
  10. echo 'la variable está vacía';
  11. }
  12. }
  13. else
  14. {
  15. echo 'no existe variable';
  16. }
  17. ?>
'var' es el nombre del campo de formulario
__________________
Software libre para un mundo libre.

Eventualmente en el foro.
  #7 (permalink)  
Antiguo 23/03/2009, 17:13
 
Fecha de Ingreso: noviembre-2007
Mensajes: 60
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Problema con formulario

Muchas gracias.

Era eso mismo por lo que no tiraba esto.

Intentaré poner al día mis archivos php, que parece que han caducado, sí......

  #8 (permalink)  
Antiguo 23/03/2009, 21:09
 
Fecha de Ingreso: agosto-2008
Mensajes: 45
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Problema con formulario

Hola, no te dijeron toda la verdad.

En tu servidor local funcionaba porque tenés activada la opción register_globals (yo cuando empecé a programar en PHP también la usaba :$), pero en el de "internet" no está activada, así que no anda.

Si querés la podés activar, casi todos los servidores lo permiten, pero no es recomendable, por temas de seguridad.

Saludos!
  #9 (permalink)  
Antiguo 27/03/2009, 06:32
isra00
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con formulario

Cita:
Iniciado por heymatias Ver Mensaje
Hola, no te dijeron toda la verdad.

En tu servidor local funcionaba porque tenés activada la opción register_globals (yo cuando empecé a programar en PHP también la usaba :$), pero en el de "internet" no está activada, así que no anda.

Si querés la podés activar, casi todos los servidores lo permiten, pero no es recomendable, por temas de seguridad.

Saludos!
Creo que la afirmación "no te dijeron toda la verdad" sobra. ¿Tú que entiendes por depreciada?

Cita:
La primera forma está depreciada.
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 10:15.