elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  funcion en php
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: funcion en php  (Leído 3,545 veces)
elezekiel

Desconectado Desconectado

Mensajes: 246


Ver Perfil
funcion en php
« en: 28 Junio 2014, 00:00 am »

hola amigos, conozco muy poco de php y aca se que hay expertos, lo que voy a decir seguramente es absolutamente ridiculo y de novato, pero no tengo idea...

Yo tengo una web montada la cual tiene un "script" en uno de los archivos de php, no se si llamarlo asi que es este:


Código:
switch ($reset_points_formula){
                        case '0': $new_bpoints = ($select_req->fields[3]+$reset_points); break;
                        case '1': $new_bpoints = ($reset_points*($select_req->fields[2]+1)); break;
                    }

El case 1, es el que ejecuta, pues he hecho cambios ahi y obtuve resultados satisfactorios comprobando que efectivamente ahi se realizan los cambios.

Despues tengo otro archivo en php que tiene esto :

Código:
$reset_credits = trim($load_reset_settings->bcredits);

junto con otras variables (creo que son variables, no estoy seguro)
es decir, creo que ese reset_credits es una variable,  no ?


El tema es este, lo tengo en archivos separados, es posible que yo desde el primer code, tome el valor de esa variable "reset_credits"

Si es asi, como lo puedo leer?

No se si se entiende lo que digo...

Espero que si, cualquier duda me dicen y aclaro.. gracias de ante mano por ayudarme (como siempre)


En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: funcion en php
« Respuesta #1 en: 28 Junio 2014, 00:35 am »

Hay varias formas de hacer esto, pero la verdad no tengo idea de como este tu código. A menos que la variable sea super necesaria en muchos otros archivos te sugeriría que revalues la composición de tu código.

Algunas opciones incluyen hacer la variable global o pasar la variable como argumento de la función. Para ambas opciones vas necesitar incluir el otro archivo en tu script.


En línea

elezekiel

Desconectado Desconectado

Mensajes: 246


Ver Perfil
Re: funcion en php
« Respuesta #2 en: 28 Junio 2014, 00:44 am »

Como incluyo el archivo que contiene el segundo codigo en el script del primero?

Eso se hace con algun code especial, te paso parte del codigo inicial para que te orientes:

esto va en el primer archivo del cual tengo que ejecutar el script y de ahi tomar el valor del segundo:

Código
  1. <?
  2. $load_reset_settings = simplexml_load_file('engine/config_mods/reset_character_settings.xml');
  3. $active = trim($load_reset_settings->active);
  4. if($active == '0'){
  5. echo msg('0','Sorry, this feature is temporarily unavailable at the moment.');
  6. }else{
  7. $reset_level = trim($load_reset_settings->level);
  8. $reset_zen  = trim($load_reset_settings->zen);
  9. $reset_points = trim($load_reset_settings->bpoints);
  10. $reset_points_formula = trim($load_reset_settings->bpoints_formula);
  11. $reset_clear_skills = trim($load_reset_settings->clear_skills);
  12. $reset_clear_inv = trim($load_reset_settings->clear_inv);
  13. $reset_stats = trim($load_reset_settings->reset_stats);
  14. $reset_limit = trim($load_reset_settings->reset_limit);
  15.  
  16. if(isset($_GET['rid'])){
  17. echo '<div style="margin-top: 10px;">';
  18. $id = safe_input($_GET['rid'],'');
  19. if(empty($id) || !is_numeric($id)){
  20. header('Location: '.$core_run_script.'');
  21. exit();
  22. }else{
  23. if(character_and_account($id,$user_auth_id) === false){
  24. header('Location: '.$core_run_script.'');
  25. exit();
  26. }else {
  27. if(account_online($user_auth_id) === true){
  28. echo msg('0','Estas conectado al juego,porfavor desconectate para resetear.');
  29. }else{
  30. $select_req = $core_db->Execute("select clevel,money,resets,leveluppoint from character where mu_id=? and accountid=?",array($id,$user_auth_id));
  31. if($select_req->fields[0] < $reset_level){
  32. echo msg('0','Unable to reset, reason: lacking '.($reset_level - $select_req->fields[0]).' levels.');
  33. $no_reset = 1;
  34. }
  35. if($select_req->fields[1] < $reset_zen){
  36. echo msg('0','Unable to reset, reason: lacking '.number_format($reset_zen - $select_req->fields[1]).' zen.');
  37. $no_reset = 1;
  38. }
  39. if($select_req->fields[2] >= $reset_limit){
  40. echo msg('0','Unable to reset, reason: reset limit reached : '.number_format($reset_limit).'');
  41. $no_reset = 1;
  42. }
  43. if($no_reset != '1'){
  44. $new_money = $select_req->fields[1] - $reset_zen;
  45. switch ($reset_points_formula){
  46. case '0': $new_bpoints = ($select_req->fields[3]+$reset_points); break;
  47. case '1': $new_bpoints = ($reset_points*($select_req->fields[2]+1)); break;
  48. }
  49. switch ($reset_stats){
  50. case '1':
  51. if($reset_clear_inv == '1' and $reset_clear_skills == '1'){
  52. $reset_formula = "Update character set [resets]=(resets+1),[clevel]='1',[experience]='0',[leveluppoint]=?,[money]=?,[strength]='25',[dexterity]='25',[vitality]='25',[energy]='25',[leadership]='25',[inventory]=CONVERT(varbinary(1080), null),[magiclist]=CONVERT(varbinary(180), null) where mu_id=?";
  53. }elseif ($reset_clear_inv == '1'){
  54. $reset_formula = "Update character set [resets]=(resets+1),[clevel]='1',[experience]='0',[leveluppoint]=?,[money]=?,[strength]='25',[dexterity]='25',[vitality]='25',[energy]='25',[leadership]='25',[inventory]=CONVERT(varbinary(1080), null) where mu_id=?";
  55. }elseif ($reset_clear_skills == '1'){
  56. $reset_formula = "Update character set [resets]=(resets+1),[clevel]='1',[experience]='0',[leveluppoint]=?,[money]=?,[strength]='25',[dexterity]='25',[vitality]='25',[energy]='25',[leadership]='25',[magiclist]=CONVERT(varbinary(180), null) where mu_id=?";
  57. }elseif ($reset_clear_inv == '0' and $reset_clear_skills == '0'){
  58. $reset_formula = "Update character set [resets]=(resets+1),[clevel]='1',[experience]='0',[leveluppoint]=?,[money]=?,[strength]='25',[dexterity]='25',[vitality]='25',[energy]='25' where mu_id=?";
  59. }
  60. break;
  61. case '0':
  62. if($reset_clear_inv == '1' and $reset_clear_skills == '1'){
  63. $reset_formula = "Update character set [resets]=(resets+1),[clevel]='1',[experience]='0',[leveluppoint]=?,[money]=?,[inventory]=CONVERT(varbinary(1080), null),[magiclist]=CONVERT(varbinary(180), null) where mu_id=?";
  64. }elseif ($reset_clear_inv == '1'){
  65. $reset_formula = "Update character set [resets]=(resets+1),[clevel]='1',[experience]='0',[leveluppoint]=?,[money]=?,[inventory]=CONVERT(varbinary(1080), null) where mu_id=?";
  66. }elseif ($reset_clear_skills == '1'){
  67. $reset_formula = "Update character set [resets]=(resets+1),[clevel]='1',[experience]='0',[leveluppoint]=?,[money]=?,[magiclist]=CONVERT(varbinary(180), null) where mu_id=?";
  68. }elseif ($reset_clear_inv == '0' and $reset_clear_skills == '0'){
  69. $reset_formula = "Update character set [resets]=(resets+1),[clevel]='1',[experience]='0',[leveluppoint]=?,[money]=? where mu_id=?";
  70. }
  71. break;
  72. }
  73. $exc_reset_formula=$core_db->Execute($reset_formula,array($new_bpoints,$new_money,$id));
  74. if($exc_reset_formula){
  75. echo msg('1','Character successfully reseted.');
  76. }else{
  77. echo msg('0','Unable to reset, reason: system error, please contact administrator.');
  78. }
  79. }
  80. }
  81. }
  82. }
  83. echo '</div>';
  84. }

Tiene mucho mas pero creo que con eso alcanza, no ? el otro archivo tiene este code:

(que de este archivo es de donde obtengo el valor pero para este archivo, yo lo quiero tomar para el otro)

Código
  1. <?
  2. $load_reset_settings = simplexml_load_file('engine/config_mods/grandreset_character_settings.xml');
  3. $active = trim($load_reset_settings->active);
  4. if($active == '0'){
  5. echo msg('0','Sorry, this feature is temporarily unavailable at the moment.');
  6. }else{
  7. $reset_resets_need = trim($load_reset_settings->resets_need);
  8. $reset_level = trim($load_reset_settings->level);
  9. $reset_zen  = trim($load_reset_settings->zen);
  10. $reset_points = trim($load_reset_settings->bpoints);
  11. $reset_points_formula = trim($load_reset_settings->bpoints_formula);
  12. $reset_clear_skills = trim($load_reset_settings->clear_skills);
  13. $reset_clear_inv = trim($load_reset_settings->clear_inv);
  14. $reset_stats = trim($load_reset_settings->reset_stats);
  15. $reset_limit = trim($load_reset_settings->reset_limit);
  16. $reset_credits = trim($load_reset_settings->bcredits);
  17. $reset_credits_formula = trim($load_reset_settings->bcredits_formula);
  18.  
  19. if(isset($_GET['rid'])){
  20. echo '<div style="margin-top: 10px;">';
  21. $id = safe_input($_GET['rid'],'');
  22. if(empty($id) || !is_numeric($id)){
  23. header('Location: '.$core_run_script.'');
  24. exit();
  25. }else{
  26. if(character_and_account($id,$user_auth_id) === false){
  27. header('Location: '.$core_run_script.'');
  28. exit();
  29. }else {
  30. if(account_online($user_auth_id) === true){
  31. echo msg('0','Account is connected on game, please logout.');
  32. }else{
  33. $select_req = $core_db->Execute("select clevel,money,resets,leveluppoint,grand_resets from character where mu_id=? and accountid=?",array($id,$user_auth_id));
  34.  
  35. if($select_req->fields[2] < $reset_resets_need){
  36. echo msg('0','Unable to reset, reason: lacking '.($reset_resets_need - $select_req->fields[2]).' resets.');
  37. $no_reset = 1;
  38. }
  39.  
  40. if($select_req->fields[0] < $reset_level){
  41. echo msg('0','Unable to reset, reason: lacking '.($reset_level - $select_req->fields[0]).' levels.');
  42. $no_reset = 1;
  43. }
  44. if($select_req->fields[1] < $reset_zen){
  45. echo msg('0','Unable to reset, reason: lacking '.number_format($reset_zen - $select_req->fields[1]).' zen.');
  46. $no_reset = 1;
  47. }
  48. if($no_reset != '1'){
  49. $new_money = $select_req->fields[1] - $reset_zen;
  50. switch ($reset_points_formula){
  51. case '0': $new_bpoints = ($select_req->fields[3]+$reset_points); break;
  52. case '1': $new_bpoints = ($select_req->fields[3]+ ($reset_points*($select_req->fields[2]+1))); break;
  53. }
  54.  
  55. switch ($reset_credits_formula){
  56. case '0': $new_bcredits = ($reset_credits); break;
  57. case '1': $new_bcredits = ($reset_credits*($select_req->fields[4]+1)); break;
  58. }
  59. switch ($reset_stats){
  60. case '1':
  61. if($reset_clear_inv == '1' and $reset_clear_skills == '1'){
  62. $reset_formula = "Update character set [resets]='0',[clevel]='1',[experience]='0',[leveluppoint]=?,[money]=?,[strength]='25',[dexterity]='25',[vitality]='25',[energy]='25',[leadership]='25',[inventory]=CONVERT(varbinary(1080), null),[magiclist]=CONVERT(varbinary(180), null),[grand_resets]=(grand_resets+1) where mu_id=?";
  63. }elseif ($reset_clear_inv == '1'){
  64. $reset_formula = "Update character set [resets]='0',[clevel]='1',[experience]='0',[leveluppoint]=?,[money]=?,[strength]='25',[dexterity]='25',[vitality]='25',[energy]='25',[leadership]='25',[inventory]=CONVERT(varbinary(1080), null),[grand_resets]=(grand_resets+1) where mu_id=?";
  65. }elseif ($reset_clear_skills == '1'){
  66. $reset_formula = "Update character set [resets]='0',[clevel]='1',[experience]='0',[leveluppoint]=?,[money]=?,[strength]='25',[dexterity]='25',[vitality]='25',[energy]='25',[leadership]='25',[magiclist]=CONVERT(varbinary(180), null),[grand_resets]=(grand_resets+1) where mu_id=?";
  67. }elseif ($reset_clear_inv == '0' and $reset_clear_skills == '0'){
  68. $reset_formula = "Update character set [resets]='0',[clevel]='1',[experience]='0',[leveluppoint]=?,[money]=?,[strength]='25',[dexterity]='25',[vitality]='25',[energy]='25',[leadership]='25',[grand_resets]=(grand_resets+1) where mu_id=?";
  69. }
  70. break;
  71. case '0':
  72. if($reset_clear_inv == '1' and $reset_clear_skills == '1'){
  73. $reset_formula = "Update character set [resets]='0',[clevel]='1',[experience]='0',[leveluppoint]=?,[money]=?,[inventory]=CONVERT(varbinary(1080), null),[magiclist]=CONVERT(varbinary(180), null),[grand_resets]=(grand_resets+1) where mu_id=?";
  74. }elseif ($reset_clear_inv == '1'){
  75. $reset_formula = "Update character set [resets]='0',[clevel]='1',[experience]='0',[leveluppoint]=?,[money]=?,[inventory]=CONVERT(varbinary(1080), null),[grand_resets]=(grand_resets+1) where mu_id=?";
  76. }elseif ($reset_clear_skills == '1'){
  77. $reset_formula = "Update character set [resets]='0',[clevel]='1',[experience]='0',[leveluppoint]=?,[money]=?,[magiclist]=CONVERT(varbinary(180), null),[grand_resets]=(grand_resets+1) where mu_id=?";
  78. }elseif ($reset_clear_inv == '0' and $reset_clear_skills == '0'){
  79. $reset_formula = "Update character set [resets]='0',[clevel]='1',[experience]='0',[leveluppoint]=?,[money]=?,[grand_resets]=(grand_resets+1) where mu_id=?";
  80. }
  81. break;
  82. }
  83. $exc_reset_formula=$core_db->Execute($reset_formula,array($new_bpoints,$new_money,$id));
  84.  
  85.  
  86. $check_for_memb_id = $core_db2->Execute("Select ".MU_COINS_USERID_COLUMN." from ".MU_COINS_TABLE." where ".MU_COINS_USERID_COLUMN."=?",array($user_auth_id));
  87. if($check_for_memb_id->EOF){
  88. $set_credits = $core_db2->Execute("insert into ".MU_COINS_TABLE." (".MU_COINS_USERID_COLUMN.",".MU_COINS_COLUMN.")VALUES(?,?)",array($user_auth_id,$new_bcredits));
  89. }else{
  90. $set_credits = $core_db2->Execute("Update ".MU_COINS_TABLE." set ".MU_COINS_COLUMN."=".MU_COINS_COLUMN."+?  where ".MU_COINS_USERID_COLUMN."=?",array($new_bcredits,$user_auth_id));
  91. }
  92.  
  93.  
  94. if($exc_reset_formula && $set_credits){
  95. echo msg('1','Character successfully grand reseted.');
  96. }else{
  97. echo msg('0','Unable to grand reset, reason: system error, please contact administrator.');
  98. }
  99. }
  100. }
  101. }
  102. }
  103. echo '</div>';
  104. }
  105.  

Gracias por tu pronta respuesta, hace 4 dias estoy con esto, y ayer publique en varios foros pero nadie quiso ayudarme.

Gracias por la sugerencia, ya lo modifique
« Última modificación: 28 Junio 2014, 01:16 am por elezekiel » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: funcion en php
« Respuesta #3 en: 28 Junio 2014, 01:11 am »

te recomiendo para que se pueda entender algo en tu codigo (es sumamente dificil de leer) modificalo y el codigo colocalo entre etiquetas GeSHi (donde está la etiqueta simple de codigo, a la derecha al final) y escoges tu lenguaje
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: funcion en php
« Respuesta #4 en: 28 Junio 2014, 02:07 am »

En este caso yo creo que podrías hacer un archivo que cargue toda la información de tus archivos xml. Por ejemplo:

Config.php
Código
  1. $load_reset_settings = simplexml_load_file('engine/config_mods/reset_character_settings.xml');
  2. $load_grand_reset_settings = simplexml_load_file('engine/config_mods/grandreset_character_settings.xml');
  3. ..
  4. //Agrega mas archivos aqui
  5. $reset_credits = trim($load_grand_reset_settings->bcredits);
  6. $reset_level = trim($load_reset_settings->level);
  7. ..
  8. //Agrega mas variables aqui

GrandReset.php
Código
  1. include 'Config.php'
  2. $reset_credits;
  3. //Tambien puedes ver $reset_level por si lo necesitas

Reset.php
Código
  1. include 'Config.php'
  2. $reset_level;
  3. //Tambien puedes ver $reset_credits por si lo necesitas
« Última modificación: 28 Junio 2014, 02:13 am por MinusFour » En línea

elezekiel

Desconectado Desconectado

Mensajes: 246


Ver Perfil
Re: funcion en php
« Respuesta #5 en: 28 Junio 2014, 02:16 am »

Entiendo perfectamente lo que decis, gracias por la claridad, como agrego el archivo??..
sorry se que soy nulo en php..

o el code que me facilitaste ya lo tiene cargado?

Creo otro con extension html y agrego el script que me pasaste?
no me queda claro lo de agregar mas archivos.. si le llamas aregar a la linea de code o a crear un archivo nuevo de 0.

de verdad disculpas por no saber, yo solo manejo visual basic 6.

gracias
En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: funcion en php
« Respuesta #6 en: 28 Junio 2014, 02:35 am »

Los archivos pueden estar donde sea, lo único importante es que el include apunte correctamente a él archivo de configuración. El archivo tiene que cargar todas las variables y los archivos correspondientes para configurar las variables.

Cuando quieras utilizar las variables sólo llamas al archivo vía include y listo.
En línea

elezekiel

Desconectado Desconectado

Mensajes: 246


Ver Perfil
Re: funcion en php
« Respuesta #7 en: 28 Junio 2014, 03:22 am »

Excelente, gracias, ya entiendo mas... muchas gracias.. voy a llevar a cabo la modificacion y comento  como me fue.

Nuevamente muchas gracias por tu tiempo y experiencia.
En línea

elezekiel

Desconectado Desconectado

Mensajes: 246


Ver Perfil
Re: funcion en php
« Respuesta #8 en: 28 Junio 2014, 03:48 am »

Los archivos pueden estar donde sea, lo único importante es que el include apunte correctamente a él archivo de configuración. El archivo tiene que cargar todas las variables y los archivos correspondientes para configurar las variables.

Cuando quieras utilizar las variables sólo llamas al archivo vía include y listo.

Bueno intente pero no pude, me ignora el resto del code si coloco el "include"
Quiero decir que cuando voy a la pagina y apreto el boton para que vaya a aesa opcion no aparece nada, no me muestra nada.

Hay alguna parte especial donde deba colocarlo?

En el nombre del archivo con el nombre basta o tengo que colocar la ruta completa?

Saludos.
« Última modificación: 28 Junio 2014, 04:08 am por elezekiel » En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: funcion en php
« Respuesta #9 en: 28 Junio 2014, 05:14 am »

Probablemente haya un error en tu archivo de configuración. Sólo con el nombre basta si los archivos comparten el mismo directorio.
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines