Hilo oficial del PHP

15, 6, 7, 8, 9
Esta es bastante popular:
http://gallery.menalto.com/

Nunca la he usado asi es que no se sipermite todo lo que quieres pero tiene muy buena pinta.


saludozzzzz
No me va la web ahora, pero conozco gallery, la tengo instalada :P pero es demasiado compleja para lo que quiero ;)

Gracias
Me han "pringao" para hacer "voluntaria y gratuitamente" una web para una asociación sin ánimo de lucro a la que pertenezco.

He hecho varias pruebas, y sin duda alguna me inclino a hacerlo con php (aunque no soy muy experto, tengo hechas algunas cosillas).

¿Conocéis alguna empresa que me permita alojamiento bueno, bonito y barato y que me permita trabajar con php y mysql?

Por otro lado, he estado buscando información sobre php-nuke, por si me pudiera servir para este proyecto. En principio quiero instalarlo en casa y probarlo. Si me convenciera, ¿me valdría el mismo servidor de alojamiento, o específicamente debería pedir que me permitiera trabajar con php-nuke?. Por lo poco que he buscado en google, lo de tener php-nuke implica un "servidor virtual" o algo así en la mayoría de los casos, y vale un huevo, aparte de que no sé si realmente lo usaríamos.

Gracias y saludos [bye]
yo te recomiendo que te mires drupal, como CMS. (viene a ser como Php-nuke pero a mi gusto mucho mejor).

En cuanto al servidor, depende lo que te quieras gastar. Si tiene php y mysql, te servirá para la mayoria de CMS opensource que existen.

Y por servidor, te recomiendo dreamhost, que es el que usamos para f1eol.net . Va muy bien, es muy completo (permiten mucha (http://www.dreamhost.com)s cosas, como alojar mas de un dominio y cosas asi, pero no creo que lo uses todo eso, pero quien sabe en el futuro), te dan 20 gb de almacenamiento, mas de 1 tb de transferencia, y un dominio gratis (.com) durente todo el tiempo que lo tengas contratado, y salen a 9,95 dolares al mes, que son unos 7,8 euros. Mas o menos, el año te sale a 93 euros...
Pero si metes el codigo "BONUS85" a la hora de contratarlo, te descuentan 85 dolares en el primer año, quedandote a pagar el primer año solo unos 27 euros...
y de paso ayudas a mantener a f1eol.net ;)

Yo creo que merece la pena, por solo 27 euros tienes un buen hosting todo el año y un dominio .com, no creo que haya nada similar en cuanto calidad/precio, y despues del año, o intentas buscar otro mas economico si te parece caro la cuota normal, o intentas hacer la misma jugada dandote de baja en este y contratando otro igual...

No se, cualquier duda que tengas tanto de Drupal como del servidor, te la resolvere encantado.
Gracias keo01, de momento me han pedido presupuestos, así que voy a ver si encuentro alguno un poco más cerca (me conozco yo a los míos).

Muy interesante lo de Drupal, sobre todo la demo, tengo que seguir jugeteando. Por cierto, ¿como metes el Drupal o php-nuke o cualquier cms en el servidor? Supongo que por ftp en el directorio que te asignen ¿no?.

En fin, tengo mi "servidor" en casa y en el curro, por lo que como soy yo el administrador sé donde tengo que poner las cosas, pero es la 1º vez que se me plantea hacerlo en un servidor externo y no sé muy bien como irá.

Gracias.
cada uno tiene sus formas de hacer las cosas, en algunos te dan (o te dejan crear) un usuario de ftp, y lo metes en tu directorio o en el directorio www dentro de este, o en el caso de dreamhost, por cada dominio o subdominio que tengas, te aparece un directorio en el cual debes subir los archivos mediante ftp.

En el caso de Drupal, ademas de subir los archivos, tienes que meter las tablas en la base de datos mysql... es muy sencillo, solo tienes que, mediante el phpmyadmin (que ya te lo proporcionan la mayoria de empresas de hosting en sus productos) "subir" un archivo. De todas maneras, esta muy bien explicado en la ayuda de drupal.
Gracias, sigo buscando empresas de más cerquita y me he encontrado dos que por 42€ al año creo que me dan todo lo que necesito. Son guebs.com y dimensis, por si las conocéis.

Quiero ade+ instalarme en mi PIII-600 con Debian stable, el apache, Mysql y php-nuke para empezar [ginyo] . Y ahora me pregunto, ¿apache o apache2? . De php el 4, porque también está el 3, pero ya estoy trabajando en el curro con el 4. Mysql el 4, porque el 5 no me aparece el 5 en stable ¿?.

Supongo que podrá con todo ello.

Por último juraría que con debian se podía instalar desde apt-get el php-nuke, pero no lo encuentro. ¿Me faltará algún servidor en el sources.list?. No obstante sé que es poco más que bajar y descomprimir, pero con el apt-get es más fácil.

Saludos. [bye]
Hola. A ver si alguien me puede ayudar. Estoy haciendo un proyecto para el ciclo formativo. Mi proyecto se basa en hacer un servidor hosting para páginas web. Lo tengo que hacer sobre windows y sobre linux. Ahora mismo estoy ultimandolo sobre windows y me ha surgido un problema.
Antes de nada decir qué programas y módulos estoy usando:

Servidor Apache 2.0.55
Servidor FTP ServU
PHP4
Módulo PHPMyAdmin
Mysql

Bueno, el caso es que, al usar el PHPMyAdmin desde localhost me va perfectamente, pero al hacerlo desde un ordenador remoto no me funciona bien. Si podéis por favor echarle un vistazo:

http://n015e.no-ip.org/phpmyadmin

Esa es la dirección. Como usuario: prueba1 como password: 1234

Una vez puesto el user y el pass, accede a la página principal de phpmyadmin, pero al pulsar sobre la base de datos del usuario (basedeprueba1) se dirige a la página de error cuando tendría que mostrar las características de la base de datos y las opciones. Alguien me puede ayudar?? porque es que no lo entiendo, ya que eh localhost si que me va perfectamente.
A mi me muestra las tablas y demás correctamente ;)
ok, es que ya lo he arreglao, era de la configuración del phpmyadmin.
Gracias de todas formas!!!

Por cierto, me podéis decir un foro en español de PHP que sea bueno para resolver dudas?? Gracias
Hola. Tengo un problema con el envío de e-mails en php usando la funcion mail(), a ver si me podéis ayudar:

mail("xxxxx@hotmail.com","si","hola", "From: xxxxxx@si.com");

Esa es la sentencia que tengo puesta y está bien. Bien, el caso es que, como servidor SMTP he instalado miniRelay, la última versión. Cuando se manda el e-mail desde la página web, miro el log de miniRelay y pone:

01:29:37 Comando: MAIL FROM < [email]xxxxxx@hotmail.com[/email]>
01:29:37 Comando: RCPT TO <xxxxxxxx@hotmail.com>
01:29:37 [1] Resolviendo dominio MX de hotmail.com
01:29:37 [1] Servidor DNS no responde
01:29:37 [1] Reintentando resolución DNS
01:29:37 [1] Servidor DNS no responde
01:29:37 [1] Reintentando resolución DNS
01:29:37 [1] Servidor DNS no responde
01:29:37 [1] Mensaje NO enviado, debido a fallos con el DNS>


Por qué puede ser??

Gracias.

Y ahora otra duda:

Para pasar variables de una página PHP a otra PHP uso esta sentencia:

if($pass==$row["pass"]){
         echo "<a href="paguser.php?saludo=/$user/&texto=$pass">Pulsa para continuar</a>";
      }


Compruebo si $pass es igual a pass en $row, y si es igual me redirigiría a paguser.php pasándole las variables $user y $pass. Pero en vez de hacerlo me pone este error:

Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in C:\servidor\WEB\complog.php on line 14


Tiene la sentencia algún error?? O cómo podría hacerlo??
Hola buenas. El script en cuestión que me gustaría hacer creo que es algo sencillo, pero me gustaría que me dierais ideas sobre como hacerlo:

Tengo archivos en html, y lo que quiero es crear un script que coja los titulos de cada uno de estos archivos (encerrados entre etiquetas diferentes) y ponerlo como titulo que enlaza a ese archivo, como headlines.
El tema es que tengo varios archivos html en la carpeta y me gustaria crear una pequeña tablita, pero no tengo ni idea de como hacer para que me coja de título ALGO (en este caso, el texto que va desde el final de hasta el primer que encuentre.

Ideas ?

Salu2 !

PD: En los html no hay scripts php ni mysql, si no ya lo habría hecho [+risas]

if($pass==$row["pass"]){
echo "Pulsa para continuar";
}



"
Otra opción que tienes es usar comillas simples y dobles ... o algo similar. En este caso las / que pones antes de las comillas simples no sé si son por algo, pero si son para "escapar" no haría falta puesto que no estás dentro de una cadena abierta con comilla simple ...

No sé si me explico ...

No obstante la cosa podría ser algo tal que así ... (con el formato que a mi más me gusta jeje).



El tema del correo como bien dice el error, se debe a que no sabe resolver el nombre del dominio al que lo estás enviando, revisa la configuración del servidor de correo para ver que servidor DNS estás utilizando ... y en caso de estar usando uno propio revisa la configuración puesto que no sabe resolver el hotmail.com

Saludos :)
Buenas,

¿sabéis cómo podría enviar un email ( mediante la función mail() ) con formato HTML? >_< pruebo a poner directamente las etiquetas pero así no funciona.

Saludos

Ya lo he conseguido, por si le interesa a alguien he añadido...:

[PHP]
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
[/PHP]

... añadiendo dicha variable como cuarto parámetro de la función mail()

Aunque no sé si ya se había dicho páginas atrás... :P
Gracias Zorrky yo tb andaba buscando eso ;)
estaba haciendo una web y me esta
surgiendo una duda que no consigo resolver. Es referente a la creacion de
sesiones. Mi idea es que cuando un usuario haga login si es correcto se vaya al
panel de gestion(codigo pagina: login_ok.php):

$query="SELECT * FROM coleccionistas WHERE mail='".$mail."' AND
contrasena='".$contrasena."'";
$result=mysql_query($query);

if(@mysql_num_rows($result)==1)// si ha encontrado el usuario
{
@$row=mysql_fetch_array($result);
session_start();//tambien esta en el header.php, supongo que aqui no hace
falta.
$_SESSION["user_id"]=$row["id"];//aqui debe estar el problema
echo "";
exit;
}
else{ ... error en el login ...

Pero luego he puesto en el panel un control para que no se puedan conectar
usuarios que previamente no hayan hecho el login(panel.php):

if(!session_is_registered("user_id"))
{
echo "";
}
else{ ...se muestra el panel...

PREGUNTA: el codigo me sale bien, pero siempre tengo que realizar dos login, el
primero siempre se va a error_pagina.php, debe ser porque no establece el
user_id y en la segunda vez si. El script es para redireccionar, la funcion
header(Location: lapga.php) no la he conseguido hacer funcionar. A ver si me
puedes hechar una mano, es la primera vez que me lanzado a hacer php, y
sobretodo quiero que me ayudaras a solucionar el tema del login, si existiera
alguna forma más estandar tambien agradeceria que me lo dijeses, ay te digo es
la 1º vez que me puesto en serio y lo hago como se me ocurre.
Así a bote pronto ... que no te funcione el Header suele ser por que NO se puede sacar nada en pantalla antes de una instrucción Header ... es decir si antes generas por ejemplo la cabecera no te servirá, los header deben ir antes de cualquier salida de texto html.

Respecto a lo otro, si sobra el segundo start_session(), pero en el panel estás iniciando la sesión ?

De todos modos miraría también si el row["id"] devuelve lo que tiene que devolver ...

Y si no, pues puedes usar echos para ver si cuando falla la primera vez, que valor de sesión le llega.

Edito: Te va a error accediendo directamente o desde el propio login ? ...
directamente si claro me va a error xq no ha iniciado sesion.
pero el problema surge cuando keires iniciar sesion, la primera vez que haces login simpre se va a ERROR (por lo que no se crea o se crea y no llega el id sesion) y la segunda vez ya entra perfectamente.
Aquí te paso el trozo de código que hace login.
if(trim($_POST["usuari"]) != "" && trim($_POST["password"]) != "")
{
   $nickN = $_POST["usuari"];
   $passN = $_POST["password"];
   
   $result = mysql_query("SELECT password FROM usuaris WHERE nombre='$nickN'",$link);
   if($row = mysql_fetch_array($result))
   {
      if($row["password"] == $passN)
      {
   
         $_SESSION['usuariAutenticat']=$_POST['usuari'];
         $_SESSION['password']=$_POST['password'];
      
         header("Location: principal.php");
      }
      else{
         header("Location: login_user.php?error=true");
      }
   }
   else{
     header("Location: login_user.php?error=true");
   }
}
else{
   header("Location: login_user.php?error=true");
}


Sí, sé que hay muchos "else" para que devuelva el error (error=true) pero es la única solución que encontré para hacer varias combinaciones de usuario erroneo o password erroneo, por lo demás funciona a la perfección.
Pues a mi no me sale... a ver mira he colocado la pagina login_ok que es donde se redirigen los formularios de login y que sirve para hacer la redireccion, si te has confundido a login con un mesnaje o al panel d control. Pero me dan error en la funcion header:

Este es el codigo:

$mail=$_POST['mail'];
$contrasena=$_POST['pass'];
$contrasena=md5($contrasena);
if($db)
{
$result=mysql_query("SELECT * FROM coleccionistas WHERE mail='".$mail."' AND contrasena='".$contrasena."'");

if(mysql_num_rows($result)==1)
{
$row=mysql_fetch_array($result);
$_SESSION["user_id"]=$row["id"];
header("Location: panel.php");
exit;
}

else {$msg="Datos introducidos incorrectos";
header("Location: login.php?msg=$msg");
exit;
}
}

else {$msg="Error al conectar con la base de datos";
header("Location: login.php?msg=$msg");
exit;
}

Este el error cuadno hago bien el login si lo hago mal pues da error en la linea donde estan los otros header(): Warning: Cannot modify header information - headers already sent by (output started at C:\Archivos de programa\xampp\htdocs\foronum\login_ok.php:1) in C:\Archivos de programa\xampp\htdocs\foronum\login_ok.php on line 14

NO HAY MAS CODIGO SOLO HAY DOS LIENAS MAS ARRIBA APRA CONECTAR LA BD Y SELECCIONAR LA BD.
como los header no funcionan si se envia algo... yo creo q tendrian que funcionar a ver si me decis donde fallo.
GRACIAS
Recomendacion: en vez de tantos else, como el header("Locat.. termina la ejecución de la página (bueno en realidad no la termina inmediatamente, por eso es recomendable poner siempre un exit() detrás) es preferible poner un

if (condicion al contrario){
header...
exit();
}
ya eso lo pongo yo, a ver si alguien resuelve mi duda en mi ultimo post, xfavor
Hola queria implementar una pequeña web con php. Pero lo queria hacer por clases. Alguien tiene un pequeño ejemplo de web implementada con clases?

Muchas gracias.
nyarko: Tienes que hacer el session start al principio ya que lo haces cuando ya han enviado los datos. Entonces la nueva variable de sesion pisa esos datos enviados y el login te va a salir siempre erroneo. La segunda vez que pasas session start detecta que ya hay una sesion iniciada por eso no crea las nuevas variables vacias y por eso conserva los valores que has enviado.

Quanto: ¿Puedes ser un poquito más específico? Normalmente es muy sencillo. Implementas la vista con HTML y llamadas a los métodos de las clases y la lógica de negocio con clases.
SickBoy al principio cuando te refieres?

xq si lo pongo al pricnipio del codigo tb me sucede lo mismo
SickBoy escribió:Quanto: ¿Puedes ser un poquito más específico? Normalmente es muy sencillo. Implementas la vista con HTML y llamadas a los métodos de las clases y la lógica de negocio con clases.

Pues eso mismo quiero hacer. Por una parte esta la vista (en HTML) y por otra la parte de negocio (PHP).
Un pequeño ejemplo:

En la base de datos tengo usuario:
id_usuario -> autonumérico
nombre -> varchar
login -> varchar
password -> varchar
...

Me gustaria hacer una clase usuario.php, la qual tiene los atributos del usuario, asi como los métodos que permiten acceder a la BdD CRUD (Create, Read, Update, Delete).
Y luego una página php para mostrar los datos, ...
Buenas, necesito una pequeña ayuda, estoy liado con una web de noticias y quiero meter para comentarios, pero como va a ser (o eso pretendo) una cosa seria, me gustaria hacer lo tipico de "introducir un codigo" al realizar un comentario en las noticias...

No quiero liarme a realizar registro, algo tipo blog, pero que almenos obligue a poner el numerito para ahorrarme trolls (almenos los perezosos XD)

Algun sitio donde encontrar codigo de ejemplo? alguna alternativa? quizas no ahce falta que sea una imagen, puede ser una cadena de numeros normales (nadie se preocuparia a realizar un bot para respuestas boombing.. supongo)
He estado mirando el código fuente de meneame(PHP). Pero no me aclaro mucho.
Estoy programando una página en PHP y va con cookies. Mi pregunta es sencilla: ¿Hay alguna función que te diga si el navegador tiene los cookies activados o no?

Yo es que hago lo siguiente para comprobar si existe la cookie, pero no sé si hay alguna función específica que te diga si el navegador los tiene activados que es lo que me hace falta:

<?php
define("NOMBRE_COOKIE", "incidencias");

// devuelve el tipo de usario de la cookie
function cookie_tipo() {
   return $_COOKIE[NOMBRE_COOKIE][strlen($_COOKIE[NOMBRE_COOKIE])-1];

// devuelve el nombre de usuario (login) de la cookie
function cookie_login() {
   $string = $_COOKIE[NOMBRE_COOKIE];
   $len = strlen($string) - 1;
   $tstring = "";
   for ($i = 0; $i < $len; $i++) {
      $tstring .= $string[$i];
   }
   return $tstring;
}

// este es código principal del index.php
if (!$_COOKIE) {
   echo "<script language="JavaScript">location.href='login.php'</script>";
} else {
   $tipo = cookie_tipo();
   if ($tipo == 0)
      echo "<script language="JavaScript">location.href='menu_admin.php'</script>";
   elseif ($tipo == 1)
      echo "<script language="JavaScript">location.href='menu_technic.php'</script>";
   elseif ($tipo == 2)
      echo "<script language="JavaScript">location.href='menu_user.php'</script>";
}
?>


En la cookie almaceno el nombre de usuario (login), seguido del tipo de usuario en último caracter de la cadena (0 administrador, 1 técnico, 2 usuario normal).


Muchas gracias de antemano ;-)
Hola que tal, estoy intentando hacer un mini formulario para subir ficheros, pero no me acaba de funcionar, el caso, es que el formulario no me recoge el fichero, tengo esto:

[PHP]









[/PHP]

e intento recoger la informacion asi
[PHP]
$f= $_FILES['fichero']['tmp_name'];
echo "Fichero: $f";
[/PHP]

Pero no me muestra nada.

Hago un echo, para ver el nombre del fichero, no pretendo ver el fichero en cuestion, que quede claro.

Igualmente, tampoco me muestra $_FILES['fichero']['size'] ni ninguna otra variable del array $_FILES['fichero']

Cualquier sugerencia sera bienvenida, gracias ;)
Hola amigos me he propuesto hacer una encuesta php y mysql con control de IP.

Sacaria la Ip de todos los votantes y se iria almacenado en una tabla mysql que crearia.Este seria el codigo que emplearia para sacar la IP.

function getIP() {
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
elseif (isset($_SERVER['HTTP_VIA'])) {
$ip = $_SERVER['HTTP_VIA'];
}
elseif (isset($_SERVER['REMOTE_ADDR'])) {
$ip = $_SERVER['REMOTE_ADDR'];
}
else {
$ip = "unknown";
}

echo "Tu IP es: $ip";
}



PERO mi pregunta es: Hoy en dia las IPs son dinamicas, casi todas... Hay alguna forma de controlar esto??? COMO LO HARIAS VOSOTROS?

Gracias
las ip's dinamicas no tienen solucion aparente hoy en dia, pero quizás, podrias almacenar una cookie en el pc una vez terminada la encuesta y chequear si existe para saber (si la ip no coincide con el registro que tienes) si ya la han hecho.
son muy listos y las cookies las eliminan y ale a votar todas las veces que quieran
nyarko escribió:son muy listos y las cookies las eliminan y ale a votar todas las veces que quieran

Usa usuarios registrados, aunque tampoco lo impidas, será más molesto para ellos y más fácil de comprobar para tí (cuentas de correo).

Un saludo.
realmente no hay ninguna solucion buena... todas se las pueden saltar con mas o menos facilidad, yo no me complicaria mucho...

lo de las cuentas de correo tampoco es muy buena solucion, en un momento te creas 100 cuentas de gmail (con tener una) y de cada una de estas sacas 100 mas...

si vas a usar el tema por emails, deberias bloquear todos los que sean de creacion gratuitos, cosa que ya hacen algunas webs.


una cosa que si seria factible, es comprobar rangos de ip's... si ves que hay muchos votos iguales de un mismo rango posiblemente sea un fraude.


pero ya te digo, yo no me complicaria mucho.
Tengo un campo en mi BD MySQL que contiene tanto HTML como texto plano. El caso es que al hacer búsquedas sobre él, también se tiene en cuenta el código (obviamente), cosa que no quiero que ocurra, ya que si una entrada es así:

algo

Y el usuario busca simplemente "font" (por ejemplo), le saldrá esa misma aunque no tenga nada que ver, ya que a ojos del que ha introducido ese término no hay ninguna palabra "font" en lo que ha aparecido (en pantalla sólo vería la palabra "algo" de color negro...).

¿Cómo solucionaríais esto? Me imagino que más de uno se habrá visto en esta situación...

Espero que podáis darme alguna idea... Gracias. [oki]
Se me ocurre que puedes filtrar el resultado de la base de datos con una expresion regular. Por ejemplo
$filtrado = preg_replace('/<.+>/','', $sin_filtrar);

Pero lo mejor que puedes hacer es mirar cómo lo hace cualquier proyecto de código abierto, porque no puede ser tan sencillo
Ya se me había ocurrido, pero el problema de hacerlo así es que no imprime las etiquetas HTML, ya que han sido eliminadas previamente con esa función. :S

Lo que yo quiero es que las muestre por pantalla pero que no busque sobre ellas, algo así como que las trate como una excepción... :P

En fin, voy a ver si encuentro cómo lo hacen en el proyecto PHPBB (por ejemplo).

Gracias por la ayuda, Stolz. [oki]
No tiene por qué cumplirse lo que dices, depende de como apliques lo que te he comentado. La búsqueda la haces sobre los datos filtrados, pero los resultados los muestras sobre los originales. Yo en ningún momento he dicho que los resultados mostrados provengan de los datos filtrados.

Otra forma es crear una vista en MySQL usando su soporte de expresiones regulares, hacer la búsqueda sobre la vista, pero mostrar los resultados a partir de un inner join entre la vista y el original. Consulta la documentación de MySQL para saber como usar las expresiones regulares (http://dev.mysql.com/doc/refman/5.0/en/pattern-matching.html). Incluso se pudría hacer sin la vista, pero la expresión regular necesaria está fuera de mi alcance, que no me defiendo muy bien con ellas.

De todas formas, insisto, mejor usa un trabajo ya hecho. fíjate como se hace en cualquier CSM y aprovecha código (respetando la licencia)

Edito: Como siempre, hay una funcion PHP para todo. No hacía falta usar la expresion regular de mi anterior mensaje, ya existe algo mejor http://es2.php.net/strip_tags
El problema es que no sé cómo puedo hacer que la búsqueda se haga sobre el texto con esa función ya aplicada.

Te simplifico más o menos el código que tengo:

$cad = mysql_query("select texto from tabla where texto like '%$buscar%'");

while ($array = mysql_fetch_array($cad)) { echo $array["texto"]."
"; }

¿Ahí donde pondrías el "strip_tags"?

Me da que al final voy a tener que usar las expresiones regulares de MySQL, aunque prefiero hacerlo en PHP...

Perdona por ser tan pesado, es que hoy me he levantado un poco espesito... :P

Muchas gracias por tu ayuda, de verdad.
Tranquilo, si no eres pesado. El tema no es nada sencillo. Yo tampoco tengo muy claro como solucionarlo.

Lo primero, te recomiendo que para hacer busquedas, en vez de usar LIKE y comodines, uses la construccion de MySQL MATCH(...) AGAINST (...) (+info: http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html) que es mucho más eficiente (y mas potente). Para que esta estructura funcione, debes añadir un índice de tipo FULLTEXT a los campos de la tabla en los que tengas pensado buscar.

Para no liarte, de moento, partimos de tu codigo
$cad = mysql_query("select texto from tabla where texto like '%$buscar%'");

while ($array = mysql_fetch_assoc($cad))
{
   $filtrado = strip_tags($array["texto"]);
   if(preg_match('/'.$buscar.'/', $filtrado))
      echo $array["texto"]."<br />";
}

No es el paradigma de la elegancia, pero de momento se aproxima a los objetivos: mostrar solo los resultados que contengan la palabra 'buscar' en alguna parte que no sea el interior de una etiqueta HTML
Stolz escribió:Lo primero, te recomiendo que para hacer busquedas, en vez de usar LIKE y comodines, uses la construccion de MySQL MATCH(...) AGAINST (...) (+info: http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html) que es mucho más eficiente (y mas potente). Para que esta estructura funcione, debes añadir un índice de tipo FULLTEXT a los campos de la tabla en los que tengas pensado buscar.

Ya había visto esa posibilidad, pero fue cuando ya tenía lo otro puesto y me ha dado mucha pereza cambiarlo ahora, sinceramente. Ya lo pondré como tu dices si me da el venazo. :P

De todas maneras, ¿tanta es la diferencia entre usar LIKE a usar un índice?

Aquí os dejo un manual sobre esto mismo, por si alguien quiere echarle un vistazo:

http://www.mysql-hispano.org/page.php?id=15

Stolz escribió:Para no liarte, de moento, partimos de tu codigo
$cad = mysql_query("select texto from tabla where texto like '%$buscar%'");

while ($array = mysql_fetch_assoc($cad))
{
   $filtrado = strip_tags($array["texto"]);
   if(preg_match('/'.$buscar.'/', $filtrado))
      echo $array["texto"]."<br />";
}

No es el paradigma de la elegancia, pero de momento se aproxima a los objetivos: mostrar solo los resultados que contengan la palabra 'buscar' en alguna parte que no sea el interior de una etiqueta HTML

He estado haciendo algunas pruebas y sí, hace eso que dices... pero sólo a veces. :P

Me explico, ahora si buscas "font" en un campo así:

algo

No encuentra nada, lo malo es cuando buscas ese término sobre esto:

font

Ahí sí que detecta cada una de las 3 veces que aparece...

En fin, gracias de todas maneras. ;)
Tengo un problemilla con un cliente, que me pide que le genere un documento XML con unas etiquetas y tal, que en si ya están diseñadas.
El problema es que no tengo ni idea de como devolverle un XML con esos datos, es decir, si sale algo por pantalla, si lo escribo tal cual, si tengo que usar unas ordenes concretas, etc.

Llevo un par de horitas dandome de cabezazos por el google, pero no encuentro nada lo suficientemente revelador.

Solo eso, a ver si alguien me ayuda y esas cosas.

Saludos a todos!!
Hola,

Tengo un problemilla simple, pero que no se como resolver.

Estoy haciendo una web con php y mysql, el caso es que tengo que hacer lo tipico de escribir noticias desde un apartado de administracion y luego se muestren en una pagina que la pueda ver todo el mundo.

El caso es que cuando las agrego a la base de datos, se guardan con los saltos de carro, pero al mostrarlo los saltos de carro se convierten en espacios.

Como puedo solucionarlo?

Saludos
trikerr escribió:Tengo un problemilla simple, pero que no se como resolver.

Estoy haciendo una web con php y mysql, el caso es que tengo que hacer lo tipico de escribir noticias desde un apartado de administracion y luego se muestren en una pagina que la pueda ver todo el mundo.

El caso es que cuando las agrego a la base de datos, se guardan con los saltos de carro, pero al mostrarlo los saltos de carro se convierten en espacios.

Como puedo solucionarlo?

Tienes que aplicarle al texto la función nl2br antes de guardarlo en la base de datos. ;)
Dahn II escribió:Tienes que aplicarle al texto la función nl2br antes de guardarlo en la base de datos. ;)


Eres un crack!! Ya tengo saltos de linea.

Gracias [bye]
Saludos gurús del PHP xDD. Enhorabuena por este hilo que está, la verdad, de pm.

Bueno a ver, os comento: tenemos que hacer (mi grupo y yo... y vosotros [jaja] ) una web que consiste básicamente en un retrato robot.

El planteamiento que hemos hecho es:


____________________

FRAME 1
____________________


FRAME 2 FRAME 3

_____________________


Esto en HTML, el FRAME 1 es el título y unos enlaces para navegar, en el FRAME 2 un formulario HTML (cuadros de selección) para que el visitante elija las opciones para cada característica de la cara (p.e. ojos: azules). En el FRAME 3 es donde aparecerá la imagen.

Bien, por lo que hemos investigado el envío del formulario al servidor (que será con GET o con POST) lo recibimos en el servidor con un script hecho en PHP en el que nos saldrán ya automáticamente las variables que hayan sido elegidas en el formulario (p.e. $ojos=azules).

Paralelamente a esto otros miembros del grupo están haciendo cada dibujo (ojos de distintos tipos, etc...) con el Inkscape y guardándolos en formato svg (creo, o gif no sé).

Y aquí llega la DUDA DEL MILLÓN: no tenemos ni idea de cómo mostrar esas imágenes en el FRAME 3, donde deben y como deben... y aunque supiésemos mostrarlas no sabríamos como hacer que quedasen superpuestas (por ejemplo, el círculo que es la cara va en el fondo, los ojos irían encima y la boca, la nariz...)

Estamos totalmente perdidos... así que si tenéis idea de cómo continuar esto o se os ocurre otra forma de hacerlo... ¡Por favor, ayudarnos! [qmparto]

Un saludo maestros!!
No tiene que ver mucho con php la verdad, pero bueno.
1) No uses frames
2) Para las transparencias puedes usar png's. Sin embargo IE no las soporta, por lo que supongo que tendrás que generar con alguna herramiente (¿GD?) una imagen con las distintas capas en el servidor y crear una imagen jpeg.

EDITO: Mmm, dime que no es una práctica que os han mandado...

Un saludo.
Bien, bien... Eso de GD me ha convencido... ya le había echado un vistazo pero no había visto esto.
Más que nada porque no se me había ocurrido lo de montar la imagen antes de enviarla...
Creo que tirando por ahí llegaremos a buen puerto, gracias!!


¿Que no use frames? Desde mis muy limitados conocimientos de html y php no veo el motivo por el cual aconsejas eso... (no te ensañes que soy un newbie [ginyo])


Sí es para la uni, ¿tan grave es doctor? lol
Tengo este codigo y me dice todo el rato error en la linea 4 no se como solucionarlo:
A ya de paso como haceis para insertar esos cuadros verdes con el codigo??

Mi codigo es este:
include("validate.php");

?>


Bienvenido a la

zona privada



de los peñistas

de LA COPETA.





Danos tu opinión de lo que poner la

agradeceremos.



El

webmaster Djmusikero Manda aquí un email.

















?>
404 respuestas
15, 6, 7, 8, 9