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

como procesar todo mi codigo en una sola pagina

mi intencion es procesar todo mi codigo de mi formulario en la misma pagina, la razon de esta decision es porque no quiero tener varios archivos de pocas lineas porque me confunde y me resulta un poco dificil depurar mi codigo, en resumen quiero que todo mi codigo funcione en una misma pagina

<?php //variables de conexion

$conex = mysql_connect("localhost", "root", "");
mysql_select_db("app2.0", $conex) or die ("Error: No se puede usar la base de datos. ".mysql_error());

?>

//en esta parte es donde me surge la duda, como veran tiene el atributo action que 
redirige al archivo verificador.php, este archivo viene despues en las siguientes lineas, de que manera lo puedo usar??

  <form name="login" method="post" action="verificador.php" enctype="multipart/form-data">

    <input type="text" name="login" placeholder="email">
    <input type="password" name="password" placeholder="password">
    <input type="submit" value="acceder"><br>
<hr>
    <input name="nome" type="text" placeholder="nome">
    <input name="telefono" type="text" placeholder="tel">
    <input name="email" type="email" placeholder="email">
    <input name="pass" type="password" placeholder="password">
    <input type="submit" formaction="registracion.php" value="invia">

  </form>

<?php
 //este codigo se encarga de verificar si los datos pasados por el form estan en la bd 
$login = $_POST['login']; $pass = $_POST['password']; // recupero los datos a travez del atributo name
require("conexion.php");
session_start();

$comando = "SELECT * FROM utenti WHERE email ='$login' AND password ='$pass' ";
$consulta = mysql_query($comando) or die ("Error en la query: ".mysql_error());
$consulta2 = mysql_fetch_array($consulta) or die ("Error en la query: ".mysql_error());

 if ($consulta2 )
 {

  $_SESSION ['id']      =  $fila ['id'];
  $_SESSION ['nome']    =  $fila ['nome'];
  $_SESSION ['email']   =  $fila ['email'];
  $_SESSION ['tel']     =  $fila ['telefono'];

  header ("location:perfil_usuario.php");
}
else{echo "usuario inexistent";}
mysql_close($conex);

?>

<?php // este codigo se encarga de registrar los usuarios en el sistema

$nome = $_POST['nome'];  $telefono = $_POST['telefono'];
$email = $_POST ['email'];  $pass = $_POST['pass'];

require("conexion.php");

$comando   = "SELECT * FROM utenti WHERE email ='$email' AND nome ='$nome' ";
$consulta = mysql_query($comando) or die ("Error en la query: ".mysql_error());
$verificador = mysql_num_rows($consulta) ;
echo $verificador;

if ($verificador > 1){   echo "<h1>esta email no puede ser reutilizada</h1>"; }
else
  {
  $sql = "INSERT INTO utenti (id, nome, telefono, email, password) 
  VALUES (id, '$nome', '$telefono', '$email', '$pass')";

  $insertar = mysql_query($sql) or die ("Error en la query: ".mysql_error());
    echo "nuevo usuario registrado!";

  }
mysql_close($conex);
?>

<?php // este codigo es ejecutado si la verificacion tiene exito y muestra los datos del usuario 
//el problema de este codigo es que no muestra los datos del usuario
session_start();
require("conexion.php");
if (!$_SESSION){  header("location:inicio.php");} 

print "<h2>perfil privado</h2><br>";

echo $_SESSION['nome'];
echo $_SESSION['email'];
echo $_SESSION['tel'];
?>
<a href="logout.php">cerrar sesion</a> 

<?php // este codigo se encargar de cerrar la sesion y redireccionar al usuario a la pagina principal
session_start();
if ($_SESSION['nome'])
{
  session_destroy();
  header("location:inicio.php");
}

?>

1 Respuesta

2votos

Leonardo-Tadei Puntos227320

Para hacer esto, hacé que todos los ACTION de los formularios apunten al mismo script, por ejemplo a index.php.

Luego, en index.php tendrás que tener varios IF para saber de qué formulario viene (por sus valores POST o GET) y hacer los procesos correspondientes.

Si bien tener menos archivos hace las cosas más simple de mantener, el otro extremo, que es tener un solo archivo gigantesco con un montón de IF, también es difícil de mantener.

La mejor es un punto medio, que depende mucho de la arquitectura de la solución y del diseño de cada sitio...

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