> Faqs > Al enviar un formulario en PHP se recarga la página y muestra el código PHP ¿Cómo arreglarlo?

Al enviar un formulario en PHP se recarga la página y muestra el código PHP ¿Cómo arreglarlo?

Holaa buenas, he creado un formulario en php y cuando le doy a enviar, se recarga la pagina y me aparece el codigo de php, alguien sabe que pasa ? Muchas gracias por contestarme de antemano, saludos!

Respuestas

Con la pregunta que nos haces es imposible saber qué pueda estar pasando, al menos a ciencia cierta. Todo lo más que se pueden hacer son conjeturas, pues no indicas el código del formulario ni el código de tu página PHP ni nada.

Pero por lo que dices que se muestra el código PHP de la página pienso que puede ser alguna de estas cosas:

  1. Estas abriendo el código PHP con la etiqueta antigua.

En muchos artículos abrimos el código PHP así:

<?
  // Esto sería código PHP abierto de una forma antigua
?>

Mientras que actualmente se abre así el código PHP:

<?php
  // Esto sería código PHP abierto correctamente
?>

La forma antigua de abrir código PHP (solamente con <?) se puede activar opcionalmente dependiendo de la configuración del servidor. Pero lo normal es que ya no esté activada esa apertura de código.

  1. La otra opción factible que se me ocurre es que estés invocando un archivo .html al enviar el formulario, en lugar de un archivo .php. Si fuera un archivo .html el servidor no procesará los códigos PHP que encuentre.

  2. El tema de un formuario que abre la misma página es algo más o menos normal, puede que lo quieras así o puede que no. De todos modos, para revisar la página a la que se está enviando el formulario tienes que revisar el atributo action de la etiqueta form.

<form action="pagina-envio-formulario.php" method="post">

Por ejemplo, si no tienes action, creo que lo que hace es enviar la página a si mismo.

Miguel Angel
3145 140 209 17

Yo tengo el mismo problema y no consigo solucionarlo

HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

    <form name="formulario" method="get" action="formulario.php" > <!--id="formulario">-->

        Texto: <input type ="text" name="rotacion" value=""> <!--EL ATRIBUTO NAME DEFINE EL NOMBRE DE LA VARIABLE QUE VAMOS A PODER RECUPERAR EN LA URL DESTINO-->
        <input type="submit" value="Aceptar" id="aceptar">

    </form>
</body>
</html>

PHP

<?php
(isset($_GET['aceptar'])){
    $cadena = $_GET['rotacion'];
    echo $cadena;
}
?>

EDITADO:

Vale, ya encontré la solución.

Tan fácil como que estaba intentando acceder al archivo en el navegador a través de una ruta errónea tipo:

C:/xampp/htdocs/hhck/php/Controler.php

En lugar de lo siguiente:

localhost/{nombre_de_tu_documento.php

Maria
5 1
Claro... si accedes con un doble clic sobre el archivo con file:// no hay como procesar el PHP! Gracias por publicar tu respuesta.