• Domingo 22 de Diciembre de 2024, 15:02

Autor Tema:  No Encuentro Goto En Php, Como Uso Function() ?  (Leído 2484 veces)

D0M41N

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
No Encuentro Goto En Php, Como Uso Function() ?
« en: Martes 19 de Diciembre de 2006, 06:28 »
0
Hola, tengo un PHP que valida al usuario, quisiera que una vez validado si es correcto, que se diriga hacia otra linea del archivo PHP, me dijieron que para eso debo utilizar function, pero no se bien como se usa, les muestro un poco el codiguito asi lo entienden:
Código: Text
  1.  
  2. <html>
  3. <body>
  4. <?php
  5. if ($enviar_is) {
  6.   $connect = mysql_connect("localhost", "mi_user", "mi_password");
  7.   mysql_select_db("mi_base", $connect);
  8.   $result = mysql_query("SELECT * FROM mi_tabla WHERE DNI = $DNI", $connect);
  9.   $row = mysql_fetch_array($result);
  10.   if ($row["name"] == $name && $row["password"] == $password) {
  11.   echo "los datos son correctos"; \\ aka deveria ir adonde dice "agregar usuario"
  12.    } else { echo "los datos son incorrectos"; }
  13. ?>
  14. <?php
  15. } else {
  16. ?>
  17. <head>
  18. <title>Iniciar Sesion</title>
  19. </head>
  20. <body>
  21. <div align="center">
  22. <form action="index.php" method=POST><table border="1"> \\ aca va goto, en el action
  23. <td>DNI:</td><td><input type=text name=dni></td></tr>
  24. <tr><td>Nombre:</td><td><input type=text name=nombre></td></tr>
  25. <td>Contraseña:</td><td><input type=password name=password></td></tr>
  26. <td align="center"><input type=submit value="Aceptar" name=enviar_is></td>
  27. </table>
  28. </form>
  29. </div>
  30. </body>
  31. <?php
  32. }
  33. \\ hasta ahi va la primer parte
  34. ?>
  35. <?php
  36. if ($enviar) {
  37.   if ($password == $password_c) {
  38.     $connect = mysql_connect("localhost", "mi_user", "mi_password");
  39.     mysql_select_db("mi_base", $connect);
  40.     mysql_query("INSERT INTO mi_tabla (nombre,apellido,dni) VALUES ('$nombre','$apellido','$dni')",$connect);
  41. ?>
  42. <head>
  43. <title>Agegar Nuevo Usuario</title>
  44. </head>
  45. <body>
  46. <p>Su usuario ha sido agregado exitosamente.</p>
  47. <a href="index.php">Volver al inicio de sesion.</a> \\ aca por ejemplo, como hago? yo pensaba usar goto, pero no se cual es la funcion equibalente a goto en php, igual sigamos...
  48. </body>
  49. <?php
  50.    }
  51.   else {
  52. ?>
  53. <p>la contraseña fue mal ingresada.</p>
  54. <a href="index.php">Volver al formulario.</a> \\ otro goto iria aca
  55. <?php
  56. }
  57.   } else {
  58. ?>
  59. <head>
  60. <title>Agegar Nuevo Usuario</title>
  61. </head>
  62. <body>
  63. <div align="center">
  64. <form action="index.php" method=POST><table border="1"> \\ aca va goto, en el action
  65. <tr><td>Nombre:</td><td><input type=text name=nombre></td></tr>
  66. <tr><td>Apellido:</td><td><input type=text name=apellido></td></tr>
  67. <tr><td>DNI:</td><td><input type=text name=dni></td></tr>
  68. <td>Contraseña:</td><td><input type=password name=password></td></tr>
  69. <td>Confirmar Contraseña:</td><td><input type=password name=password_c></td></tr>
  70. <td align="center"><input type=submit value="Aceptar" name=enviar></td>
  71. </table>
  72. </form>
  73. </div>
  74. <a href="index.php">Volver al inicio de sesion.</a> \\ aca va goto
  75. </body>
  76. <?php
  77. }
  78. ?>
  79. </html>
  80.  
  81.  

Desde ya muchas gracias, la ultima ayuda me fue muy util, como ven logre hacer lo que queria, solo en falta de el detalle, el cual quiero que todo este en el mismo PHP, por cuestiones de seguridad, no quiero separar los en archivos diferentes, prefiero tener todo en el mismo archivo, ese es el objetivo, y el motivo por el cual se me ocurrio usar una funcion similar al GOTO, hasta lo que aprendi de PHP y mySQL lo unico que me cuesta es eso de function(), si alguien es tan amable de darme una mano será bienvenida, y gracias denuevo.

ArKaNtOs

  • Miembro de PLATA
  • *****
  • Mensajes: 1253
  • Nacionalidad: mx
    • Ver Perfil
Re: No Encuentro Goto En Php, Como Uso Function() ?
« Respuesta #1 en: Martes 19 de Diciembre de 2006, 06:46 »
0
No entendí bien lo que quieres realizar, pero en mi caso cuando quiero realizar, ese tipo de cuestiones, simplemente uso switch algo así:

<?php
if (isset($_GET["seccion"])){
switch ($_GET["seccion"]):
     case 0:
         //codigo por si es 0
         break;
     case 1:
         //codigo por si es 1
         break;
     case 2:
         //codigo por si es 2
         break;
     default:
         //x cosa
 endswitch;
}
else{
?>
<center>BIENVENIDO</center>....
<?php
} ?>

D0M41N

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Re: No Encuentro Goto En Php, Como Uso Function() ?
« Respuesta #2 en: Martes 19 de Diciembre de 2006, 06:51 »
0
Si, fue medio complicada mi explicacion, mas simple seria:

tengo un archivo PHP, el cual debe tener tres secciones diferentes, pero mostrar una y ocultar las otras dos. Cuando me encuentro en una de las secciones, deseo poner "links" hacia las otras secciones, eso seria en fin lo que quiero hacer, el swicth no me sirve, al igual que el if, pero mil gracias por constestar! salu2.

ArKaNtOs

  • Miembro de PLATA
  • *****
  • Mensajes: 1253
  • Nacionalidad: mx
    • Ver Perfil
Re: No Encuentro Goto En Php, Como Uso Function() ?
« Respuesta #3 en: Martes 19 de Diciembre de 2006, 07:26 »
0
me dejas en las mismas :P no te entendí nada jejejeje, otra pregunta porque no te sirve el switch?

para que te des una idea, creo que todo este sitio se maneja asi:, por ejemplo, si ves la dirección en la que te encuentras veras algo como esto:

index.php?act=Post&CODE=02&f=36&t=26228

donde act es la accion que se va a realizar que es evaluada por un switch entre varias opciones, entonces con un switch y las variables get podras estructurar tu sitio en un solo sitio ;)

mira esto te sera ilustrativo:
http://www.programacionweb.net/articulos/articulo/?num=106

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: No Encuentro Goto En Php, Como Uso Function() ?
« Respuesta #4 en: Martes 19 de Diciembre de 2006, 08:21 »
0
Yo tambien le veo que un switch te puede ser util

te voy a decir como hago eso aveces (se que no quieres dividirlo en paginas, pero a lo mejor sirve :P)



--- Tomando el Ejemplo de ArKaNtOs -----

Código: Text
  1.  
  2. &#60;?php
  3.        if (isset(&#036;_GET['seccion']))
  4.            {
  5.               switch (&#036;_GET['seccion'])
  6.                 {
  7.                          case 1:
  8.                               include('seccion1.php');
  9.                          break;
  10.                          case 2:
  11.                               include('seccion2.php');
  12.                          break;
  13.                  }
  14.      else
  15.         {
  16.            echo (&#34;Indique una seccion&#34;);
  17.         }
  18. ?&#62;
  19.  
  20.  

Creo que haces el codigo mas corto separandolo por archivos asi encuantras mas faciles los errores que colocar todo en donde mismo


Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

D0M41N

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Re: No Encuentro Goto En Php, Como Uso Function() ?
« Respuesta #5 en: Martes 19 de Diciembre de 2006, 15:37 »
0
Buenisima la idea, pero sigo teniendo problemas:
1st) La seguridad, porque si alguien se pone a probar direcc, y x casualidad encuentra  agregar.php, lograria agregar a un usuario sin loguearse.
2st) Todavia no llegue a la parte del get y del post en PHP.

Por eso...
No puedo hacer que un archivo PHP le envie unas variables a otro? como por ej, nombre de usuario y password, entonces así podría resolver varios problemas, pero tendrian que tomarse unas lineas para explicarme como :(, mandenmen un codiguito en el cual usan un post & un get, de un archivo al otro, y como uno lo envia y como el otro lo recive, si me hacen ese gran favor, podria solucionar el problema de seguridad, porque los usuarios que no envien datos no lograrian entrar, y en el segundo punto entenderia bien el post & el get ;).

NOTA: yo se que el post significa que el usuario envia informacion, y get que la obtiene, eso es lo unico que se... salu2 y mil gracias x todo amigos!

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: No Encuentro Goto En Php, Como Uso Function() ?
« Respuesta #6 en: Martes 19 de Diciembre de 2006, 16:44 »
0
Cita de: "D0M41N"
NOTA: yo se que el post significa que el usuario envia informacion, y get que la obtiene, eso es lo unico que se... salu2 y mil gracias x todo amigos!
Los dos son metodos de envio solo que GET va por la URL osea se muestra por la barra de direcciones ejemplo


http://www.google.com.mx/search?q=sesiones%20php

q es un variable enviada por get, cuando envias por Post la informacion va oculta (no se muestra en la URL)


Para evitar que se accese directamente a los archivos lee un poco sobre sesiones
aqui en el foro hay mucha info

http://foros.solocodigo.com/index.php?act=...ghlite=sesiones



Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

ArKaNtOs

  • Miembro de PLATA
  • *****
  • Mensajes: 1253
  • Nacionalidad: mx
    • Ver Perfil
Re: No Encuentro Goto En Php, Como Uso Function() ?
« Respuesta #7 en: Martes 19 de Diciembre de 2006, 19:05 »
0
Citar
1st) La seguridad, porque si alguien se pone a probar direcc, y x casualidad encuentra agregar.php, lograria agregar a un usuario sin loguearse.
2st) Todavia no llegue a la parte del get y del post en PHP.

Como respuesta a la primera situación, como acertadamente dijo mi amigo F_Tanori, existen las sesiones, supongamos que tienes un archivo donde agregas datos y esa info es solo para los usuarios registrados, con sesiones puedes evitar que los no agregados ingresen datos,

y a la 2da situación si no has aprendido eso, mejor no desarrolles el sitio aún ya que sino, te vas a confundir mucho y al final vas a terminar volviéndolo a realizar todo.