Foros del Web » Programando para Internet » PHP »

Haver si es problema mio???

Estas en el tema de Haver si es problema mio??? en el foro de PHP en Foros del Web. Hola a todos... Bueno estoy haciendo un sistema de administracion basico para todo tipo de webs (soy un poquito novato) y bueno estaba construyendo el ...
  #1 (permalink)  
Antiguo 03/01/2009, 17:41
 
Fecha de Ingreso: enero-2009
Mensajes: 100
Antigüedad: 15 años, 3 meses
Puntos: 1
Exclamación Haver si es problema mio???

Hola a todos...

Bueno estoy haciendo un sistema de administracion basico para todo tipo de webs (soy un poquito novato)

y bueno estaba construyendo el archivo "modulos.php" y me encontre con un problema, que me pasa derecho en una condicion de verivicacion de contraceñas.

Bueno aca el code:

Código PHP:
<?php
//Son las contraceñas que tienen que coinsidir
$pass2 "4c1faf913420788dfeaceb52a789342f";
$pass $_GET['p'];

//una funcion
$delete $_GET['delete'];
$fdelete "delete";
$vdelete 1;
procesar($fdelete$vdelete$delete456);

function 
procesar($funcion$nvar$var1$var2$var3$var4)
{
if(
$var1 == "")
{
echo 
vacia;
}
else
{
//Este es el problema, me sigue derecho la condicion haci sea falsa
//Ej: si pomes www.misitio.com/modulos.php?delete=modulos.php sige derecho y lo elimina ignorando las contraceñas
if($pass == $pass2)
{
echo 
si;
if(
$nvar == 0)
{
$funcion();}
if(
$nvar == 1)
{
$funcion($var1);}
if(
$nvar == 2)
{
$funcion($var1$var2);}
if(
$nvar == 3)
{
$funcion($var1$var2$var3);}
if(
$nvar == 4)
{
$funcion($var1$var2$var3$var4);}
}
}
}

function 
admin()
{
echo 
"hola";
}

//Funciones

function delete($var1)
{
unlink($var1);
}
?>
Ya lo e revisado un monton de veces

Ayuda, es urgente!!!

Saludos...
  #2 (permalink)  
Antiguo 03/01/2009, 18:13
Avatar de Bellenger  
Fecha de Ingreso: noviembre-2004
Ubicación: En un lugar del Mundo...
Mensajes: 599
Antigüedad: 19 años, 4 meses
Puntos: 4
Respuesta: Haver si es problema mio???

Hola, tal vez puedas utilizar el operador identico{===}, otra cosa que podrias hacers es utilizar la sentencia switch. Ahora pues me intriga la forma como llamas a la funcion pareciera una sobrecarga, quizas debas revisar eso tambien no lo crees!!!
__________________
Un Caballero Jura Lealtad. Usa su espada para suprimir la Injusticia No Conoce el Odio y Tampoco el AMOR...
  #3 (permalink)  
Antiguo 03/01/2009, 18:23
 
Fecha de Ingreso: enero-2009
Mensajes: 100
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Haver si es problema mio???

Bueno, la cosa es que la funcion switch no la manejo bien, ya probe con === y nada, se sigue saltando...

y sobrecarga, pk????
la idea de esto es no usar seciones, ni cokies, ni sockers y post es solo en forms, entonses la idea es get

pero igual no se pk no da, si haces la prueva y pones solo la condicion:

if($pass == $pass2)

te funcionara, pero si la pones como yo, no

que sera???
  #4 (permalink)  
Antiguo 03/01/2009, 18:24
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 6 meses
Puntos: 49
Respuesta: Haver si es problema mio???

ver if elseif y else ;)

para que te haga todas las consultas que deseas saludos....
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #5 (permalink)  
Antiguo 03/01/2009, 18:25
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Haver si es problema mio???

Al principio de tu script cambia la asignacion de $pass:

$pass = (isset($_GET['p'])) ? $_GET['p'] : '';

Y dentro de la funcion declara cuales variables vas a usar como globales:

global $pass, $pass2;

Si no las especificas y tampoco las pasas por parametro, entonces ambas variables te dan NULL o undefined, por lo que la condicion if($pass == $pass2) siempre sera verdadera.
__________________
- León, Guanajuato
- GV-Foto
  #6 (permalink)  
Antiguo 03/01/2009, 18:29
 
Fecha de Ingreso: enero-2009
Mensajes: 100
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Haver si es problema mio???

Cita:
Iniciado por kaninox Ver Mensaje
ver if elseif y else ;)

para que te haga todas las consultas que deseas saludos....
Bueno elsefi nunca lo entendi bien...

explicame en el code, como seria la forma correcta para que no salte la contraceña..
  #7 (permalink)  
Antiguo 03/01/2009, 18:32
 
Fecha de Ingreso: enero-2009
Mensajes: 100
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Haver si es problema mio???

Cita:
Iniciado por Triby Ver Mensaje
Al principio de tu script cambia la asignacion de $pass:

$pass = (isset($_GET['p'])) ? $_GET['p'] : '';

Y dentro de la funcion declara cuales variables vas a usar como globales:

global $pass, $pass2;

Si no las especificas y tampoco las pasas por parametro, entonces ambas variables te dan NULL o undefined, por lo que la condicion if($pass == $pass2) siempre sera verdadera.
Excelente, ya me dio, hera la definicion de global..

Muchisimas gracias!!!!!

Pero no entiendo:

Código PHP:
$pass = (isset($_GET['p'])) ? $_GET['p'] : ''
Para que este paso????
  #8 (permalink)  
Antiguo 03/01/2009, 18:36
Avatar de Bellenger  
Fecha de Ingreso: noviembre-2004
Ubicación: En un lugar del Mundo...
Mensajes: 599
Antigüedad: 19 años, 4 meses
Puntos: 4
Respuesta: Haver si es problema mio???

El seitch es sencillo:
Código PHP:
switch($variable){
  case 
valorPosible1:
   
/*acciones cuando se cumpla valorPosible1*/
  
break; //detiene la secuencia del switch
  
case valorPosible2:
   
/*acciones cuando se cumpla valorPosible2*/
  
break; //detiene la secuencia del switch
  
....
  case 
valorPosibleN:
   
/*acciones cuando se cumpla valorPosibleN*/
  
break; //detiene la secuencia del switch
  
default:# esta ultima opcion es cuando en ninguno de los casos{case}, se encontro coincidencia, por lo cual se ejecuta como ultima opcion.
  
/

En tu caso seria aslgo asi:
Código PHP:
switch($nvar){
  case 
0:
    function(
argumentos...);
    break;
  case 
1:
    function(
argumentos...);
    break;

Bueno espero te sirva de algo, lo de la funcion lo decia por que si no mas recuerdo cuando se invoca a una funcion se invoca mediante su Nombre, y no colocando $funcion, bueno no lo he probado, pero quizas se pueda hacer en la version 4 del php, la cual debo de recordar tiene muchos problemillas. Saludos
__________________
Un Caballero Jura Lealtad. Usa su espada para suprimir la Injusticia No Conoce el Odio y Tampoco el AMOR...
  #9 (permalink)  
Antiguo 03/01/2009, 18:43
 
Fecha de Ingreso: enero-2009
Mensajes: 100
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Haver si es problema mio???

Cita:
Iniciado por Bellenger Ver Mensaje
El seitch es sencillo:
Código PHP:
switch($variable){
  case 
valorPosible1:
   
/*acciones cuando se cumpla valorPosible1*/
  
break; //detiene la secuencia del switch
  
case valorPosible2:
   
/*acciones cuando se cumpla valorPosible2*/
  
break; //detiene la secuencia del switch
  
....
  case 
valorPosibleN:
   
/*acciones cuando se cumpla valorPosibleN*/
  
break; //detiene la secuencia del switch
  
default:# esta ultima opcion es cuando en ninguno de los casos{case}, se encontro coincidencia, por lo cual se ejecuta como ultima opcion.
  
/

En tu caso seria aslgo asi:
Código PHP:
switch($nvar){
  case 
0:
    function(
argumentos...);
    break;
  case 
1:
    function(
argumentos...);
    break;

Bueno espero te sirva de algo, lo de la funcion lo decia por que si no mas recuerdo cuando se invoca a una funcion se invoca mediante su Nombre, y no colocando $funcion, bueno no lo he probado, pero quizas se pueda hacer en la version 4 del php, la cual debo de recordar tiene muchos problemillas. Saludos
Cita:
Bueno espero te sirva de algo, lo de la funcion lo decia por que si no mas recuerdo cuando se invoca a una funcion se invoca mediante su Nombre, y no colocando $funcion, bueno no lo he probado, pero quizas se pueda hacer en la version 4 del php, la cual debo de recordar tiene muchos problemillas. Saludos
Mira bien el codigo:

En este caso la variable "$funcion" hace referencia al nombre de la funcion a invocar

Ej:

Código PHP:
$funcion "delete";

//es como si dijera: delete()
$funcion();

function 
delete()
{
echo 
"halgo";

  #10 (permalink)  
Antiguo 03/01/2009, 18:58
Avatar de Bellenger  
Fecha de Ingreso: noviembre-2004
Ubicación: En un lugar del Mundo...
Mensajes: 599
Antigüedad: 19 años, 4 meses
Puntos: 4
Respuesta: Haver si es problema mio???

Ches, no me di cuenta jeje, bueno en todo caso me parece un tanto inadecuado la forma como lo invocas, saludos .
PSDT:
Es verdad que PHP, nos da mucha soltura al momento de programar, pero creo que deberiamos tener mas orden y estructura al momento de hacerlo, esto hara que nuestro codigo sea mas entendible....
__________________
Un Caballero Jura Lealtad. Usa su espada para suprimir la Injusticia No Conoce el Odio y Tampoco el AMOR...
  #11 (permalink)  
Antiguo 03/01/2009, 19:02
 
Fecha de Ingreso: enero-2009
Mensajes: 100
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Haver si es problema mio???

Cita:
Iniciado por Bellenger Ver Mensaje
Ches, no me di cuenta jeje, bueno en todo caso me parece un tanto inadecuado la forma como lo invocas, saludos .
PSDT:
Es verdad que PHP, nos da mucha soltura al momento de programar, pero creo que deberiamos tener mas orden y estructura al momento de hacerlo, esto hara que nuestro codigo sea mas entendible....
Bueno ps mi codigo es entendible como yo lo veo, deecho muy facil de entender, talves solo se desvia uno en los if, pero si lo analisas esta muy bien organisado (para mi jjeje)
  #12 (permalink)  
Antiguo 03/01/2009, 19:28
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Haver si es problema mio???

Código PHP:
// Inicializar la variable $pass
$pass = (isset($_GET['p'])) ? $_GET['p'] : '';

// Esa linea es equivalente a:
if(isset($_GET['p'])) {  // Verificamos si se proporciono pass por url
    
$pass $_GET['p']; // Asignamos ese valor
} else { // Si no se proporciono
    
$pass '';  // Se le da un valor de cadena vacia

__________________
- León, Guanajuato
- GV-Foto
  #13 (permalink)  
Antiguo 03/01/2009, 19:34
 
Fecha de Ingreso: enero-2009
Mensajes: 100
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Haver si es problema mio???

Cita:
Iniciado por Triby Ver Mensaje
Código PHP:
// Inicializar la variable $pass
$pass = (isset($_GET['p'])) ? $_GET['p'] : '';

// Esa linea es equivalente a:
if(isset($_GET['p'])) {  // Verificamos si se proporciono pass por url
    
$pass $_GET['p']; // Asignamos ese valor
} else { // Si no se proporciono
    
$pass '';  // Se le da un valor de cadena vacia

mmmm....

Es un sistema buy bueno, pero bueno me parese a mi un poco mas dificil de entender(por eso de que soy un poco novato)
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 16:30.