Autor
|
Tema: funcion en php (Leído 3,578 veces)
|
elezekiel
Desconectado
Mensajes: 246
|
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: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 :
$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
|
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
Mensajes: 246
|
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: <? $active = trim($load_reset_settings->active); if($active == '0'){ echo msg('0','Sorry, this feature is temporarily unavailable at the moment.'); }else{ $reset_level = trim($load_reset_settings->level); $reset_zen = trim($load_reset_settings->zen); $reset_points = trim($load_reset_settings->bpoints); $reset_points_formula = trim($load_reset_settings->bpoints_formula); $reset_clear_skills = trim($load_reset_settings->clear_skills); $reset_clear_inv = trim($load_reset_settings->clear_inv); $reset_stats = trim($load_reset_settings->reset_stats); $reset_limit = trim($load_reset_settings->reset_limit); echo '<div style="margin-top: 10px;">'; $id = safe_input($_GET['rid'],''); header('Location: '.$core_run_script.''); }else{ if(character_and_account($id,$user_auth_id) === false){ header('Location: '.$core_run_script.''); }else { if(account_online($user_auth_id) === true){ echo msg('0','Estas conectado al juego,porfavor desconectate para resetear.'); }else{ $select_req = $core_db->Execute("select clevel,money,resets,leveluppoint from character where mu_id=? and accountid=?",array($id,$user_auth_id)); if($select_req->fields[0] < $reset_level){ echo msg('0','Unable to reset, reason: lacking '.($reset_level - $select_req->fields[0]).' levels.'); $no_reset = 1; } if($select_req->fields[1] < $reset_zen){ echo msg ('0','Unable to reset, reason: lacking '.number_format($reset_zen - $select_req->fields[1]).' zen.'); $no_reset = 1; } if($select_req->fields[2] >= $reset_limit){ echo msg ('0','Unable to reset, reason: reset limit reached : '.number_format($reset_limit).''); $no_reset = 1; } if($no_reset != '1'){ $new_money = $select_req->fields[1] - $reset_zen; 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; } switch ($reset_stats){ case '1': if($reset_clear_inv == '1' and $reset_clear_skills == '1'){ $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=?"; }elseif ($reset_clear_inv == '1'){ $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=?"; }elseif ($reset_clear_skills == '1'){ $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=?"; }elseif ($reset_clear_inv == '0' and $reset_clear_skills == '0'){ $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=?"; } break; case '0': if($reset_clear_inv == '1' and $reset_clear_skills == '1'){ $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=?"; }elseif ($reset_clear_inv == '1'){ $reset_formula = "Update character set [resets]=(resets+1),[clevel]='1',[experience]='0',[leveluppoint]=?,[money]=?,[inventory]=CONVERT(varbinary(1080), null) where mu_id=?"; }elseif ($reset_clear_skills == '1'){ $reset_formula = "Update character set [resets]=(resets+1),[clevel]='1',[experience]='0',[leveluppoint]=?,[money]=?,[magiclist]=CONVERT(varbinary(180), null) where mu_id=?"; }elseif ($reset_clear_inv == '0' and $reset_clear_skills == '0'){ $reset_formula = "Update character set [resets]=(resets+1),[clevel]='1',[experience]='0',[leveluppoint]=?,[money]=? where mu_id=?"; } break; } $exc_reset_formula=$core_db->Execute($reset_formula,array($new_bpoints,$new_money,$id)); if($exc_reset_formula){ echo msg('1','Character successfully reseted.'); }else{ echo msg('0','Unable to reset, reason: system error, please contact administrator.'); } } } } } echo '</div>'; }
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) <? $load_reset_settings = simplexml_load_file('engine/config_mods/grandreset_character_settings.xml'); $active = trim($load_reset_settings->active); if($active == '0'){ echo msg('0','Sorry, this feature is temporarily unavailable at the moment.'); }else{ $reset_resets_need = trim($load_reset_settings->resets_need); $reset_level = trim($load_reset_settings->level); $reset_zen = trim($load_reset_settings->zen); $reset_points = trim($load_reset_settings->bpoints); $reset_points_formula = trim($load_reset_settings->bpoints_formula); $reset_clear_skills = trim($load_reset_settings->clear_skills); $reset_clear_inv = trim($load_reset_settings->clear_inv); $reset_stats = trim($load_reset_settings->reset_stats); $reset_limit = trim($load_reset_settings->reset_limit); $reset_credits = trim($load_reset_settings->bcredits); $reset_credits_formula = trim($load_reset_settings->bcredits_formula); echo '<div style="margin-top: 10px;">'; $id = safe_input($_GET['rid'],''); header('Location: '.$core_run_script.''); }else{ if(character_and_account($id,$user_auth_id) === false){ header('Location: '.$core_run_script.''); }else { if(account_online($user_auth_id) === true){ echo msg('0','Account is connected on game, please logout.'); }else{ $select_req = $core_db->Execute("select clevel,money,resets,leveluppoint,grand_resets from character where mu_id=? and accountid=?",array($id,$user_auth_id)); if($select_req->fields[2] < $reset_resets_need){ echo msg('0','Unable to reset, reason: lacking '.($reset_resets_need - $select_req->fields[2]).' resets.'); $no_reset = 1; } if($select_req->fields[0] < $reset_level){ echo msg('0','Unable to reset, reason: lacking '.($reset_level - $select_req->fields[0]).' levels.'); $no_reset = 1; } if($select_req->fields[1] < $reset_zen){ echo msg ('0','Unable to reset, reason: lacking '.number_format($reset_zen - $select_req->fields[1]).' zen.'); $no_reset = 1; } if($no_reset != '1'){ $new_money = $select_req->fields[1] - $reset_zen; switch ($reset_points_formula){ case '0': $new_bpoints = ($select_req->fields[3]+$reset_points); break; case '1': $new_bpoints = ($select_req->fields[3]+ ($reset_points*($select_req->fields[2]+1))); break; } switch ($reset_credits_formula){ case '0': $new_bcredits = ($reset_credits); break; case '1': $new_bcredits = ($reset_credits*($select_req->fields[4]+1)); break; } switch ($reset_stats){ case '1': if($reset_clear_inv == '1' and $reset_clear_skills == '1'){ $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=?"; }elseif ($reset_clear_inv == '1'){ $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=?"; }elseif ($reset_clear_skills == '1'){ $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=?"; }elseif ($reset_clear_inv == '0' and $reset_clear_skills == '0'){ $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=?"; } break; case '0': if($reset_clear_inv == '1' and $reset_clear_skills == '1'){ $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=?"; }elseif ($reset_clear_inv == '1'){ $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=?"; }elseif ($reset_clear_skills == '1'){ $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=?"; }elseif ($reset_clear_inv == '0' and $reset_clear_skills == '0'){ $reset_formula = "Update character set [resets]='0',[clevel]='1',[experience]='0',[leveluppoint]=?,[money]=?,[grand_resets]=(grand_resets+1) where mu_id=?"; } break; } $exc_reset_formula=$core_db->Execute($reset_formula,array($new_bpoints,$new_money,$id)); $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)); if($check_for_memb_id->EOF){ $set_credits = $core_db2->Execute("insert into ".MU_COINS_TABLE ." (".MU_COINS_USERID_COLUMN .",".MU_COINS_COLUMN .")VALUES(?,?)",array($user_auth_id,$new_bcredits)); }else{ $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)); } if($exc_reset_formula && $set_credits){ echo msg('1','Character successfully grand reseted.'); }else{ echo msg('0','Unable to grand reset, reason: system error, please contact administrator.'); } } } } } echo '</div>'; }
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
|
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
|
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$load_grand_reset_settings = simplexml_load_file('engine/config_mods/grandreset_character_settings.xml'); .. //Agrega mas archivos aqui $reset_credits = trim($load_grand_reset_settings->bcredits); $reset_level = trim($load_reset_settings->level); .. //Agrega mas variables aqui
GrandReset.phpinclude 'Config.php' $reset_credits; //Tambien puedes ver $reset_level por si lo necesitas
Reset.phpinclude 'Config.php' $reset_level; //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
Mensajes: 246
|
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
|
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
Mensajes: 246
|
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
Mensajes: 246
|
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
|
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
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Función que retorna el valor de retorno de otra función
Programación C/C++
|
naderST
|
7
|
4,753
|
7 Diciembre 2011, 23:45 pm
por naderST
|
|
|
Evaluar Una Funcion dentro de otra funcion Python
Scripting
|
cristiantorres
|
1
|
10,380
|
14 Abril 2012, 06:20 am
por cristiantorres
|
|
|
[javascript] llamar a funcion que se recibe por parametro de la funcion
Desarrollo Web
|
Graphixx
|
0
|
5,650
|
24 Abril 2012, 19:36 pm
por Graphixx
|
|
|
Como llamar a una funcion dentro de otra funcion. Una ayuda urgentemente porfavo
Programación C/C++
|
LobateZZZ
|
1
|
10,260
|
14 Abril 2013, 03:07 am
por rir3760
|
|
|
como hacer una funcion que llame a otra funcion?
Programación C/C++
|
holamega12
|
5
|
2,826
|
12 Febrero 2014, 20:41 pm
por Vaagish
|
|