|
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<?php class autokeyword { //declare variables //the site contents var $contents; var $encoding; //the generated keywords var $keywords; //minimum word length for inclusion into the single word //metakeys var $wordLengthMin; var $wordOccuredMin; //minimum word length for inclusion into the 2 word //phrase metakeys var $word2WordPhraseLengthMin; var $phrase2WordLengthMinOccur; //minimum word length for inclusion into the 3 word //phrase metakeys var $word3WordPhraseLengthMin; //minimum phrase length for inclusion into the 2 word //phrase metakeys var $phrase2WordLengthMin; var $phrase3WordLengthMinOccur; //minimum phrase length for inclusion into the 3 word //phrase metakeys var $phrase3WordLengthMin; function autokeyword($params, $encoding) { //get parameters $this->encoding = $encoding; $this->contents = $this->replace_chars($params['content']); // single word $this->wordLengthMin = $params['min_word_length']; $this->wordOccuredMin = $params['min_word_occur']; // 2 word phrase $this->word2WordPhraseLengthMin = $params['min_2words_length']; $this->phrase2WordLengthMin = $params['min_2words_phrase_length']; $this->phrase2WordLengthMinOccur = $params['min_2words_phrase_occur']; // 3 word phrase $this->word3WordPhraseLengthMin = $params['min_3words_length']; $this->phrase3WordLengthMin = $params['min_3words_phrase_length']; $this->phrase3WordLengthMinOccur = $params['min_3words_phrase_occur']; //parse single, two words and three words } function get_keywords() { $keywords = $this->parse_words().$this->parse_2words().$this->parse_3words(); return substr($keywords, 0, -2); } //turn the site contents into an array //then replace common html tags. function replace_chars($content) { //convert all characters to lower case //$content = mb_strtolower($content, "UTF-8"); $punctuations = array(',', ')', '(', '.', "'", '"', '<', '>', '!', '?', '“', '”', '/', '-', '_', '[', ']', ':', ';', '+', '=', '#', '$', '"', '©', '039;', 'nbsp;', 'nbsp', 'á', 'é', '•', 'bull;', 'aacute', 'eacute', 'uacute', 'ntilde', 'Ntilde', 'oacute', 'iacute', 'í', 'ó', 'ú', ' ', '¿', '…', 'hellip', '¡', 'iexcl;', 'iquest;', 'iquest', 'iexcl', 'nbsp;', 'ñ', 'mdash;', '—', 'mdash', '&mdash', 'ldquo;', '“', 'ldquo', '&ldquo', 'rdquo;', '”', 'rdquo', '&rdquo', 'Ñ', '&039;', '&', '>', '<', // replace multiple gaps return $content; } //single words META KEYWORDS function parse_words() { //list of commonly used words // this can be edited to suit your needs $common = array("más", "039;m"); //create an array out of the site contents $s = split(" ", $this->contents); //initialize array //iterate inside the array foreach( $s as $key=>$val ) { //delete single or two letter words and //Add it to the list if the word is not //contained in the common words list. } } //count the words //sort the words from //highest count to the //lowest. $occur_filtered = $this->occure_filter($k, $this->wordOccuredMin); $imploded = $this->implode(", ", $occur_filtered); //release unused variables return $imploded; } function parse_2words() { //create an array out of the site contents $x = split(" ", $this->contents); //initilize array //$y = array(); for ($i=0; $i < count($x)-1; $i++) { //delete phrases lesser than 5 characters if( (mb_strlen(trim($x[$i])) >= $this->word2WordPhraseLengthMin ) && (mb_strlen(trim($x[$i+1])) >= $this->word2WordPhraseLengthMin) ) { } } //count the 2 word phrases $occur_filtered = $this->occure_filter($y, $this->phrase2WordLengthMinOccur); //sort the words from highest count to the lowest. $imploded = $this->implode(", ", $occur_filtered); //release unused variables return $imploded; } function parse_3words() { //create an array out of the site contents $a = split(" ", $this->contents); //initilize array for ($i=0; $i < count($a)-2; $i++) { //delete phrases lesser than 5 characters { } } //count the 3 word phrases //sort the words from //highest count to the //lowest. $occur_filtered = $this->occure_filter($b, $this->phrase3WordLengthMinOccur); $imploded = $this->implode(", ", $occur_filtered); //release unused variables return $imploded; } function occure_filter($array_count_values, $min_occur) { $occur_filtered = array(); foreach ($array_count_values as $word => $occured) { if ($occured >= $min_occur) { $occur_filtered[$word] = $occured; } } return $occur_filtered; } { $c = ""; foreach($array as $key=>$val) { @$c .= $key.$gule; } return $c; } } ?>
Lo que hace la clase es buscar palabras repetidas y mostrarlas Tengo el siguiente texto "La convocatoria de reunión es una notificación. Reunión. Reunión. Reunión" Deberia marcarme Reunió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ó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 <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
|
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
|
La duda radica en, puedo cerrar la conexion que abri en config.php desde registro.php con mysql_close() ??? Sin problemas. 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. obviamente solo creado por nosotros Por ahi, hay una función copy and paste de php.net Le veo dos problemas... 1.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 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. 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 $query = mysql_query("SELECT * from mensaje WHERE usuario = 'id'"); $cantidad = mysql_num_rows($query); echo $cantidad; Cambias la query por la tuya.
|
|
|
|
|
|
|