|
Mostrar Temas
|
Páginas: 1 [2] 3 4 5 6
|
11
|
Programación / Bases de Datos / 2 foreign keys (delete cascade) haciendo referencia a una misma tabla
|
en: 14 Septiembre 2011, 01:38 am
|
Hola,
No soy un gran diseñador de bbdd pero me suelo defender con lo básico para mis consultas desde php... pero con esto me va a explotar la cabeza, os cuento:
Me invento 3 tablas.
users field_users_value fields
Quiero poder añadir campos dinamicos a un tipo de usuario determinado, a unos si a otros no, entonces añado a fields un registro que dice que los users de type = X tienen este campo añadido que tiene que rellenar, entonces cuando registro un usuario de type X se guarda un valor en field_users_value que tiene una foreign con fields y otra con users. Es decir que tanto si elimino el field padre, o el user padre, se elimine el field_user_value relacionado, pero me da un pete y debe ser porque la misma tabla tiene 2 claves foraneas con delete cascade.
1005 – Can’t create table ‘field_users_value’ (errno: 150)
Los campos tienen el mismo tipo (INT)..
¿Sabeis si esto se puede hacer?
|
|
|
12
|
Programación / PHP / usar array assoc en consulta mysql
|
en: 13 Septiembre 2011, 10:11 am
|
hola,
tengo una duda respecto a las comillas de un array assoc en una consulta mysql, se supone que si pongo comillas dobles no debo ponerle comillas de ningun tipo ni a la variable ni a su indice? ej: "... where id = $data[id] " seria correcto? disculpad el formato del msg, iphone..
|
|
|
13
|
Programación / Desarrollo Web / Plugin con Jquery retornando respuesta AJAX
|
en: 24 Mayo 2011, 19:20 pm
|
Hola, Llevo dias quebrandome la cabeza con esto; //función que comprueba si el usuario existe jQuery.fn.existe_user=function(){ $.ajax({ type: "POST", url: "ajax/existe_user.php", data: "nombre="+$(this).val(), success: function(existe){return existe;} }); }
El archivo existe_user.php esta funcionando correctamente, devuelve la id del usuario con el nombre introducido o 0 si este no existe, lo he comprobado con un alert en el success, el problema lo tengo al retornar la respuesta del plugin. $("nombre").existe_user();
Siempre devuelve undefined. He leido que si la conexión asincrona de ajax etc etc, pero se supone que con el success ya se hace el callback, una posible solución seria definir una variable global en el success pero quiero evitar esto. En definitiva, no se como hacer que existe_user(); devuelva la respuesta de la petición ajax. Un saludo.
|
|
|
14
|
Programación / Desarrollo Web / Amazon s3 vs hosting transferencia y almacenamiento ilimitados
|
en: 19 Mayo 2011, 10:54 am
|
Hola,
Soy un gran desconocedor de los planes de hosting, estoy trabajando en un proyecto que incluye almacenamiento de archivos masivo y quiero tener un planteamiento con la mejor alternativa.
La pregunta es clara:
Si empresas como hostgator o justhost ofrecen almacenamiento y transferencia ilimitados.
¿que sentido tiene contratar el servicio de almacenamiento de archivos de amazon?
Gracias, un saludo.
|
|
|
16
|
Programación / PHP / Extrayendo código fuente de una web (Problema con código generado por JS)
|
en: 2 Marzo 2011, 18:25 pm
|
Buenas tardes, He creado un script en php que me extrae cierto contenido del codigo fuente de cierta web..  Extraigo el código fuente con Fopen y luego lo voy tratando con funciones de string. $fo= fopen("$url","r") ; //obtengo el codigo fuente while (!feof($fo)) //Leo linea por linea hasta el final { $fuente .= fgets($fo, 4096); }
Bien, pues resulta que llegando al paso final del script me doy cuenta de que hay una parte del contenido web que no esta en el código fuente, o mejor dicho esta cifrado y se muestra mediante javascript, no he localizado la función que realiza esto pero me imagino que lo muestra mediante javascript ya que en el codigo fuente no aparece este contenido. Mi pregunta es la siguiente, como puede recoger este contenido mediante php? ¿Hay alguna manera de obtener el código generado por javascript desde php? ¿Alguien se ha encontrado con un problema parecido y me puede guiar un poco para resolverlo? Gracias, un saludo.
|
|
|
17
|
Programación / PHP / number_format() y numeros enteros (Solucionado)
|
en: 14 Octubre 2010, 10:09 am
|
Hola,
Tengo un problema a la hora de mostrar un resultado numerico, quiero mostrar $resultado usando number_format para añadir un . como separador de miles y una , para los decimales, hasta aqui todo bien, ahora bien al usar number format tienes que indicar cuantos decimales quieres mostrar, yo le indico que 4 pero claro si se trata de un numero entero me muestra... 1234,0000 ... Claro me saca 4 decimales a 0 totalmente inutiles, yo lo que quiero es que si es un entero no me muestre decimales y si tiene decimales como maximo que me muestre 4.
echo number_format($resultado, 4, ',', '.');
Gracias, un saludo.
|
|
|
18
|
Seguridad Informática / Bugs y Exploits / Exploit OpenSSL duda
|
en: 5 Julio 2010, 19:59 pm
|
Hola, Tengo muchas dudas sobre el mundillo de los exploits, por lo que he podido leer hasta ahora los exploits suelen venir con un "how to use.." pues bien.. es MENTIRA xD.. yo programo solo en VB, PHP y algo en JS pero a estos niveles me pierdo, se supone que este exploit debo compilarlo en C por ejemplo con Dev c++ y luego ejecutarlo? buala? sitio defaced? no lo entiendo muy bien... un saludo. ============================================================= OpenSSL < 0.9.8l and previous versions Multiple Vulnerability =============================================================
SecurityRisk : High Security Risk High (About) Arrow Remote Exploit : Yes Arrow Local Exploit : No Arrow Victim interaction required : No Arrow Exploit Available : Yes Arrow Credit : Bodo Moeller Arrow Published : 09.03.2010
Arrow Affected Software : openssl:openssl:0.9.8l and previous versions openssl:openssl:0.9.8k openssl:openssl:0.9.8j openssl:openssl:0.9.8i openssl:openssl:0.9.8h openssl:openssl:0.9.8g openssl:openssl:0.9.8f openssl:openssl:0.9.8e openssl:openssl:0.9.8d openssl:openssl:0.9.8c openssl:openssl:0.9.8b openssl:openssl:0.9.8a openssl:openssl:0.9.8
OpenSSL CVS Repository http://cvs.openssl.org/
___________________________________________________________________________ _
Server: cvs.openssl.org Name: Bodo Moeller Root: /v/openssl/cvs Email: bodo@openssl.org Module: openssl Date: 23-Feb-2010 11:36:41 Branch: OpenSSL_0_9_8-stable Handle: 2010022310363902
Modified files: (Branch: OpenSSL_0_9_8-stable) openssl CHANGES openssl/crypto/bn bn_div.c bn_gf2m.c openssl/crypto/ec ec2_smpl.c openssl/engines e_ubsec.c
Log: Always check bn_wexpend() return values for failure (CVE-2009-3245).
(The CHANGES entry covers the change from PR #2111 as well, submitted by Martin Olsson.)
Submitted by: Neel Mehta
Summary: Revision Changes Path 1.1238.2.189+3 -0 openssl/CHANGES 1.37.2.9 +1 -1 openssl/crypto/bn/bn_div.c 1.18.2.3 +2 -1 openssl/crypto/bn/bn_gf2m.c 1.14.2.2 +6 -4 openssl/crypto/ec/ec2_smpl.c 1.13.2.4 +2 -2 openssl/engines/e_ubsec.c
___________________________________________________________________________ _
patch -p0 <<'@@ .' Index: openssl/CHANGES
=========================================================================== = $ cvs diff -u -r1.1238.2.188 -r1.1238.2.189 CHANGES --- openssl/CHANGES 19 Feb 2010 18:25:37 -0000 1.1238.2.188 +++ openssl/CHANGES 23 Feb 2010 10:36:39 -0000 1.1238.2.189 @@ -4,6 +4,9 @@
Changes between 0.9.8l and 0.9.8m [xx XXX xxxx]
+ *) Always check bn_wexpend() return values for failure. (CVE-2009-3245) + [Martin Olsson, Neel Mehta] + *) Fix X509_STORE locking: Every 'objs' access requires a lock (to accommodate for stack sorting, always a write lock!). [Bodo Moeller] @@ . patch -p0 <<'@@ .' Index: openssl/crypto/bn/bn_div.c
=========================================================================== = $ cvs diff -u -r1.37.2.8 -r1.37.2.9 bn_div.c --- openssl/crypto/bn/bn_div.c 17 Jun 2009 11:26:39 -0000 1.37.2.8 +++ openssl/crypto/bn/bn_div.c 23 Feb 2010 10:36:41 -0000 1.37.2.9 @@ -102,7 +102,7 @@ /* The next 2 are needed so we can do a dv->d<A NAME="-0"></A>[0]|=1 later * since BN_lshift1 will only work once there is a value :-) */ BN_zero(dv); - bn_wexpand(dv,1); + if(bn_wexpand(dv,1) == NULL) goto end; dv->top=1;
if (!BN_lshift(D,D,nm-nd)) goto end; @@ . patch -p0 <<'@@ .' Index: openssl/crypto/bn/bn_gf2m.c
=========================================================================== = $ cvs diff -u -r1.18.2.2 -r1.18.2.3 bn_gf2m.c --- openssl/crypto/bn/bn_gf2m.c 23 Jun 2008 20:46:28 -0000 1.18.2.2 +++ openssl/crypto/bn/bn_gf2m.c 23 Feb 2010 10:36:41 -0000 1.18.2.3 @@ -294,7 +294,8 @@ if (a->top < b->top) { at = b; bt = a; } else { at = a; bt = b; }
- bn_wexpand(r, at->top); + if(bn_wexpand(r, at->top) == NULL) + return 0;
for (i = 0; i < bt->top; i++) { @@ . patch -p0 <<'@@ .' Index: openssl/crypto/ec/ec2_smpl.c
=========================================================================== = $ cvs diff -u -r1.14.2.1 -r1.14.2.2 ec2_smpl.c --- openssl/crypto/ec/ec2_smpl.c 13 Mar 2006 23:12:07 -0000 1.14.2.1 +++ openssl/crypto/ec/ec2_smpl.c 23 Feb 2010 10:36:41 -0000 1.14.2.2 @@ -174,8 +174,10 @@ dest->poly<A NAME="-2"></A>[2] = src->poly[2]; dest->poly<A NAME="-3"></A>[3] = src->poly[3]; dest->poly<A NAME="-4"></A>[4] = src->poly[4]; - bn_wexpand(&dest->a, (int)(dest->poly[0] + BN_BITS2 - 1) / BN_BITS2); - bn_wexpand(&dest->b, (int)(dest->poly[0] + BN_BITS2 - 1) / BN_BITS2); + if(bn_wexpand(&dest->a, (int)(dest->poly[0] + BN_BITS2 - 1) / BN_BITS2) == NULL) + return 0; + if(bn_wexpand(&dest->b, (int)(dest->poly[0] + BN_BITS2 - 1) / BN_BITS2) == NULL) + return 0; for (i = dest->a.top; i < dest->a.dmax; i++) dest->a.d[i] = 0; for (i = dest->b.top; i < dest->b.dmax; i++) dest->b.d[i] = 0; return 1; @@ -199,12 +201,12 @@
/* group->a */ if (!BN_GF2m_mod_arr(&group->a, a, group->poly)) goto err; - bn_wexpand(&group->a, (int)(group->poly[0] + BN_BITS2 - 1) / BN_BITS2); + if(bn_wexpand(&group->a, (int)(group->poly[0] + BN_BITS2 - 1) / BN_BITS2) == NULL) goto err; for (i = group->a.top; i < group->a.dmax; i++) group->a.d[i] = 0;
/* group->b */ if (!BN_GF2m_mod_arr(&group->b, b, group->poly)) goto err; - bn_wexpand(&group->b, (int)(group->poly[0] + BN_BITS2 - 1) / BN_BITS2); + if(bn_wexpand(&group->b, (int)(group->poly[0] + BN_BITS2 - 1) / BN_BITS2) == NULL) goto err; for (i = group->b.top; i < group->b.dmax; i++) group->b.d[i] = 0;
ret = 1; @@ . patch -p0 <<'@@ .' Index: openssl/engines/e_ubsec.c
=========================================================================== = $ cvs diff -u -r1.13.2.3 -r1.13.2.4 e_ubsec.c --- openssl/engines/e_ubsec.c 6 Sep 2007 12:43:53 -0000 1.13.2.3 +++ openssl/engines/e_ubsec.c 23 Feb 2010 10:36:41 -0000 1.13.2.4 @@ -934,7 +934,7 @@ priv_key = BN_new(); if (priv_key == NULL) goto err; priv_key_len = BN_num_bits(dh->p); - bn_wexpand(priv_key, dh->p->top); + if(bn_wexpand(priv_key, dh->p->top) == NULL) goto err; do if (!BN_rand_range(priv_key, dh->p)) goto err; while (BN_is_zero(priv_key)); @@ -949,7 +949,7 @@ { pub_key = BN_new(); pub_key_len = BN_num_bits(dh->p); - bn_wexpand(pub_key, dh->p->top); + if(bn_wexpand(pub_key, dh->p->top) == NULL) goto err; if(pub_key == NULL) goto err; } else @@ .
|
|
|
19
|
Media / Multimedia / El escritorio es mas grande que la pantalla!
|
en: 16 Noviembre 2009, 20:56 pm
|
Buenas,
Me he comprado una TV SAIVOD que esta preparada para usarse de monitor, tiene entrada VGA, cuando llegue a casa recordé que mi tarjeta gráfica solo tiene salida DVI asi que lo conecté mediante un adaptador DVI-HDMI pero no consigo ajustar la pantalla al escritorio. El escritorio es mas ancho y mas alto que la pantalla....
Uso Windows XP Sp3 Nvidia Geforce 9800 GTX Y la tv es el modelo SAIVOD CI-1024GR tiene entrada VGA, HDMI, Euroconector etc.. es panorámico.
NVIDIA 9800GTX -->DVI-->ADAPTADOR-->HDMI-->TV SAIVOD
He probado de todo ya estoy desesperado.. xD todas las resoluciones y tambien desde el panel de control de NVIDIA pero no hay manera.
Saludos.
PD: No he sabido si es mas adecuado poner el post en Windows o en Multimedia, lo siento si me he equivocado.
|
|
|
20
|
Programación / PHP / Recojer datos con TinyMce
|
en: 14 Julio 2009, 05:16 am
|
Hola buenas, Tengo un problemon con TinyMce... el editor de texto WYSIWYG. Tengo un text area con TinyMce que guarda cierto contenido en una BDD, al guardarlo se le agrega automaticamente las barras en las comillas "/ (slashes), para mostrarlo en html solo tengo que hacer:
Hasta aqui bien, pero... ¿y si quiero editar este texto previamente guardado en la BDD? Si cuando lo recojo de la BDD y lo pongo en el value del textarea no le pongo stripslashes no se muestra correctamente porque hay unas barras dando la tabarra... xD pero si le pongo el stripslashes tengo problemas a la hora de entrecomillar el value " Aqui esta el contenido y puede contener comillas que desde luego las va ha contener...." asi que estoy perdido sin saber que mas hacer.... Un saludo
|
|
|
|
|
|
|