entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

problema al recibir datos de un formulario html a php

Hola que tal comunidad,

Tengo un problema con un formulario, resulta que creo un formulario en un archivo HTML y quiero que simplemente recoja otro archivo PHP los valores de los campos y los muestre por pantalla. lo que me ocurre es que a la hora de recibir los datos se me pone la pagina en blanco en vez de mostrarme el valor. Os dejo el código de ambos archivos.

Archivo uno.html (el que contiene el formulario)

<html> 
<head> 
    <title>prueba</title> 
</head> 
<body> 
    <form action="dos.php" method="post">
        Nombre: <br><input type="text" name="nombre">
        <input type="submit">
    </form> 
</body> 

</html>

Archivo dos.php(el que recibe la variable y la muestra por pantalla)

<?php
$nombre = $_POST["nombre"]; 
echo $nombre; 
?>

Como se puede apreciar no es nada del otro mundo, pero no encuentro la solución, tambien he de comentar que estoy haciendo pruebas en un servidor real y no con un entorno de trabajo local como es xamp.

Espero su respuesta, un saludo a todos!

0voto

carlossevi comentado

Viendo tu código no encuentro el problema, pero te voy a dar dos ideas para que tomes como primeros pasos:

  • Yo sustituiría el echo $nombre; por echo 'Nombre: '.$nombre; para asegurarte de que aunque la variable quede vacía tu script sí que es capaz de "imprimir" por pantalla.

  • Al ser un servidor de producción, revisa las configuraciones y asegurate de que el servidor muestra por pantalla los errores (en el caso de que lo desees) ya que puede estar saliendote cualquier error tonto de sintaxis y no darte cuenta.

1voto

pabeni comentado

Hola carlossevi, antes de todo gracias por responder.

Eso que me comentas en el primer punto ya lo realice obteniendo el mismo resultado, no descarto que sea el segundo punto.

En realidad el codigo de las dos paginas es mucho mayor pero al intentar resolver el problema decidi en hacerlo así de simple para ir descartando los problemas.

Un saludos y gracias de nuevo.

0voto

carlossevi comentado

¿Y has probado a poner exactamente la versión que has publicado para descartar otros problemas? Si la versión publicada funciona, vete añadiéndole complejidad hasta encontrar el punto de fallo.

1voto

pabeni comentado

Disculpa a que te refieres con versión? la versión de PHP? no se supone que debería de mostrarlo independiente de la versión? es decir no se pueden hacer salidas de ningún tipo(echo...) es como si el servidor no interpretara el PHP.

Por intentar he añadido un campo hidden en el formulario para asi desde el archivo PHP saber si llega mediante una sentencia if y nada, lo único que hace el formulario es hacer el submit pero el PHP no hace su función.
También he realizado unas pruebas en local y funciona correctamente con XAMPP.

gracias de nuevo!!!

0voto

carlossevi comentado

Me refería a que creases los ficheros tal cual los publicaste aquí, sin más código, para comprobar si este ejemplo funciona.

0voto

pabeni comentado

He probado de todo y sigo sin que me salga, no entiendo que puede estar pasándome.

Para cerciorarme que el servidor encuentra el archivo que especifico en el action he realizado todas las pruebas que me habéis dicho. También lo que he puesto en el action un nombre de archivo que no existe para ver si me arrojaba algún error y si que me a enseñado dicho error, de verdad no se que puede estar pasando reconoce el fichero pero parece que no interpreta su contenido.

Saludos a todos!

0voto

carlossevi comentado

¿Te has asegurado de que tu servidor tiene instalado (e interpreta correctamente) PHP? Vamos a empezar por lo básico, crea un archivo con el siguiente contenido y accede a él:

<?php

// Muestra toda la información, por defecto INFO_ALL
phpinfo();

?>

¿Qué ves?

3 Respuestas

1voto

Gerardo SA Puntos230

Verifique tu código y no veo ningún problema de hecho lo monte en mi servidor y corrió sin ningún problema, si lo estas corriendo desde una carpeta montada en tu servidor. Recuerda que para correr un código con extensión PHP necesita estar montado en un servidor.
Saludos.

1voto

Eduardo76609 Puntos370

si estas en un servidor real (producción), verifica el encarpetado de tus archivos ejemplo: www.ejemplo.com/carpeta/dos.php puesto que si la url del "action" no apunta allí no es posible que los datos lleguen.

2votos

Leonardo-Tadei Puntos227320

Hola @pabeni,

verificá que dos.php tenga los permisos adecuados para que el servidor lo ejecute.

Si el servidor tiene las restricciones de seguridad correctas, el script dos.php tiene que tener permisos 644 (-rw-r--r--) y el dueño ser el mismo que el usuario FTP de la cuenta que usás para subir los archivos.

Un servidor con el módulo SuExec no ejecutará scripts de otro dueño ni que puedan ser escritor por otros. Uno que ejecute PHP como FastCGI tampoco debería.

Si es un tema de permisos, Apache encontrará al archivo, pero no podrá abrirlo, así que verás una página en blando. Si es un tema de usuario, el intérprete se negará a ejecutarlo.

En ambos casos deberías ver alguna pista en el log de errores que genera Apache.

Saludos!

PD: sería bueno que subas al servidor los mismos dos archivos que comentás por acá, de forma tal que las pruebas que hagamos coincidan con el código que estás ejecutando... hay veces en que el código se ve parecido, pero no lo es.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta