Foros del Web » Programando para Internet » PHP »

Como Ordenar el Código

Estas en el tema de Como Ordenar el Código en el foro de PHP en Foros del Web. Hola Maestros. Vengo con una duda estúpida, pasa que yo empiezo de Adelante para Atrás jajajaj. El tema es que tengo fragmentos de código dispersos ...
  #1 (permalink)  
Antiguo 24/07/2010, 13:39
 
Fecha de Ingreso: abril-2010
Ubicación: Ping: BSAS - Arg
Mensajes: 791
Antigüedad: 16 años, 6 meses
Puntos: 25
Como Ordenar el Código

Hola Maestros. Vengo con una duda estúpida, pasa que yo empiezo de Adelante para Atrás jajajaj.

El tema es que tengo fragmentos de código dispersos que funcionan (los probé a todo) y los quiero ordenar de cierta forma y no puedo.

Bien, les comento lo que estoy haciendo.
Esto es un intento de Registro de nueva Cuenta con Algoritmo Aleatorio.
En resumen, un creador de cuentas que te da un usuario y contraseña generado aleatoriamente.

Este es un esquema que hise cuando me lo plantie:



Y estos son los códigos que tengo:


Conectarse al Servidor SQL

Código PHP:
// Conectarse a la Database SQL

include('conec.php'); 
Generador Aleatorio

Código PHP:
// Generar Aleatoriamente un Usuario

$Usuario = "abcdefghjkmnpqrstuvwxyz123456789";
$UsuarioAleatorio = str_shuffle($Usuario);
$UsuarioAleatorio = substr($UsuarioAleatorio,0,12);
$UserAcc = $UsuarioAleatorio;

[
B]// Generar Aleatoriamente una Contraseña[/B]

$Contraseña = "abcdefghjkmnpqrstuvwxyz123456789";
$ContraseñaAleatoria = str_shuffle($Contraseña);
$ContraseñaAleatoria = substr($ContraseñaAleatoria,0,12);
$PasswordAcc = $ContraseñaAleatoria; 
El buscado de Valores Existentes

Código PHP:
////////// Buscar si el Valor Existe en la Base de Datos SQL //////////

// Usuario

$User = $UserAcc;
$wea = mssql_query("SELECT UserAcc FROM ActivesAcc where UserAcc ='$User'");
$row = mssql_fetch_row($wea);
if (
$row[0] != "")
echo  
"El Usuario Existe"; 
else
echo  
"No existe";

// Contraseña

$Cont = $PasswordAcc;
$wea2 = mssql_query("SELECT PasswordAcc FROM ActivesAcc where PasswordAcc ='$Cont'");
$row2 = mssql_fetch_row($wea2);
if (
$row2[0] != "")
echo  
"El Usuario Existe"; 
else
echo  
"No existe"; 
Y por Ultimo, la Escritura en la Base de Dátos

Código PHP:
// Gudardar Variables en SQL

mssql_query("INSERT INTO ActivesAcc VALUES ('$Fname', '$Lname', '$Mail', '$Genere', '$Host', '$UserAcc', '$PasswordAcc', '$Port', '$IPOwner', '$Pay', '$Method', '$TimeCreate')");

// End 

El Grán Problema que tengo, es que no puedo hacer que cuando el Código que se Generó Aleatoriamente, sea verificado y de que de estar repetido, que vuelva a generar otro Código y Comprobar Nuevamente (como una especie de bucle), así en un proceso quisas infinito o hasta que de el OK de que no existe en la base de dátos.

Una ves que termine con el Usuario, Siga la Contraseña y luego Almacene todas las Variables.

El tema es que me imaginé como seria esto con IF, y no me da la cabeza.
¿Alguien tiene Alguna Idea como volver atrás en un código? ¿Como seria? o algo?

Gracias desde Ya.
  #2 (permalink)  
Antiguo 24/07/2010, 13:58
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 19 años, 10 meses
Puntos: 126
Respuesta: Como Ordenar el Código

Hola

Prueba a meter el Generador Aleatorio en una función. Si existe el nombre o contraseña vuelves a llamarla

Cita:
$User = generar_login('usu');
.....
if ($row[0] != "")
generar_login('usu');

$Cont = generar_login('psw');
Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 24/07/2010, 14:04
 
Fecha de Ingreso: abril-2010
Ubicación: Ping: BSAS - Arg
Mensajes: 791
Antigüedad: 16 años, 6 meses
Puntos: 25
Respuesta: Como Ordenar el Código

Tiene Bastante Sentido. No lo pensé.
Gracias, lo pruebo y te digo.
  #4 (permalink)  
Antiguo 24/07/2010, 14:45
 
Fecha de Ingreso: abril-2010
Ubicación: Ping: BSAS - Arg
Mensajes: 791
Antigüedad: 16 años, 6 meses
Puntos: 25
Respuesta: Como Ordenar el Código

Me tira error en la primer linea donde comienza la función. (Parse error: parse error in). Nose si es de mala sintaxis o que estoy haciendo mal.

Código PHP:
// Generar Aleatoriamente un Usuario
// Funcion ON
generar_login('usu'){
$Usuario = "abcdefghjkmnpqrstuvwxyz123456789";
$UsuarioAleatorio = str_shuffle($Usuario);
$UsuarioAleatorio = substr($UsuarioAleatorio,0,12);
$UserAcc = $UsuarioAleatorio;
// Función OFF
}

// Generar Aleatoriamente una Contraseña
// Funcion ON
generar_login('cont'){ 
$Contraseña = "abcdefghjkmnpqrstuvwxyz123456789";
$ContraseñaAleatoria = str_shuffle($Contraseña);
$ContraseñaAleatoria = substr($ContraseñaAleatoria,0,12);
$PasswordAcc = $ContraseñaAleatoria;
// Funcion OFF
}

////////// Buscar si el Valor Existe en la Base de Datos SQL //////////

// Usuario
$User = $UserAcc;
$wea = mssql_query("SELECT UserAcc FROM ActivesAcc where UserAcc ='$User'");
$row = mssql_fetch_row($wea);
if (
$row[0] != "")
generar_login('usu');
else
echo  
"No existe";

// Contraseña
$Cont = $PasswordAcc;
$wea2 = mssql_query("SELECT PasswordAcc FROM ActivesAcc where PasswordAcc ='$Cont'");
$row2 = mssql_fetch_row($wea2);
if (
$row2[0] != "")
generar_login('cont'); 
else
echo  
"No existe";

// Guardar Variables en SQL

mssql_query("INSERT INTO ActivesAcc VALUES ('$Fname', '$Lname', '$Mail', '$Genere', '$Host', '$UserAcc', '$PasswordAcc', '$Port', '$IPOwner', '$Pay', '$Method', '$TimeCreate')"); 
  #5 (permalink)  
Antiguo 24/07/2010, 14:48
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 18 años, 6 meses
Puntos: 2534
Respuesta: Como Ordenar el Código

una función requiere del operador function, si no no hace nada...

Código PHP:
function algo()
{
  
// ...
} 
además cometes muchas mas atrocidades contra la sintaxis....

¿porque no te pones a leer primero??
http://mx2.php.net/functions
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 24/07/2010, 15:02
 
Fecha de Ingreso: abril-2010
Ubicación: Ping: BSAS - Arg
Mensajes: 791
Antigüedad: 16 años, 6 meses
Puntos: 25
Respuesta: Como Ordenar el Código

Gracias. Voy a leerlo Pruebo y te digo
  #7 (permalink)  
Antiguo 25/07/2010, 10:43
 
Fecha de Ingreso: abril-2010
Ubicación: Ping: BSAS - Arg
Mensajes: 791
Antigüedad: 16 años, 6 meses
Puntos: 25
Respuesta: Como Ordenar el Código

Hola, te cuento, estuve leyendo bastante sobre Funciones, y lo errores de Sintaxis que tenia.
Ya tengo el código funcionando, aunque hay un problema.

1ro. No se si al presentarse un Código Aleatorio Repetido, el Php, generará Otro (nose si funciona)

2do. No entiendo porque me muestra los Resultados, pero de la creación anterior, y no de esta.

Les dejo el código aver si me pueden dar una mano y debajo una duda que tengo sobre sintaxis:

Código PHP:
// Generar Aleatoriamente un Usuario

function Aleatory_Code_User(){
$Usuario = "abcdefghjkmnpqrstuvwxyz123456789";
$UsuarioAleatorio = str_shuffle($Usuario);
$UsuarioAleatorio = substr($UsuarioAleatorio,0,12);
return 
$UsuarioAleatorio;
}

// Usuario
function Validate_Aleatory_Code_User(){
$UsAlea = Aleatory_Code_User();
$wea = mssql_query("SELECT UserAcc FROM ActivesAcc where UserAcc ='$UsAlea'");
$row = mssql_fetch_row($wea);
if (
$row[0] != ""){
Aleatory_Code_User();
}else{
return 
$UsAlea;
} }

// Generar Aleatoriamente una Contraseña

function Aleatory_Code_Password (){
$Contrase&#241;a = "abcdefghjkmnpqrstuvwxyz123456789";
$Contrase&#241;aAleatoria = str_shuffle($Contraseña);
$Contrase&#241;aAleatoria = substr($ContraseñaAleatoria,0,12);
return $Contrase&#241;aAleatoria;
}

// Contraseña
function Validate_Aleatory_Code_Password (){
$ConAlea = Aleatory_Code_Password ();
$wea2 = mssql_query("SELECT PasswordAcc FROM ActivesAcc where PasswordAcc ='$ConAlea'");
$row2 = mssql_fetch_row($wea2);
if (
$row2[0] != ""){
Aleatory_Code_Password();
}else{
return 
$ConAlea;
} }

// Guardar Variables en SQL

$UserAcc = Validate_Aleatory_Code_User();
$PasswordAcc = Validate_Aleatory_Code_Password ();

mssql_query("INSERT INTO ActivesFTP VALUES ('$Fname', '$Lname', '$Mail', '$Genere', '$Host', '$UserAcc', '$PasswordAcc', '$Port', '$IPOwner', '$Pay', '$Method', '$TimeCreate')");

// Mostrar Dátos en la Pantalla
    
    
echo $Fname."<br>";
    echo 
$Lname."<br>";
    echo 
$Mail."<br>";
    echo 
$Genere."<br>";
    echo 
$Host."<br>";
    echo 
$UserAcc."<br>";
    echo 
$PasswordAcc."<br>";
    echo 
$Port."<br>";
    echo 
$IPOwner."<br>";
    echo 
$Pay."<br>";
    echo 
$Method."<br>";
    echo 
$TimeCreate."<br>";
    
// End 





Mi duda sobre sintaxis es... al Pasar Valores de una Función a Otra, cual de las Tres Formas Está bien escrita:


Código PHP:
function DefinicionValor () {
$a = '1';
return 
$a;
}

function 
OtraFunction () {
DefinicionValor();
echo 
$a.' si aparece un uno es porque el valor paso';
} 
O esta Otra:

Código PHP:
function DefinicionValor () {
$a = '1';
return 
$a;
}

function 
OtraFunction () {
DefinicionValor($a);
echo 
$a.' si aparece un uno es porque el valor paso';
} 
O en el Principio de la nueva Función:

Código PHP:
function DefinicionValor () {
$a = '1';
return 
$a;
}

function 
OtraFunction ($a) {
echo 
$a.' si aparece un uno es porque el valor paso';
} 

Mil Gracias desde ya, este es uno de los pocos foros que de verdad ayudan.
  #8 (permalink)  
Antiguo 25/07/2010, 15:56
 
Fecha de Ingreso: abril-2010
Ubicación: Ping: BSAS - Arg
Mensajes: 791
Antigüedad: 16 años, 6 meses
Puntos: 25
Respuesta: Como Ordenar el Código

Ya lo Resolví, gracias por la Ayuda :D


Código PHP:
<?php

// Conectarse a la Database SQL

include('conec.php');

// Tomar las Variables desde URL

    
$Fname = "Test";
    
$Lname = "TestApellido";
    
$Mail = "[email protected]";
    
$Genere = "H";
    
$Host = "testehost.com.ar";
    
$Port = "3432";
    
$IPOwner = "200.192.43.125";
    
$Pay = "0";
    
$Method = "None";
    
$TimeCreate = "21-July-2010";



// Generar Aleatoriamente un Código

function Gen_Cod_Aleatorio()
{
$Usuario = "abcdefghjkmnpqrstuvwxyz123456789";
$Aleatorio = str_shuffle($Usuario);
$Aleatorio = substr($Aleatorio,0,12);
return 
$Aleatorio;
}

$Aleatorio = Gen_Cod_Aleatorio();
Gen_Cod_Aleatorio_Verify_User($Aleatorio);

function 
Gen_Cod_Aleatorio_Verify_User($AleaUs){
$wea = mssql_query("SELECT UserAcc FROM ActivesAcc where UserAcc ='$AleaUs'");
$row = mssql_fetch_row($wea);
if (
$row[0] != ""){ 
Gen_Cod_Aleatorio_Verify_User($Aleatorio);
} else { 
return 
$AleaUs;
}}

$Aleatorio2 = Gen_Cod_Aleatorio();
Gen_Cod_Aleatorio_Verify_Pass($Aleatorio2);

function 
Gen_Cod_Aleatorio_Verify_Pass($AleaPass){
$wea = mssql_query("SELECT PasswordAcc FROM ActivesAcc where PasswordAcc ='$AleaPass'");
$row = mssql_fetch_row($wea);
if (
$row[0] != ""){ 
Gen_Cod_Aleatorio_Verify_Pass($Aleatorio2);
} else { 
return 
$AleaPass;
}}


// Muestra de lo que se Genera y que las Variables son Enviadas.
// $Us = Gen_Cod_Aleatorio_Verify_User($Aleatorio);
// $Ps = Gen_Cod_Aleatorio_Verify_Pass($Aleatorio2);
// echo $Us.'     '.$Ps.'   Esto fue Generado al Azar.';

$UserAcc = Gen_Cod_Aleatorio_Verify_User($Aleatorio);
$PasswordAcc = Gen_Cod_Aleatorio_Verify_Pass($Aleatorio2);

mssql_query("INSERT INTO ActivesAcc VALUES ('$Fname', '$Lname', '$Mail', '$Genere', '$Host', '$UserAcc', '$PasswordAcc', '$Port', '$IPOwner', '$Pay', '$Method', '$TimeCreate')");


// Mostrar Dátos en la Pantalla
    
    
echo $Fname."<br>";
    echo 
$Lname."<br>";
    echo 
$Mail."<br>";
    echo 
$Genere."<br>";
    echo 
$Host."<br>";
    echo 
$UserAcc."<br>";
    echo 
$PasswordAcc."<br>";
    echo 
$Port."<br>";
    echo 
$IPOwner."<br>";
    echo 
$Pay."<br>";
    echo 
$Method."<br>";
    echo 
$TimeCreate."<br>";
    
// End

?>

Etiquetas: Ninguno
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 05:42.