| ||||
| Encuentras el FAQ en: http://www.forosdelweb.com/wiki/PHP Categorías:
Update marzo 2009: Estamos probando el funcionamiento del FAQ de PHP desde el Wiki del foro. Última edición por cvander; 24/03/2009 a las 07:34 |
| ||||
| Tema: Para Novatos con PHP Créditos: Cluster, BooMeranGz, El_Metallick Pregunta: ¿Cómo puedo comenzar con PHP? ¿Dónde puedo obtener información/software sobre PHP? Respuesta: Página web oficial de PHP: (la madre del cordero, es bueno visitarla de vez en cuando y ver los "change-log" y demas informacíon de las nuevas revisiones de PHP .. )Manual en línea de PHP:
Nota: Lamentablemente las versiones en castellano no las actualizan al mismo tiempo q la versión en ingles .. así q lo mejor suele ser ver en ingles el tema y luego en castellano .. si parece ser q es lo mismo .. pues te lo lees en castellano si quieres .. Pero suele ser mas completo en Ingles.Pre-instaladores WAPM (Windows+Apache+PHP+Mysql):
Guía de Instalación manual: Tutoriales en castellano:
Tutoriales y artículos sobre PHP (en ingles):
Recursos (Scripts/código):
Editores de Código PHP: De interes: Sitio especializado en pruevas a aplicaciones PHP comunes .. avisan de vulnerabilidades .. Está bueno apuntarse a su lista de correo .. sobre todo si sueles usar aplicaciones PHP como; PHP-Nuke, phpbb, etc ... http://www.phpadvisory.com/ Seguridad bajo PHP, prevenir SQL injection .. Cross-Site Scripting .. asegurar sesiones .. etc. (gracias a "fullmental") http://phpsec.org/projects/guide/ Última edición por jam1138; 08/10/2008 a las 09:30 |
| |||
| Estoy intentando recoger unas variables que paso de un script a otro y no me llegan. Tema: Configuración. Pregunta: Estoy intentando recoger unas variables que paso de un script a otro y no me llegan .. ¿que puede ser? Respuesta: Desde la versión 4.2.x en adelante, los chicos de PHP.net dejaron la directiva register_globals a OFF por defecto (ver php.ini). Edita tu php.ini .. ahi veras la directiva: register_globals = OFF .. pasalo a ON para trabajar de la forma habitual con tus variables que envias de formularios/URL's entre otras. Un saludo, |
| |||
| register_globals .. ON u OFF? variables Globales? Tema: Seguridad/buenas maneras xD Pregunta: Que diferencias hay entre usar para pasar variables de un script a otro: $variable_nombre, $HTTP_xxx_VARS['variable_nombre'], $_XXX['variable_nombre']. Respuesta: Cuando recogemos variables via $variable, estamos asumiendo que son Globales, es decir q da igual por el metodo/tipo de envio que se use (en caso de formularios es lo q se indica en el method= .. si entran por el URL es GET .. si son cookies, sessiones, variables de servidor ... etc no distinguimos.). Con array $HTTP_xxx_VARS[] (donde xxx es el metodo/tipo: GET, POST, SERVER, COOKIE, SESSION, FILES .. etc) filtramos las variables que recogemos segun su metodo de envio esperado. Es decir, no aceptamos nada mas q lo q esperamos. Si enviamos variables por metodo POST las recogeriamos: $HTTP_POST_VARS['variable'] Y no aceptariamos ninguna variable (con nombre "variable") que venga por GET .. ademas de distinguirla con respecto a si es una variable de session, cookie, file .. etc. Este array $HTTP_xxx_VARS está disponible desde las versiones 4.0.x en adelante y hoy por hoy (ver fecha de la faq) estan habilitadas y se pueden usar .. auque "dicen" q a futuro desaparecera en nuevas versiones de PHP. El array "superglobal" ($_GET, $_POST, $_SERVER .. etc) que denomina PHP, está disponible desde la versión 4.1.x en adelante y es a futuro lo q deberiamos usar a la hora de recoger nuestras variables de formularios y demas medios. Ademas $_xxx te permite trabajar sin problemas con servidores con la directiva register_globals a ON u a OFF. Su forma de trabajar seria igual q para $HTTP_xxx_VARS .. solo q el array "superglobal" ahora es "global" es decir .. si llamanos en una funcion a $_GET por ejemplo .. no debemos de declararlo como global $_GET. mas info Variables predefinidas de PHP: http://www.php.net/manual/es/languag...predefined.php Un saludo, Última edición por jam1138; 04/01/2009 a las 23:15 Razón: Elimino enlace caducado. |
| |||
| ¿Que es una "sesion" de PHP? Tema: Sesiones Pregunta: ¿Que es una "sesion" de PHP? Respuesta: Básicamente es una forma de almacenar variables (sean simples, arrays e incluso objetos) -temporalmente- en el servidor. No así como las cookies q se almacenan en el cliente (PC del usuario). Estas variables se guardan en el servidor en un fichero que se crea en el momento de que almacenamos una variable. La ubicación la determina la directiva de php.ini session.save_paht. El nombre que se le da a ese fichero creado es: sess_asdf234arfae34q (similar) donde el "código" que hay despues de _ es lo que denominan "SID" Identificador Unico de Sessión. Lea también una versión más completa al respecto sobre Sesiones, en esta FAQ: http://www.forosdelweb.com/showpost....&postcount=129 Última edición por Cluster; 10/11/2004 a las 06:41 |
| |||
| Como guardo y leo una variable de sesión Tema: Sesiones Pregunta: Como guardo y leo una variable de sesión. Respuesta: Para PHP > 4.1.x y register_globals a ON o a OFF ... Preferentemente usar este método. (en el ejemplo se asume que se propaga el SID automático ... ese parametro lo define la directiva de php.ini session.use_trans_sid = 1 (1 activado, 0 desactivado .. propagación manual).) guarda_variable_session.php Código PHP: lee_variable_session.php Código PHP: guarda_variable_session.php Código PHP: Código PHP: http://www.forosdelweb.com/showpost....&postcount=129 Última edición por Cluster; 10/11/2004 a las 06:41 |
| ||||
| Tema Mostrar datos de BD Pregunta ¿Cómo distribuir los resultados de un query en columnas? Respuesta Usando la función módulo de PHP. Código de ejemplo con comentarios: Código PHP:
__________________ M a l d i t o F r i k i Última edición por josemi; 01/09/2004 a las 16:30 Razón: Solucionado un Notice de variable no definida. |
| ||||
| Tema Formato de número Pregunta ¿Cómo puedo formatear un número? Respuesta Con number_format() Sintaxis: number_format(numero, decimales, separador_decimal, separador_miles) Ejemplo: $numero = 12345.2534 $number = number_format($numero, 2); // $number = 12345.25$number = number_format($numero, 0); // $number = 12345 $number = number_format($numero, 2, ".", ","); // $number = 12,345.25 $number = number_format($numero, 4, ",", "."); // $number = 12.345,2534
__________________ M a l d i t o F r i k i |
| ||||
| Tema: SEGURIDAD Pregunta: Autentificar usuarios en base de datos Respuesta: Puedes hacer lo siguiente:
Nota: Este tipo de autentificación es via HTTP y funciona bajo PHP instalado como Módulo de Apache y no como CGI
__________________ _________________________ La computadora nació para resolver problemas que antes no existían Última edición por temaqueja; 15/11/2002 a las 17:09 |
| |||
| TEMA: Manejo de cadenas PREGUNTA: PHP no me respeta los saltos de linea de mi texto. RESPUESTA: Si tu texto proviene de un campo <textarea> de un formulario o de un fichero, los saltos de linea vendran como caracteres \n. Y como el texto lo quieres mostrar dentro de una pagina HTML, debes cambiar esos caracteres por la cadena <br>, que es el salto de linea de HTML. La forma mas sencilla de hacerlo es con la funcion nl2br(). Su uso es muy sencillo: Código PHP:
__________________ Josemi Aprendiz de mucho, maestro de poco. Última edición por josemi; 17/11/2002 a las 15:39 |
| ||||
| Tema: Archivos Pregunta: ¿Cómo puedo subir archivos a través de un formulario? Respuesta: Con el siguiente ejemplo. Código PHP: El código sube un archivo via HTTP POST, este se guarda automaticamente con un nombre y en una carpeta temporales del servidor mientras corre el codigo, despues el mismo servidor lo borra (por seguridad). La función is_uploaded_file() verifica que este procedimiento haya sido exitoso. Posteriormente el archivo es movido a su posición final con la función move_uploaded_file(). Notas:
Código PHP:
Código PHP:
Espero les sea de utilidad. Última edición por jam1138; 10/10/2005 a las 05:54 Razón: Actualización/Ampliación |
| ||||
| Tema: Como envio un email en formato HTML Respuesta: Código PHP: http://css-discuss.incutio.com/?page=StyleInEmail (grácias a uamistad por el link) Última edición por Cluster; 27/04/2006 a las 07:17 |
| ||||
| Tema: Archivos Pregunta: Como genero un reporte en EXCEL a partir de una tabla Respuesta: Solo necesitas grabar una Tabla HTML y salvarla con extension XLS. EXCEL reconocera automaticamente el formato. Ejemplo: Código PHP: Última edición por Mickel; 29/11/2002 a las 00:39 |
| ||||
| Tema: Conexion Base de Datos Pregunta: No se como trabajar con PHP y MySQL Respuesta: Código PHP: Última edición por Mickel; 29/11/2002 a las 00:40 |
| |||
| TEMA: Encuestas en php y mysql PREGUNTA: Como hacer una encuesta en php RESPUESTA: Para hacer una encuesta con sus resultados graficados debes crear un tabla con los siguients campos (optativos) 1.- Idencuesta: identificador de cada encuesta 2.- pregunta:campo que almacena las pregunta 3.- respuesta1: campo que almacenara la respuesta a tu encuesta 4.- respuesta2:lo mismo que lo anterior esto dependera de la catidad de respuesta que tenga tu encuesta (por lo general 3 o 4) 5.- valor1: este campo almacena la cantidad de respuestas a cada respuesta o sea valor1 guardara todos los clic o respuestas que den en respuesta1. 6.- total:almacena el total de la suma de los campos valor1, valor2 o los que tengas 7.-Crea una imagen pequeña de uno 4x9 gif o cualquier formato para que te muestre los resultados graficados ****ENCUESTA:PHP**** Código PHP: Código PHP: Gracias NOTA: .. la llamada a la funcion javascript window.open( .. parametros) .. Ha de estar en una sola linea y sin espacios entre los parametros, pese q si hacen un cut-and-paste veran esos saltos de línea y algun espacio por medio. Última edición por vito_gris; 01/04/2005 a las 15:33 |
| ||||
| Tema: Reconocer características del visitante Pregunta: Tengo una web en varios idiomas, ¿Cómo puedo mostrar a mis visitantes la que más se ajuste a sus preferencias? Respuesta: Usando la cabecera HTTP_ACCEPT_LANGUAGE que nos enviará su navegador al pedirnos que le mostremos la web. Para leer correctamente esa cabecera y no quedarnos sólo con el primer valor que contenga, usaremos el siguiente script: Código PHP:
__________________ M a l d i t o F r i k i |
| ||||
| Tema: Obtener Valores Pregunta: ¿Como obtengo la fecha del servidor? Respuesta: Código PHP: - como obtengo el mes? - y el dia? - y el año? Última edición por Mickel; 08/12/2002 a las 19:17 |
| ||||
| Tema: Leer ficheros Pregunta: ¿Cómo puedo ver el código fuente de otra página? Respuesta: Usando show_source(). El siguiente ejemplo presenta un formulario que se ejecuta en la misma página. Si hemos especificado ya el archivo, nos muestra el código. Si no hemos especificado el archivo, nos muestra el formulario. Código PHP:
__________________ M a l d i t o F r i k i |
| ||||
| Tema: Leer ficheros Pregunta: ¿Cómo leo los metatags de una página web? Respuesta: Usando get_meta_tags() El siguiente código es una modificación del anterior. Sólo se ha incluído la parte de resolver $arxiu, por lo que se debe llamar desde un formulario con <input type="text" name="arxiu"> o pasándole a la URL ?arxiu=http://direccion Código PHP:
__________________ M a l d i t o F r i k i |
| |||
| Tema: Manejo arrays (arreglos, matrices ..) Pregunta: Como paso un array de un script.php a otro.php Respuesta: Hay que serializar el array para enviarlo por el URL o en un formulario en un campo "hidden" ... Y, en el script que reciba el array debera de des-serializarlo. A todo esto, es recomendable eliminar los slahes (\ barra invertida) que se generan si usamos magic_quotes_gpc a ON y codificar las variables con urlencode() para eviatar problemas con cartacteres en nuestros arrays tipo: puntos, comillas y otros caracteres. enviar_array.php Código PHP: Código PHP: Si usasemos un formulario para enviar nuestra array .. solo tendriamos que usar un campo hidden común de formulario y alplicar la funcion array_envia(). Un saludo, Última edición por Cluster; 08/01/2003 a las 18:18 |
| ||||
| SMTP utilizando Sockets en PHP Estuve probando cómo hacer para autenticar usuario SMTP por Sockets y este código me ha dado buenos resultados: /////////////// Archivo mail.php ///////////////////// set_time_limit(0); include("cmailer.php"); $m = new cMailer(); $m->AgregaDireccion("destino1@isp.org"); $m->AgregaDireccion("destino2@isp.com"); $m->AgregaRemitente("remitente@isp.com"); $m->AgregaAsunto("Mensaje de prueba"); $m->AgregaMensaje("Este es un sencillo mensaje de prueba configurando Username y Password"); $m->AgregaServidor("smtp.isp.com"); $m->AgregaNombreUsuario("nombreusuario"); $m->AgregaContrasenya("contraseña"); $m->Autenticar(); $m->Enviar(); ?> /////////////////// Archivo cmailer.php////////////////////////////// class cMailer { var $_Direcciones; var $_cantidadDirecciones = 0; var $_ConexionSMTP; var $_Remitente; var $_ServidorSMTP; var $_Asunto = ""; var $_Mensaje; var $_NombreUsuario; var $_Contrasenya; var $_Autenticar = 0; function cMailer() { } function AgregaNombreUsuario($NombreUsuario) { $this->_NombreUsuario = $NombreUsuario; } function AgregaContrasenya($Contrasenya) { $this->_Contrasenya = $Contrasenya; } function Autenticar() { $this->_Autenticar = 1; } function NoAutenticar() { $this->_Autenticar = 0; } function AgregaDireccion($Direccion) { $this->_Direcciones[$this->_cantidadDirecciones] = $Direccion; $this->_cantidadDirecciones++; } function AgregaRemitente($Remitente) { $this->_Remitente = $Remitente; } function AgregaMensaje($Mensaje) { $this->_Mensaje = $Mensaje; } function AgregaAsunto($Asunto) { $this->_Asunto = $Asunto; } function Enviar() { $cadenaEHLO = "EHLO ".$this->_ServidorSMTP."\r\n"; fputs($this->_ConexionSMTP, $cadenaEHLO); if($this->_Autenticar == 1) { $cadenaAUTH = "AUTH LOGIN\r\n"; fputs($this->_ConexionSMTP, $cadenaAUTH); $cadenaNombreUsuario = base64_encode($this->_NombreUsuario)."\r\n"; fputs($this->_ConexionSMTP, $cadenaNombreUsuario); $cadenaContrasenya = base64_encode($this->_Contrasenya)."\r\n"; fputs($this->_ConexionSMTP, $cadenaContrasenya); } $cadenaMAIL = "MAIL FROM: ".$this->_Remitente."\r\n"; fputs($this->_ConexionSMTP, $cadenaMAIL); for($i = 0; $i < $this->_cantidadDirecciones; $i++) { $cadenaRCPT .= "RCPT TO: ".$this->_Direcciones[$i]."\r\n"; } $cadenaRCPT .= "\r\n"; fputs($this->_ConexionSMTP, $cadenaRCPT); $cadenaDATA1 = "DATA\r\n"; fputs($this->_ConexionSMTP, $cadenaDATA1); if($this->_Asunto != "") { $cadenaSubject = "Subject: ".$this->_Asunto."\r\n\r\n"; fputs($this->_ConexionSMTP, $cadenaSubject); } $cadenaDATA2 = $this->_Mensaje."\r\n.\r\n"; fputs($this->_ConexionSMTP, $cadenaDATA2); fputs($this->_ConexionSMTP, "QUIT\r\n"); fclose($this->_ConexionSMTP); } function AgregaServidor($Servidor, $Puerto = 25) { $this->_ConexionSMTP = fsockopen("$Servidor", "$Puerto", $e, $em, 5) or die("No puedo abrir el socket"); echo fgets($this->_ConexionSMTP, 4096)." \n"; $this->_ServidorSMTP = $Servidor; } } ?> |
| ||||
| Tema: Creacion de foros con PHP y MySQL Pregunta:Como pyuedo crear un foro en PHP y MySQL Respuesta Hace mucho tiempo me pidieron que pusiera el tutorial en una web, aqui la tienen: http://www.zonaphp.com/index.php?mod...ion=leer&id=23 Editado por josemi: Actualizado el link
__________________ Usuario registrado de Linux #288725 Última edición por josemi; 09/12/2003 a las 06:29 |
| |||
| Tema: Variables Pregunta: ¿Por qué pierde el valor mi variable dentro de mi función? Respuesta: Para poder acceder y modificar el valor de una variable definida fuera de una función hay que referenciarla dentro de la función con global. Por ejemplo: Código PHP:
__________________ Josemi Aprendiz de mucho, maestro de poco. |
| |||
| Tema: Web Modulares Pregunta: Como hago esas páginas web que las secciones q incluyen son del tipo index.php?id=2 Respuesta: La filosofía de ese tipo de webs es en usar la funcion include() (o require()) para incluir (valga la rebundancia) el código que pertenezca a ese identificativo .. en nuestro ejemplo una variable llamada id .. como podria ser cualquier otro nombre. La decisión de que página ha de cargar se puede hacer de varias formas .. siendo la mas común usar el condicional: switch .. Código PHP: nombrequeledemos.php?id=nº (podriamos usar identificativos no numericos .. tan solo usar case tipo: case "nombre" ... Ahora, El sistema es mas versatil .. no se trata solo de "redirecionar" (si usamos include() ) .. sino de Incluir dentro de otro "armazón" (plantilla-template) base que usemos .. por ejemplo: Código PHP: |
| ||||
| Comprimir archivo a .gz Faltaba Yo :-0 TEMA: COMPRIMIR A .GZ DESARROLO: Código PHP: 1. Abrir en modo binario(lectura), acceder a la data y cerrar. 2. Abrir en modo binario (escritura), comprimir , escribir y cerrar Nota: Deve estar instalada la libreria ZLIB. ver manual :) Saludos
__________________ Hacerlo Bien Haciendo el Bien. Jaso ezazu agur bero bat. (c) 2002. Made in Chile. Mi sistema es: Win(98);Apache(1.3.x);PHP(4.1.1);mySQL(3.23.x) !Califica este POSTEO¡ Última edición por Webstudio; 09/12/2002 a las 11:56 |
| ||||
| Tema: Presentación Pregunta: ¿Cómo puedo mostrar código HTML coloreado? Respuesta: PHP incluye las funciones highlight_string() y show_source() para resaltar el código PHP usando colores que facilitan la comprensión del código. Ahora bien, es necesario que el código esté emmarcado por etiquetas PHP válidas como <? ?> o <?php ?>. Para usar estas funciones para colorear un código HTML normal, usaremos la siguiente estrategia: Código PHP:
__________________ M a l d i t o F r i k i |
| |||
| Tema: Configuracion. Pregunta: Necesito cmabiar la directiva register_global a On y no tengo acceso al archivo php.ini???. Reapuesta: Esto unicamente funciona en Apache con php como modulo del mismo y que el usuario tenga la directiva AllowOverride seteada a all o a Options. Si las condiones se cumplen, creen un archivo .htacces que contanga la siguiente linea. php_flag register_globals On Esto es muy util cuando tenemos que dejar corriendo apliaciones que no estan programadas para usar las variables super globales $_*, en lo que se lleva acabo su pronta actualizacion. |
| |||
| Tema: Trucos. Pregunta: ¿Como hago para alternar los colores de las filas de una tabla, como en los foros? Respuestas: Con este sencillo codigo: Código PHP:
__________________ Josemi Aprendiz de mucho, maestro de poco. |
| |||
| Tema: Trucos Pregunta: Muy bonito lo de alternar dos colores, pero ¿podrias hacerlo para rotar cuatro colores? Respuesta: Pues claro, con ayuda de nuestros amigos los arrays: Código PHP:
__________________ Josemi Aprendiz de mucho, maestro de poco. |
Este tema le ha gustado a 106 personas (incluyéndote)
Este tema no le ha gustado a 10 personas