Foros del Web » Programando para Internet » PHP »

script automatico

Estas en el tema de script automatico en el foro de PHP en Foros del Web. he echo este script para importar usuarios y querria que cada vez quese modifico la base de datos se iniciara , lo he hecho en ...
  #1 (permalink)  
Antiguo 19/04/2013, 07:27
 
Fecha de Ingreso: abril-2013
Mensajes: 12
Antigüedad: 11 años
Puntos: 0
script automatico

he echo este script para importar usuarios y querria que cada vez quese modifico la base de datos se iniciara , lo he hecho en php pero si hay que hacerlo por php ,no me importa . contal de que funcione

Código PHP:
<?php
////////////////////////////////////////////////////  
//
//   script inportar phpbb
//
////////////////////////////////////////////////////

define('IN_PHPBB'true);
$phpbb_root_path =  './';
$phpEx substr(strrchr(__FILE__'.'), 1);
include(
$phpbb_root_path 'common.' $phpEx);
require(
$phpbb_root_path 'includes/functions_user.' $phpEx);
$user->session_begin();
$auth->acl($user->data);
$user->setup('ucp');
$import_dbname '1336182_bkaiclan';
$import_table 'nuked_users';
$champ_user 'pseudo';
$champ_password 'pass';
$champ_email 'mail';
define('MD5_PASSWORD'true);
if (
$import_dbname == $dbname)
{
   
$import_db $db;
}
else
{
   
$db_passwd 'lol123';
   
$import_db = new $sql_db();
   
$import_db->sql_connect($dbhost$dbuser$dbpasswd$import_dbname$dbportfalsetrue);
   unset(
$db_passwd);
}
$success_list=array();
$ignore_list = array();

$group_name =  'REGISTERED';
$sql 'SELECT group_id
      FROM ' 
GROUPS_TABLE "
      WHERE group_name = '" 
$db->sql_escape($group_name) . "'
         AND group_type = " 
GROUP_SPECIAL;
$result $db->sql_query($sql);
$row $db->sql_fetchrow($result);
$db->sql_freeresult($result);
if (!
$row)
{
   
trigger_error('NO_GROUP');
}
$group_id $row['group_id'];

$sql "SELECT $champ_user, $champ_password, $champ_email FROM $import_table";
$result $import_db->sql_query($sql);
while(
$row $import_db->sql_fetchrow($result))
{
   
$error = array();
   
$data = array(
      
'username'         => utf8_normalize_nfc($row[$champ_user]),
      
'password'         => $row[$champ_password],
      
'email'            => strtolower($row[$champ_email]),
   );
   
$error validate_data($data, array(
      
'username'         => array(
         array(
'string'false$config['min_name_chars'], $config['max_name_chars']),
         array(
'username''')),
      
'email'            => array(
         array(
'string'false660),
         array(
'email')),
   ));
   
$error preg_replace('#^([A-Z_]+)$#e'"(!empty(\$user->lang['\\1'])) ? \$user->lang['\\1'] : '\\1'"$error);
   if (!
sizeof($error))
   {
      
$user_row = array(
         
'username'            => $data['username'],
         
'user_password'         => (defined('MD5_PASSWORD')) ? $data['password'] : phpbb_hash($data['password']),
         
'user_pass_convert'      => (defined('MD5_PASSWORD')) ? 0,
         
'user_email'         => $data['email'],
         
'group_id'            => (int) $group_id,
         
'user_timezone'         => (float) $config['board_timezone'],
         
'user_dst'            => $config['board_dst'],
         
'user_lang'            => basename($user->lang_name),
         
'user_type'            => USER_NORMAL,
         
'user_actkey'         => '',
         
'user_ip'            => $user->ip,
         
'user_regdate'         => time(),
         
'user_inactive_reason'   => 0,
         
'user_inactive_time'   => 0,
      );
      
$user_id user_add($user_row);
      if (
$user_id === false)
      {
         
trigger_error('NO_USER'E_USER_ERROR);
      }
      
$success_list[] = $data['username'];
   }
   else
   {
      
$ignore_list[] = '<td>' $data['username'] . '</td><td>' implode('<br />'$error) . '</td>';
   }
}
echo 
'<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body>';
if (
sizeof($success_list))
{
   Echo 
'<b>Los siguientes usuarios han importado en la base de datos phpbb éxito:</b>' implode(' - '$success_list);
}
if (
sizeof($ignore_list))
{
   echo 
'<hr /><b>Los siguientes usuarios no han sido importados:</b><br />
   <table border="1">
   <tr><th>Usuario</th><th>Motivo del error</th>
   <tr>' 
implode('</tr><tr>'$ignore_list) . '</tr></table>';
}
echo 
'</body></html>';
?>
  #2 (permalink)  
Antiguo 24/04/2013, 13:54
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: script automatico

puedes crear una funcion con ese script y unirlo a las consultas de manera que cada vez que hagas una modificacion se ejecute la funcion

ejemplo

Código PHP:
Ver original
  1. <?php
  2. ////////////////////////////////////////////////////  
  3. //
  4. //   script inportar phpbb
  5. //
  6. ////////////////////////////////////////////////////
  7.  
  8.  
  9.  function importar_phpbb(){
  10.  
  11. define('IN_PHPBB', true);
  12. $phpbb_root_path =  './';
  13. $phpEx = substr(strrchr(__FILE__, '.'), 1);
  14. include($phpbb_root_path . 'common.' . $phpEx);
  15. require($phpbb_root_path . 'includes/functions_user.' . $phpEx);
  16. $user->session_begin();
  17. $auth->acl($user->data);
  18. $user->setup('ucp');
  19. $import_dbname = '1336182_bkaiclan';
  20. $import_table = 'nuked_users';
  21. $champ_user = 'pseudo';
  22. $champ_password = 'pass';
  23. $champ_email = 'mail';
  24. define('MD5_PASSWORD', true);
  25. if ($import_dbname == $dbname)
  26. {
  27.    $import_db = $db;
  28. }
  29. else
  30. {
  31.    $db_passwd = 'lol123';
  32.    $import_db = new $sql_db();
  33.    $import_db->sql_connect($dbhost, $dbuser, $dbpasswd, $import_dbname, $dbport, false, true);
  34.    unset($db_passwd);
  35. }
  36. $success_list=array();
  37. $ignore_list = array();
  38.  
  39. $group_name =  'REGISTERED';
  40. $sql = 'SELECT group_id
  41.      FROM ' . GROUPS_TABLE . "
  42.      WHERE group_name = '" . $db->sql_escape($group_name) . "'
  43.         AND group_type = " . GROUP_SPECIAL;
  44. $result = $db->sql_query($sql);
  45. $row = $db->sql_fetchrow($result);
  46. $db->sql_freeresult($result);
  47. if (!$row)
  48. {
  49.    trigger_error('NO_GROUP');
  50. }
  51. $group_id = $row['group_id'];
  52.  
  53. $sql = "SELECT $champ_user, $champ_password, $champ_email FROM $import_table";
  54. $result = $import_db->sql_query($sql);
  55. while($row = $import_db->sql_fetchrow($result))
  56. {
  57.    $error = array();
  58.    $data = array(
  59.       'username'         => utf8_normalize_nfc($row[$champ_user]),
  60.       'password'         => $row[$champ_password],
  61.       'email'            => strtolower($row[$champ_email]),
  62.    );
  63.    $error = validate_data($data, array(
  64.       'username'         => array(
  65.          array('string', false, $config['min_name_chars'], $config['max_name_chars']),
  66.          array('username', '')),
  67.       'email'            => array(
  68.          array('string', false, 6, 60),
  69.          array('email')),
  70.    ));
  71.    $error = preg_replace('#^([A-Z_]+)$#e', "(!empty(\$user->lang['\\1'])) ? \$user->lang['\\1'] : '\\1'", $error);
  72.    if (!sizeof($error))
  73.    {
  74.       $user_row = array(
  75.          'username'            => $data['username'],
  76.          'user_password'         => (defined('MD5_PASSWORD')) ? $data['password'] : phpbb_hash($data['password']),
  77.          'user_pass_convert'      => (defined('MD5_PASSWORD')) ? 1 : 0,
  78.          'user_email'         => $data['email'],
  79.          'group_id'            => (int) $group_id,
  80.          'user_timezone'         => (float) $config['board_timezone'],
  81.          'user_dst'            => $config['board_dst'],
  82.          'user_lang'            => basename($user->lang_name),
  83.          'user_type'            => USER_NORMAL,
  84.          'user_actkey'         => '',
  85.          'user_ip'            => $user->ip,
  86.          'user_regdate'         => time(),
  87.          'user_inactive_reason'   => 0,
  88.          'user_inactive_time'   => 0,
  89.       );
  90.       $user_id = user_add($user_row);
  91.       if ($user_id === false)
  92.       {
  93.          trigger_error('NO_USER', E_USER_ERROR);
  94.       }
  95.       $success_list[] = $data['username'];
  96.    }
  97.    else
  98.    {
  99.       $ignore_list[] = '<td>' . $data['username'] . '</td><td>' . implode('<br />', $error) . '</td>';
  100.    }
  101. }
  102. echo '<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body>';
  103. if (sizeof($success_list))
  104. {
  105.    Echo '<b>Los siguientes usuarios han importado en la base de datos phpbb éxito:</b>' . implode(' - ', $success_list);
  106. }
  107. if (sizeof($ignore_list))
  108. {
  109.    echo '<hr /><b>Los siguientes usuarios no han sido importados:</b><br />
  110.   <table border="1">
  111.   <tr><th>Usuario</th><th>Motivo del error</th>
  112.   <tr>' . implode('</tr><tr>', $ignore_list) . '</tr></table>';
  113. }
  114. echo '</body></html>';
  115. }
  116. ?>


Código PHP:
Ver original
  1. $sql = "INSERT ('valor') VALUES ('valor')";
  2. $sql = "UPDATE('valor') VALUES ('valor')";
  3. // aqui la funcion se ejecutaria automaticamente despues de la modificacion
  4. if(verificar que la consulta fue exitosa)
  5. {
  6. require('importar_phpbb.php');
  7. importar_phpbb();
  8. }

es una idea espero que te sirva.

Etiquetas: automatico, html, select, sql, usuarios
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 10:52.