Foros del Web » Programando para Internet » PHP »

ejecutar php almacenado en BD o tabla.

Estas en el tema de ejecutar php almacenado en BD o tabla. en el foro de PHP en Foros del Web. hola, hasta ahora he probado el eval code (aunque no lo entiendo al 100%), pero no me funciona correctamente, estoy haciendo un script que me ...
  #1 (permalink)  
Antiguo 13/11/2010, 03:10
 
Fecha de Ingreso: julio-2010
Mensajes: 34
Antigüedad: 13 años, 8 meses
Puntos: 0
ejecutar php almacenado en BD o tabla.

hola, hasta ahora he probado el eval code (aunque no lo entiendo al 100%), pero no me funciona correctamente, estoy haciendo un script que me carge las plantillas de las webs desde la base de datos y en las plantillas de la bd guardo php que se tiene que ejecutar luego, el problema del eval es que me ejecuta algunas variables pero no todas =S, por ejemplo:

El titulo del foro esta guardado en una tabla este la carga el setting.php y la muestra en las plantillas hasta hay bien pero en otra pagina donde se registra un usuario la plantilla le tiene que mostrar su datos de registro (user,pass,email...), pero me dice que no estan definidas y no encuentro el porque, hay alguna otra forma de hacerlo?.

informo que soy iniciado en php asi que tened paciencia conmigo xDDDD.

codigos:

TEMPLATES.PHP
Código PHP:
<?
include('setting.php');    
include(
'sesion.php');
    
if((!isset(
$Template)) or ($Template == '')) {echo 'Informe de este error a algun administrador';}

if( @
$Admin == 1)
{     
    
$Datos mysql_query("SELECT ID,template, template_msg FROM templates WHERE ID = 1 and template = 'Admin_template_$Template'"$conexion);
  
    while (
$row mysql_fetch_array($Datos))
    {  
    
$template_Admin $row['template_msg'];
    
$template_Admin ereg_replace'"''\\"'$template_Admin);
    
$template_Admin str_replace'['''$template_Admin);
    
$template_Admin str_replace']'''$template_Admin);
    eval(
"\$template_Admin = \"$template_Admin\";");
    echo 
$template_Admin;
    } 
    
  
}
//--------------------------------------
elseif( @$Mod == 2)
{
     
    
$Datos mysql_query("SELECT ID,template, template_msg FROM templates WHERE ID = 2 and template = 'Mod_template_$Template' "$conexion);
  
    while (
$row mysql_fetch_array($Datos))
    {  
    
$template_Mod $row['template_msg'];
    
$template_Mod ereg_replace'"''\\"'$template_Mod);
    
$template_Mod str_replace'['''$template_Mod);
    
$template_Mod str_replace']'''$template_Mod);
    eval(
"\$template_Mod = \"$template_Mod\";");
    echo 
$template_Mod;
    } 
 } 
//--------------------------------------
elseif( @$User == 3)
{
     
    
$Datos mysql_query("SELECT ID,template, template_msg FROM templates WHERE ID = 3 and template = 'User_template_$Template' "$conexion);
  
    while (
$row mysql_fetch_array($Datos))
    {  
    
$template_User $row['template_msg'];
    
$template_User ereg_replace'"''\\"'$template_User);
    
$template_User str_replace'['''$template_User);
    
$template_User str_replace']'''$template_User);
    eval(
"\$template_User = \"$template_User\";");
    echo 
$template_User;
    } 
 } 
 
 
//--------------------------------------
else
{    
    
$Datos mysql_query("SELECT ID,template, template_msg FROM templates WHERE ID = 4 and template = 'Visitor_template_$Template' "$conexion);
  
    while (
$row mysql_fetch_array($Datos))
    {  
    
$template_Visitor $row['template_msg'];
    
$template_Visitor ereg_replace'"''\\"'$template_Visitor);
    
$template_Visitor str_replace'['''$template_Visitor);
    
$template_Visitor str_replace']'''$template_Visitor);
    eval(
"\$template_Visitor = \"$template_Visitor\";");
    echo 
$template_Visitor;
    } 
 } 

?>
REGISTRO.PHP
Código PHP:
<? 

include('inc/setting.php');

if(!
function_exists('style'))
{
        function 
style($Template)
        {
        include(
'inc/templates.php');     
        }
}


if(
$_POST)
{
    
$user ereg_replace"([     ]+)"""$_POST['user']); //Remplazar espacios
    
$user ereg_replace">"""$user); //remplazar >
    
$user ereg_replace"<"""$user); //remplazar <
    
$user ereg_replace"\""""$user); //remplazar /
    
$user ereg_replace"'"""$user); //remplazar '
    
$user ereg_replace"#"""$user); //remplazar #
    
$user ereg_replace"$"""$user); //remplazar $ no funciona aun.
    
if($user == ''){ $Error_user_empty 1; } //si user esta vacio, Error_user es igual a 1
    
    
$user strtolower($user); //convertir cadena en minusculas
    //if(!isset($Error_user)){ echo 'bien'; }  //si la variable error_user no esta definida, mostramos bien. (ejemplo).
    
    
$clave ereg_replace"([     ]+)"""$_POST['clave']); //remplazamos espacios
    
if($clave == ''){ $Error_clave_empty 1; } //si clave esta vacia, Error_clave es igual a 1
    
if(strlen($clave) <= 6){ $Error_clave_small 1; } //si clave es menor a 6 caracteres decimos que error_clave_small es igual a 1
    
    
if(isset($Error_user_empty)){echo style('register_error_user_empty'); header('refresh:10; url=index.php?func=registro');}
    if(isset(
$Error_clave_empty)){echo style('register_error_clave_empty'); header('refresh:10; url=index.php?func=registro');}
    if(isset(
$Error_clave_small)){echo style('register_error_clave_small'); header('refresh:10; url=index.php?func=registro');}
    
    if((!isset(
$Error_user_empty)) && (!isset($Error_clave_empty)) && (!isset($Error_clave_small)))
        { 
        
$clave_original $clave;
        
$clave md5($clave);
     
        
$Datos mysql_query("SELECT Usuario FROM usuarios"$conexion);
            while (
$row mysql_fetch_array($Datos))
            { 
            
$BD_user $row['Usuario'];
            if(
$BD_user == $user){$Error_user_exist 1;}
            }
            
            if(isset(
$Error_user_exist)){echo style('register_user_exist'); header('refresh:10; url=index.php?func=registro');}
        
        
$Datos mysql_query("SELECT ID FROM usuarios"$conexion);
            while (
$row mysql_fetch_array($Datos)){ $ID $row['ID']; }
            @
$ID++;
            
            if(!isset(
$Error_user_exist)){
            
$fecha time(); 
            
$Datos mysql_query("INSERT INTO usuarios (ID, Usuario, Clave, Fecha, `Group`,Titulo) VALUES ($ID, '$user', '$clave', $fecha, 3, 'User')"$conexion);
            
setcookie("Mc-user",$user,time()+13536000);
            
setcookie("Mc-clave",$clave,time()+13536000);
            echo 
style('register_correct');
            
header('refresh:10; url=index.php');
            }
        
        }
    
//echo '<br>Seras redirigido a la pagina de inicio en <span id="contador">10</span> segundos o pulsa <a href="index.php">AQUI</a> para no esperar.';
}
 
?>

 <?
 
if(!($_POST))
        {
        echo 
style('register_form');
        }
 
?>
TABLA EN MYSQL CON PHP A EJECUTAR
Código HTML:
<html>
<head>
 <title>[$titulo]</title>
 <style type="text/css">
a:link,
a:visited{ text-decoration: none; color: #FFFFFF; }
a:active { text-decoration: underline; color: #FFFFFF; }
a:hover { text-decoration: underline;color: #FFFFFF; }
 </style>
 <script type="text/javascript">

var cont = 9;

function contador(){
if(cont > -1){
	var contador = document.getElementById("contador");
 contador.innerHTML = cont;
	cont--;
	}
}
</script>
</head>

<body style="background:#222;" onLoad="setInterval('contador()',1000);">
<center>
<div style="margin-top:150px; width:40%; color:#fff; background:#000; padding:10px; -moz-border-radius:10px;" align="left">

<span style="font-color:#fff;">Se completo el registro satisfactoriamente <br>Los datos de su registro son los siguientes: <br><br> <center>Usuario: <u>[$user]</u><br>Clave:<u>[$clave_original]</u></center>
	<br><br>Seras redirigido a la pagina de inicio en <span id="contador">10</span> segundos o pulsa <a href="index.php">AQUI</a> para no esperar.
</span>

</div>
</center>

</body>
</html> 
Gracias y saludos.
  #2 (permalink)  
Antiguo 13/11/2010, 08:49
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: ejecutar php almacenado en BD o tabla.

me parece que debes leer el manual...
http://php.net/eval

ahí explica y advierte las limitantes, contexto y forma de trabajar de dicha función...

por favor, no escatimes en estudiar un poco antes de continuar...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 13/11/2010, 11:53
 
Fecha de Ingreso: julio-2010
Mensajes: 34
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: ejecutar php almacenado en BD o tabla.

Código PHP:
        function style($Template)
        {
        global 
$usuario;
        global 
$clave_original;
        include(
'inc/templates.php');     
        } 
ahora la varible $usuario no se ve, en cambio la $clave_original si se ve -.-" joer... no se que puede ser.
  #4 (permalink)  
Antiguo 13/11/2010, 11:55
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: ejecutar php almacenado en BD o tabla.

y esto que imprime?
Código PHP:
global $usuario;

echo 
$usuario
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 13/11/2010, 12:02
 
Fecha de Ingreso: julio-2010
Mensajes: 34
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: ejecutar php almacenado en BD o tabla.

Solucionado con:

function style($Template)
{
global $user;
$usuario = $user;
global $clave_original;
include('inc/templates.php');
}

gracias igualmente =D cerrad si eso.

Etiquetas: bd, ejecutar, tablas, almacenar
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 15:51.