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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


  Mostrar Mensajes
Páginas: 1 2 3 [4] 5 6 7 8 9 10 11 12 13 14 15 16
31  Programación / Desarrollo Web / Re: Cookies Y Facebook en: 21 Octubre 2011, 01:07 am
No puedes agregar cookies con otro host en PHP o JS.

Pero si puedes editar cookies o agregar con un addon de firefox. O editando la base de datos sqlite.
Para Internet Explorer hay programas para editar cookies

Saludos
32  Programación / PHP / Clase de auto keywords, acentos. en: 20 Julio 2011, 21:03 pm
Tengo la siguiente clase: http://www.phpclasses.org/package/3245-PHP-Automatically-suggest-keywords-from-content-text.html

Código
  1. <?php
  2. class autokeyword {
  3.  
  4. //declare variables
  5. //the site contents
  6. var $contents;
  7. var $encoding;
  8. //the generated keywords
  9. var $keywords;
  10. //minimum word length for inclusion into the single word
  11. //metakeys
  12. var $wordLengthMin;
  13. var $wordOccuredMin;
  14. //minimum word length for inclusion into the 2 word
  15. //phrase metakeys
  16. var $word2WordPhraseLengthMin;
  17. var $phrase2WordLengthMinOccur;
  18. //minimum word length for inclusion into the 3 word
  19. //phrase metakeys
  20. var $word3WordPhraseLengthMin;
  21. //minimum phrase length for inclusion into the 2 word
  22. //phrase metakeys
  23. var $phrase2WordLengthMin;
  24. var $phrase3WordLengthMinOccur;
  25. //minimum phrase length for inclusion into the 3 word
  26. //phrase metakeys
  27. var $phrase3WordLengthMin;
  28.  
  29. function autokeyword($params, $encoding)
  30. {
  31.  
  32. //get parameters
  33. $this->encoding = $encoding;
  34.  
  35.  
  36. $this->contents = $this->replace_chars($params['content']);
  37.  
  38. // single word
  39. $this->wordLengthMin = $params['min_word_length'];
  40. $this->wordOccuredMin = $params['min_word_occur'];
  41.  
  42. // 2 word phrase
  43. $this->word2WordPhraseLengthMin = $params['min_2words_length'];
  44. $this->phrase2WordLengthMin = $params['min_2words_phrase_length'];
  45. $this->phrase2WordLengthMinOccur = $params['min_2words_phrase_occur'];
  46.  
  47. // 3 word phrase
  48. $this->word3WordPhraseLengthMin = $params['min_3words_length'];
  49. $this->phrase3WordLengthMin = $params['min_3words_phrase_length'];
  50. $this->phrase3WordLengthMinOccur = $params['min_3words_phrase_occur'];
  51.  
  52. //parse single, two words and three words
  53.  
  54. }
  55.  
  56. function get_keywords()
  57. {
  58. $keywords = $this->parse_words().$this->parse_2words().$this->parse_3words();
  59. return substr($keywords, 0, -2);
  60. }
  61.  
  62. //turn the site contents into an array
  63. //then replace common html tags.
  64. function replace_chars($content)
  65. {
  66. //convert all characters to lower case
  67. $content = mb_strtolower($content);
  68. //$content = mb_strtolower($content, "UTF-8");
  69. $content = strip_tags($content);
  70.  
  71. $punctuations = array(',', ')', '(', '.', "'", '"',
  72. '<', '>', '!', '?', '&ldquo;', '&rdquo;', '/', '-',
  73. '_', '[', ']', ':', ';', '+', '=', '#',
  74. '$', '&quot;', '&copy;', '039;', 'nbsp;', 'nbsp',
  75. '&aacute;', '&eacute;', '&bull;', 'bull;', 'aacute', 'eacute', 'uacute', 'ntilde', 'Ntilde', 'oacute', 'iacute', '&iacute;',
  76. '&oacute;', '&uacute', '&nbsp;', '&iquest;', '&hellip;', 'hellip', '&iexcl;', 'iexcl;', 'iquest;', 'iquest', 'iexcl', 'nbsp;', '&ntilde', 'mdash;', '&mdash;', 'mdash', '&mdash', 'ldquo;', '&ldquo;', 'ldquo', '&ldquo', 'rdquo;', '&rdquo;', 'rdquo', '&rdquo', '&Ntilde', '&039;', '&', '&gt;', '&lt;',
  77. chr(10), chr(13), chr(9));
  78.  
  79. $content = str_replace($punctuations, " ", $content);
  80. // replace multiple gaps
  81. $content = preg_replace('/ {2,}/si', " ", $content);
  82.  
  83. return $content;
  84. }
  85.  
  86. //single words META KEYWORDS
  87. function parse_words()
  88. {
  89. //list of commonly used words
  90. // this can be edited to suit your needs
  91. $common = array("m&aacute;s", "039;m");
  92. //create an array out of the site contents
  93. $s = split(" ", $this->contents);
  94. //initialize array
  95. $k = array();
  96. //iterate inside the array
  97. foreach( $s as $key=>$val ) {
  98. //delete single or two letter words and
  99. //Add it to the list if the word is not
  100. //contained in the common words list.
  101. if(mb_strlen(trim($val)) >= $this->wordLengthMin  && !in_array(trim($val), $common)  && !is_numeric(trim($val))) {
  102. $k[] = trim($val);
  103. }
  104. }
  105. //count the words
  106. //sort the words from
  107. //highest count to the
  108. //lowest.
  109. $occur_filtered = $this->occure_filter($k, $this->wordOccuredMin);
  110. arsort($occur_filtered);
  111.  
  112. $imploded = $this->implode(", ", $occur_filtered);
  113. //release unused variables
  114. unset($k);
  115. unset($s);
  116.  
  117. return $imploded;
  118. }
  119. function parse_2words()
  120. {
  121. //create an array out of the site contents
  122. $x = split(" ", $this->contents);
  123. //initilize array
  124.  
  125. //$y = array();
  126. for ($i=0; $i < count($x)-1; $i++) {
  127. //delete phrases lesser than 5 characters
  128. if( (mb_strlen(trim($x[$i])) >= $this->word2WordPhraseLengthMin ) && (mb_strlen(trim($x[$i+1])) >= $this->word2WordPhraseLengthMin) )
  129. {
  130. $y[] = trim($x[$i])." ".trim($x[$i+1]);
  131. }
  132. }
  133.  
  134. //count the 2 word phrases
  135. $y = @array_count_values($y);
  136.  
  137. $occur_filtered = $this->occure_filter($y, $this->phrase2WordLengthMinOccur);
  138. //sort the words from highest count to the lowest.
  139. arsort($occur_filtered);
  140.  
  141. $imploded = $this->implode(", ", $occur_filtered);
  142. //release unused variables
  143. unset($y);
  144. unset($x);
  145.  
  146. return $imploded;
  147. }
  148.  
  149. function parse_3words()
  150. {
  151. //create an array out of the site contents
  152. $a = split(" ", $this->contents);
  153. //initilize array
  154. $b = array();
  155.  
  156. for ($i=0; $i < count($a)-2; $i++) {
  157. //delete phrases lesser than 5 characters
  158. if( (mb_strlen(trim($a[$i])) >= $this->word3WordPhraseLengthMin) && (mb_strlen(trim($a[$i+1])) > $this->word3WordPhraseLengthMin) && (mb_strlen(trim($a[$i+2])) > $this->word3WordPhraseLengthMin) && (mb_strlen(trim($a[$i]).trim($a[$i+1]).trim($a[$i+2])) > $this->phrase3WordLengthMin) )
  159. {
  160. $b[] = trim($a[$i])." ".trim($a[$i+1])." ".trim($a[$i+2]);
  161. }
  162. }
  163.  
  164. //count the 3 word phrases
  165. //sort the words from
  166. //highest count to the
  167. //lowest.
  168. $occur_filtered = $this->occure_filter($b, $this->phrase3WordLengthMinOccur);
  169. arsort($occur_filtered);
  170.  
  171. $imploded = $this->implode(", ", $occur_filtered);
  172. //release unused variables
  173. unset($a);
  174. unset($b);
  175.  
  176. return $imploded;
  177. }
  178.  
  179. function occure_filter($array_count_values, $min_occur)
  180. {
  181. $occur_filtered = array();
  182. foreach ($array_count_values as $word => $occured) {
  183. if ($occured >= $min_occur) {
  184. $occur_filtered[$word] = $occured;
  185. }
  186. }
  187.  
  188. return $occur_filtered;
  189. }
  190.  
  191. function implode($gule, $array)
  192. {
  193. $c = "";
  194. foreach($array as $key=>$val) {
  195. @$c .= $key.$gule;
  196. }
  197. return $c;
  198. }
  199. }
  200. ?>

Lo que hace la clase es buscar palabras repetidas y mostrarlas
Tengo el siguiente texto
"La convocatoria de reuni&oacute;n es una notificaci&oacute;n. Reuni&oacute;n. Reuni&oacute;n. Reuni&oacute;n"
Deberia marcarme Reuni&oacute;n, pero lo que me marca es solamente reuni y se corta.

Alguien sabe a que se debe el problema, o como lo podria arreglar?

La palabra es reuni&oacute;n y no reunión solo

Gracias
Salu2
33  Programación / PHP / Re: Error simple pero no lo veo, funcion setcookie en: 29 Marzo 2010, 03:21 am
Tendrías que codificar los archivos en ANSI, y con eso seguro no tendrías más problemas.

Lo más seguro es que antes estaba en ANSI, y hayas codificado en UTF8 sin querer, o tal vez con algún editor que guarde por defecto en UTF8. O tal vez haya habido un cambio en el servidor de PHP.

Al codificar en UTF8, se agrega unos caracteres antes de lo que ves para indicar que está en UTF8.

Entonces con UTF8 seria una especie de " <?php" en vez de "<?php", y entonces el espacio se mostraría como HTML como un espacio en blanco o salto de línea.

Tambien borra los espacios antes de "<?php", porque sino tambien se ejecutaria como HTML lo que haya antes del tag del php

Citar
<meta http-equiv="Content-Type" content="text/html charset=ANSI" />
No es cuestion de mostrar la pagina HTML en ANSI. Sino encodear los archivos php en ANSI. Lo haces desde el editor.

Pero como te digo, puedo estar equivocado, y puede que solamente tengas espacios adelante, por lo cual, con solo eliminar los espacios ya está.

Salu2
34  Programación / PHP / Re: Error simple pero no lo veo, funcion setcookie en: 29 Marzo 2010, 03:11 am
Si mal no me equivoco, el error se debe a que tengas el header.php o algun otro file como los de idiomas de tu pagina codificado en UTF-8?

Pon los archivos en ANSI y el error desaparecerá. Porque al tener los archivos codificados en UTF8 se agrega unos espacios antes del <?php

Recuerda pasar tambien los acentos y eso, para que funcionen en ANSI

Salu2
35  Programación / PHP / Re: error con MySQL en: 10 Julio 2009, 18:29 pm
La consulta en el PHP que subiste, está bien. No le encuentro error.

Pega el Conexion.php

-Puede que no hagas bien la conexión a MySQL.
-Usuario o contraseña equivocada? Te da error?
-La tabla existe?
36  Programación / PHP / Re: Duda al cerrar la conexion mysql desde php en: 21 Diciembre 2008, 22:40 pm
Citar
Mi script se basa en en que mientras el usuario este logueado ( te hablo de miles de usuarios ) puede realizar consultas y updates, vale la pena realmente cerrar la conexion cada vez que el usuario hace uso de la base de datos o es mejor solo cerrar la conexion cuando el usuario se desloguie ??

Que es mas optimo?

Tienes que cerrar SI o SI para optimizar. Porque la conexion a la base de datos no se cierra normal, sino por un timeout, y como cada pagina hace una sesión nueva.

Por ejemplo si no pones mysql_close()
Usuario Pepito se loggea, entonces se hace una conexión a SQL... y luego va a editar su perfil, se hace otra conexión, cuando guarda los datos se hace otra conexión... Entonces ya tendrías como 3 conexiones abiertas por el mismo visitante, y aunque se haya salido de la pagina anterior, eso no se cierra solo y sigue abierta la conexion, solo porque no haz cerrado las sesiones anteriores cuando termino de cargar la página. Y ahi ya vas a petar todo el servidor mysql. O vas a usar tu limite de conexiones concurrentes por usuario.

En fin, tienes que poner el mysql_close en el final de cada pagina que haga una conexión, porque asi cuando termina de cargar la página se cierra la conexión y no se queda abierta. Ya que al cambiar de pagina, no se continua la misma conexión, sino que se crea otra.

Asi que no es cuestión de "vale la pena", sino que lo vas a tener que cerrar si o si.
37  Programación / PHP / Re: Duda al cerrar la conexion mysql desde php en: 21 Diciembre 2008, 22:15 pm
Citar
La duda radica en, puedo cerrar la conexion que abri en config.php desde registro.php con mysql_close() ???
Sin problemas.

Citar
Necesito forsozamente pasar el parametro con que esta dentro de config.php ??
No hace falta. Puedes pasar $con que es el mysql_connect, al mysql_close de registro.php, y se cerraría. pero lo pondrías mysql_close($con); y asi de simple. Sin agregar nada más, salvo el include al principio hacia el config. De todas formas, si pones mysql_close();, sin pasar ningún argumento, es válido tambíen y cerrará todas las conexiones.


Asi como hiciste, es como usan la mayoría de los scripts, para no tener que repetir codigo.
38  Programación / PHP / Re: No responde correctamente a petición de borrar en: 21 Diciembre 2008, 16:44 pm
Así esta mal.

Porque mysql_query retorna TRUE o verdadero si se ejecuta la query de forma correcta. No importa que no devuelva resultados, pero si se ejecuta bien sin dar resultados, se transforma en TRUE.

Asi de que esa forma no te va a funcionar.

Lo que tendrías que hacer es un contador según $result, y si devuelve 0, sería Error al intentar borrar. Sino, Borrado. Porque si hay dos usuarios con el mismo usuario y id, puede devolver 2. Esta es una opción, que lo podrías usar con mysql_num_rows, para saber la cantidad de registros devueltos.

Si no te funciona, porque no estoy seguro si funcione el mysql_num_rows con DELETE, puedes hacer otra query para chequear si existe usuario = $duke y id = $id, y si existe, lo borra, sino, borrar.
39  Programación / PHP / Re: Proyecto PHP*LIBS creado por los usuarios de ElHacker.Net en: 21 Diciembre 2008, 16:37 pm
Muy buena la idea. Yo me apunto. Intentaré ayudar con lo poco que se.

Estuve viendo el sistema, bastante simple y fácil de usar.

Citar
obviamente solo creado por nosotros
Por ahi, hay una función copy and paste de php.net

Le veo dos problemas...
1.
Citar
if(!function_exists('desde_hasta')){
...
}
Creo que eso es absolutamente innescesario, y bastante problemático. Yo opino como comentaste, que las funciones tendrían que tener un prefijo por usuario.
El problema de usar el if function_exists, es que si tienen el mismo nombre, una función, la primera que se incluya, va a tener prioridad, y la segunda, va a ser una función que ni se ejecute, y ni siquiera daría error para debuggear o cambiar el nombre. . Y además no creo que todos se pongan a buscar cada vez que creen una función si ya tomaron el nombre. Lo mejor sería usar un prefijo, o no usar ese if, para que al menos haya error y haya forma de debuggear y se pueda cambiar el nombre.

2.
El inclusiones.php, ¿incluir los files manualmente?. Mucho trabajo, y requiere de alguien que este pendiente de mirar los files y actualizar el file cada vez que se agregue un file nuevo, se borre uno, etc.

En fin, en mi opinión, yo pondría las carpetas de cada usuario en otra carpeta especial, por ej. userlib

En vez de tener todas las carpetas en / junto al inclusiones.php, en otra aparte, o sea php_libs/userlib. Por si se necesita alguna carpeta global, como para imagenes.

Que el directorio quede de una forma asi
Citar
php_libs/userlib/
php_libs/userlib/ing_amc
php_libs/userlib/whk
php_libs/imagenes/
php_libs/inclusiones.php
php_libs/README.txt

De esta forma, ponemos las carpetas de los usuarios en userlib, y podríamos hacer los includes de forma automáticamente, usando foreach con glob para cada carpeta dentro de userlib, y luego adentro de ese foreach, hacemos include a los files dentro de cada carpeta de cada usuario dentro de userlib.

Aqui dejo el código, en tan solo 5 líneas. En vez de tener 20000 para cada include de cada file y tener que actualizarlo manualmente.

Citar
foreach(glob("".$PHPLIBS['DIR_CLASS']."userlib/*") as $usuario) {
	
foreach(
glob("".$usuario."/*.php") as $file) {
	
	
include_once 
$file;
	
}
}
40  Programación / PHP / Re: Duda de php con sql [Extraer datos] en: 20 Diciembre 2008, 23:23 pm
Con mysql_num_rows...

Aqui te va un ejemplo

Citar
$query mysql_query("SELECT * from mensaje WHERE usuario = 'id'");
$cantidad mysql_num_rows($query);
echo 
$cantidad;

Cambias la query por la tuya.
Páginas: 1 2 3 [4] 5 6 7 8 9 10 11 12 13 14 15 16
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines