Bienvenido: ( Identificarse | Registrarse )      
Foros de Trucos Windows
 1 2 3 
Closed TopicStart new topicStart Poll

Outline · [ Estándar ] · Lineal+

> El FAQ para el webmaster, Todo aserca del php y html

black_palma
post Nov 1 2006, 11:46 PM
Publicado: #1


Lineage II Admin - Osama Bin Laden
******

Grupo: Banned
Mensajes: 504
Registrado: 2-September 06
Desde: Aden Castle Town - Lineage II World
Miembro nº: 179.743



primero que todo!!! este post viene de aki: aquí, es un post en el que juntaron las mejores guias y yo lo traigo a trucoswindows.net

Este índice enlaza a cada una de las preguntas de las FAQs de PHP

1:Cómo saber que modulos tengo instalados en apache

2:Cómo configurar tu servidor php

3:Activar registros globales

4:Qué es una sesión PHP

5:Cómo leo y guardo una variable de sesión

6:Autentificar usuarios en la Base de Datos

7:Cómo subir un archivo mediante un formulario

8:como poner un foro en tu web

9:Formulario de envío de Emails en HTML

10:Crea encuestas en PHP

11:Saber el idioma de tu visitante

12:Cómo hago esas web que en vez de index.php sale index.php?id=2

13:Crea un virtual host (localhost) ..... muy util (recomendado)

14:Imágenes aleatorias

15:Mostrar el contenido de una Base de datos en tu web

16:Ve los usuarios activos en tu web

17:Cantidad gente online en tu web

18:Cómo hacer una marquesina con los resultados de una Base de Datos

19:Cómo hacer que puedan recomendar tu pagina

20:Cómo hacer que un Email este en un archivo php

21:Cómo poner el tiempo de ejecución de tu pagina

22:Registra la ip de quien entra a tu web

23:Cómo poner un registro de usuarios en tu web

24:Manual básico de MySQL

25:ke debo tomar en cuenta al hacer una web

26:estructura de un codigo PHP y HTML



-------------------------------------------------------------------
Tema: configuración
Pregunta: ¿Cómo puedo saber que módulos tengo instalados en mi Servidor?
Respuesta: Para saber que módulos tienes configurados en tu servidor, lo que puedes hacer es crear un nuevo script PHP y colocarlo dentro de un directorio que puedas acceder a través de tu navegador. El Script debería contener lo siguiente:

Código PHP:
CODE
<?
phpinfo();
?>

Suponiendo que llamaras a este script phpinfo.php, lo que tienes que hacer es accederlo con tu navegador. Si tienes PHP correctamente configurado, lo que deberías obtener es una lista con todos los módulos configurados en tu servidor, más otro tipo de información como las Variables de Servidor, Cookies seteadas, etc.


User is offlineProfile CardPM
Go to the top of the page
+Quote Post
black_palma
post Nov 1 2006, 11:47 PM
Publicado: #2


Lineage II Admin - Osama Bin Laden
******

Grupo: Banned
Mensajes: 504
Registrado: 2-September 06
Desde: Aden Castle Town - Lineage II World
Miembro nº: 179.743



Pregunta: ¿Cómo puedo comenzar con PHP? ¿Dónde puedo obtener información/software sobre PHP?
Respuesta:


Página web oficial de PHP:
http://www.php.net
(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:
Versión Ingles:http://www.php.net/manual/en
Versión en Castellano:http://www.php.net/manual/es
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):
FoxServ: http://sourceforge.net/projects/foxserv/
PHP Triad: http://sourceforge.net/projects/phptriad/
EasyPHP: http://www.easyphp.org
Appserv: http://www.appservnetwork.com/
e-novative WAMP: http://www.e-novative.info/software/wamp.php
WAMP5: http://www.wampserver.com/
Más info en Maestros del Web

Guía de Instalación manual:
http://www.maestrosdelweb.com/editorial/phpmysqlap/
http://servidor.hostrocket.com/

Tutoriales en castellano:
http://www.zonaphp.com/index.php
http://www.rinconastur.com/php
http://www.webestilo.com/php
http://www.desarrolloweb.com/php
http://www.tejedoresdelweb.com/php/
http://www.nomaster-reloaded.com/tele/php.htm < Videotutoriales.

Tutoriales y artículos sobre PHP (en ingles):
http://www.phpbuilder.com
http://www.devarticles.com/c/b/PHP/
http://www.devshed.com/c/b/PHP/
http://www.zend.com
http://www.phpfreaks.com/
http://www.phparchitect.com/

Recursos (Scripts/código):
Scritps, Aplicaciones completas...
http://hotscripts.com/PHP/Scripts_and_Programs/
Almacen de "classes" para PHP (objetos):
http://www.phpclasses.org

Editores de Código PHP:
http://www.php-editors.com/

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/



User is offlineProfile CardPM
Go to the top of the page
+Quote Post
black_palma
post Nov 1 2006, 11:48 PM
Publicado: #3


Lineage II Admin - Osama Bin Laden
******

Grupo: Banned
Mensajes: 504
Registrado: 2-September 06
Desde: Aden Castle Town - Lineage II World
Miembro nº: 179.743



Tema: Configuración de tu servidor php

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,


User is offlineProfile CardPM
Go to the top of the page
+Quote Post
black_palma
post Nov 1 2006, 11:49 PM
Publicado: #4


Lineage II Admin - Osama Bin Laden
******

Grupo: Banned
Mensajes: 504
Registrado: 2-September 06
Desde: Aden Castle Town - Lineage II World
Miembro nº: 179.743



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
Artículo de zend.com que explica como trabajar con registre_globals a OFF:
http://www.zend.com/zend/art/art-sweat4.php

Un saludo,
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
black_palma
post Nov 1 2006, 11:50 PM
Publicado: #5


Lineage II Admin - Osama Bin Laden
******

Grupo: Banned
Mensajes: 504
Registrado: 2-September 06
Desde: Aden Castle Town - Lineage II World
Miembro nº: 179.743



¿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.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
black_palma
post Nov 1 2006, 11:53 PM
Publicado: #6


Lineage II Admin - Osama Bin Laden
******

Grupo: Banned
Mensajes: 504
Registrado: 2-September 06
Desde: Aden Castle Town - Lineage II World
Miembro nº: 179.743



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:
CODE
<?
session_start(); // incio de uso de sesiones.
// Necesario cada vez que se lean
// o guarden variables de sesión.
$_SESSION['variable']="valor";
?>



lee_variable_session.php
Código PHP:
CODE
<?
session_start(); // incio de uso de sesiones.
$variable=$_SESSION['variable']; // asignamos a $variable la
// variable de la session áctiva.
?>


Y el método tradicional: (PHP > 4.0.x .. register_globals a ON .. SID propagación automática)

guarda_variable_session.php
Código PHP:
CODE
<?
session_start(); // inicio sesiones.
session_register("variable"); // registrar $variable en session.
$variable="valor"; // El valor de la $variable se puede dar
// en cuanquier momento.
?>

lee_variable_session.php

Código PHP:
CODE
<?
session_start(); // inicio sesiones
// Se asume como global $variable.
// No distinguiendo si es de sesión o de otro metodo  
// Si fallase el inico de session, una $variable
// entrando por GET podria ser considerado  
// como la varaible de la sesión:
// lee_variable_session.php?variable=mi_valor_trampa
echo $variable;  
?>
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
black_palma
post Nov 1 2006, 11:54 PM
Publicado: #7


Lineage II Admin - Osama Bin Laden
******

Grupo: Banned
Mensajes: 504
Registrado: 2-September 06
Desde: Aden Castle Town - Lineage II World
Miembro nº: 179.743



Pregunta: Autentificar usuarios en base de datos

Respuesta:

Puedes hacer lo siguiente:
Creas una tabla en tu base de datos (para el ejemplo: MySQL) donde tendras al menos el nombre de usuario (usr_login ) y su contraseña (usr_pass ).
es una buena práctica que pongas la conexión a la base de datos en un módulo aparte que sea llamado desde todas las paginas que usan la base de datos (en el ejemplo me conecto directamente)
crea un módulo (yo lo llamo seguridad.php ) y coloca el siguiente código en él:

Código PHP:
CODE
<?
/* Autenticación
*/
 $muerte = 'Acceso Denegado!!!!  :-p';

 if(!isset($PHP_AUTH_USER)) {
   header('WWW-Authenticate: Basic realm="Nombre del Site"');
   header('HTTP/1.0 401 Unauthorized');
   echo $muerte;
   exit;
 } else {
   // valido mi clave en el servidor ...
   if (@$db_link = mysql_connect("localhost", "usuario", "clave")) {
       @mysql_select_db("base_de_datos");
   }

   $sql = "select * from usuarios  
               where ((usr_login = '$PHP_AUTH_USER')  
                    and (usr_pass = '$PHP_AUTH_PW')) ";

   $qpass= mysql_query($sql, $db_link);
   if(mysql_num_rows($qpass)<>1)  {
     echo $muerte;
     exit;
   }

 }
?>

Ahora al principio de cada una de tus páginas que necesite autenticar al usuario colocarás

Código PHP:
CODE
<? include("seguridad.php");?>

Para terminar te recuerdo que queda en tus manos el mejorar el código, por ejemplo puedes validar un límite de intentos fallidos, registrar fecha y hora de acceso del usuario así como las páginas "autenticadas" que ha visitado. También puedes darle más seguridad al código validando errores en el SQL, y muchos etcés ...

Nota: Este tipo de autentificación es via HTTP y funciona bajo PHP instalado como Módulo de Apache y no como CGI
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
black_palma
post Nov 1 2006, 11:57 PM
Publicado: #8


Lineage II Admin - Osama Bin Laden
******

Grupo: Banned
Mensajes: 504
Registrado: 2-September 06
Desde: Aden Castle Town - Lineage II World
Miembro nº: 179.743



Pregunta: ¿Cómo puedo subir archivos a través de un formulario?
Respuesta: Con el siguiente ejemplo.


Código PHP:
CODE
<?php
if (isset($_POST['submit'])) {  
   if(is_uploaded_file($_FILES['fichero']['tmp_name'])) { // verifica haya sido cargado el archivo
       if(move_uploaded_file($_FILES['fichero']['tmp_name'], $_FILES['fichero']['name'])) { // se coloca en su lugar final
                   echo "<b>Upload exitoso!. Datos:</b><br>";
           echo "Nombre: <i><a rel="nofollow" href=\"".$_FILES['fichero']['name']."\">".$_FILES['fichero']['name']."</a></i><br>";
           echo "Tipo MIME: <i>".$_FILES['fichero']['type']."</i><br>";
                   echo "Peso: <i>".$_FILES['fichero']['size']." bytes</i><br>";
                       echo "<br><hr><br>";
       }
   }

// A continuación el formulario
}
?>

<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" enctype="multipart/form-data">
   Archivo: <input name="fichero" type="file">
   <input name="submit" type="submit" value="Upload!">  
</form>

Funciona de la siguiente manera:

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:
Es necesario el atributo enctype="multipart/form-data" del formulario, es lo que indica que se están enviando archivos.
El primer key de $_FILES corresponde al name del filebox; En el ejemplo "fichero".
Si se quiere condicionar la carga del archivo según su peso y/o tipo se deberá hacer a través de los datos arrojados por la variable superglobal $_FILES antes de colocarlo en su posición final. Por ejemplo:
Código PHP:
CODE
If(is_uploaded_file($_FILE['fichero']['tmp_file']) {
   If($_FILES['fichero']['type']=="image/jpeg") {
       // Proseguimos solo si se trata de un JPG
       move_uploaded_file("...etc...");  
   } else echo "El archivo no es una imágen JPG";
// bien puede condicionarse $_FILES['fichero']['size'] > XXXX
// donde 'XXXX' es un número entero representando los bytes máximos del archivo  


Listas de los MIME TYPE hay muchas en internet. Una muy completa se encuentra en webmaster-toolkit
En el ejemplo el archivo es guardado en la misma carpeta, si se quiere modicar esto ha de cambiarse el parámetro correspondiente de la función move_uploaded_file(). Por ejemplo:
Código PHP:
CODE
$ruta= "carpeta/".$_FILES['fichero']['name']; // Se guardaría dentro de "carpeta" con el nombre original
// $ruta= "carpeta/nuevo_nombre.jpg"; si también se quiere renombrar
move_uploaded_file($_FILES['fichero']['tmp_name'], $ruta);

// Puede guardarse $ruta en una Base de Datos para su uso posterior  

El ejemplo funciona con versiones PHP 4.1.x ó superior y con register_globals en OFF.
La carga de archivos es dependiente de la configuración del servidor: disponer de permisos, no exeder el tamaño límite, el nombre de la carpeta personal, etc.
Para detalles lease la documentación oficial: www.php.net/features.file-upload
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
black_palma
post Nov 1 2006, 11:58 PM
Publicado: #9


Lineage II Admin - Osama Bin Laden
******

Grupo: Banned
Mensajes: 504
Registrado: 2-September 06
Desde: Aden Castle Town - Lineage II World
Miembro nº: 179.743



Tema: Como envio un email en formato HTML
Respuesta:

Código PHP:
CODE
<?php
$sfrom=""; //cuenta que envia
$sdestinatario=""; //cuenta destino
$ssubject=""; //subject
$shtml=""; //mensaje
$sheader="From:".$sfrom."\nReply-To:".$sfrom."\n";
$sheader=$sheader."X-Mailer:PHP/".phpversion()."\n";
$sheader=$sheader."Mime-Version: 1.0\n";
$sheader=$sheader."Content-Type: text/html";
mail($sdestinatario,$ssubject,$shtml,$sheader);
?>



** Consideraciones a tomar en cuenta para diseñar el e-mail HTML (sobre uso de CSS y/o peculiaridades según cliente de correo que lo lea):

http://css-discuss.incutio.com/?page=StyleInEmail
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
black_palma
post Nov 1 2006, 11:59 PM
Publicado: #10


Lineage II Admin - Osama Bin Laden
******

Grupo: Banned
Mensajes: 504
Registrado: 2-September 06
Desde: Aden Castle Town - Lineage II World
Miembro nº: 179.743



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:
CODE
<?
$servidor = "localhost";  
$usuario = "";
$password = "";
$base_de_datos = "encuesta";
$conextar=mysql_connect ($servidor,$usuario,$password);
   mysql_select_db($base_de_datos);
   $sqlupdate = "UPDATE encuestas SET valor$voto = valor$voto+1, total = total+1";
   mysql_query($sqlupdate,$conextar);
   $sql = "SELECT * FROM encuestas ORDER BY idencuesta desc LIMIT 1";
   $resultados = mysql_query($sql,$conextar);
   $row = mysql_fetch_array($resultados);
   ?>
<script type="text/javascript" language="JavaScript">
function resultados(){
window.open("resultados.php","",& #34;toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable
=0,width=320,height=200");
}
</script>
<form name="form1" method="post" action="<?= $PHP_SELF?>">
 <table width="256" border="0" align="center" cellpadding="0" cellspacing="0" class="forumline">
   <tr valign="baseline">  
     <td colspan="2" class="row1">  
       <?=$row['pregunta']; ?>
       <br>
     </td>
   </tr>
   <tr>  
     <td width="110">  
       <?=$row['respuesta1'];?>
     </td>
     <td width="146"><input type="radio" name="voto" value="1">
     </td>
   </tr>
   <tr>  
     <td>  
       <?=$row['respuesta2'];?>
     </td>
     <td><input type="radio" name="voto" value="2"></td>
   </tr>
   <tr>  
     <td>  
       <?=$row['respuesta3'];?>
     </td>
     <td><input type="radio" name="voto" value="3"></td>
   </tr>
   <tr align="center">  
     <td height="20" colspan="2"><input type="submit"  class="post"name="Submit" value="Votar" onClick=window.open("resultados.php","",& #34;toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable
=0,width=320,height=200");
></td>
   </tr>
 </table>
 <p>&nbsp;</p></form>



****RESULTADOS.PHP****************

Código PHP:
CODE
<html>
<head>
<title>Resultados de la encuesta</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body {
   font-family: Verdana, Arial, Helvetica, sans-serif;
   font-size: 10px;
   background-color: #FFFFDD;
}
td {
   font-family: Verdana, Arial, Helvetica, sans-serif;
   font-size: 10px;
}
-->
</style>
</head>
<body>
<?
$servidor = "localhost";  
$usuario = "";
$password = "";
$base_de_datos = "encuesta";
$conextar=mysql_connect ($servidor,$usuario,$password);
   mysql_select_db($base_de_datos);
   //$sqlupdate = "UPDATE encuestas SET valor$voto = valor$voto+1, total = total+1";
   //mysql_query($sqlupdate,$conextar);
   $sql = "SELECT * FROM encuestas ORDER BY idencuesta desc LIMIT 1";
   $resultados = mysql_query($sql,$conextar);
   $row = mysql_fetch_array($resultados);
$res1= round ($row['valor1']*100/$row['total'],2);
$res2= round ($row['valor2']*100/$row['total'],2);
$res3= round ($row['valor3']*100/$row['total'],2);
?>
<p>Resultados parciales de la encuesta</p>
<?=$row['pregunta']; ?><br>
<br>

<TABLE WIDTH="300"  BORDER="1" ALIGN="center"  BORDERCOLOR="#3097A3">
 <TR>
    <TD WIDTH="100"><?=$row['respuesta1']; ?></TD>  
   <TD WIDTH="*"><IMG HEIGHT="15" WIDTH="<?=$row["valor1"]*100/$row["total"]?>%" SRC="encuesta/barra.gif"></TD>
   <TD ALIGN="center" WIDTH="70"><? echo $res1."%";?> </TD>
 </TR>
 <TR>
  <TD WIDTH="100" ><?=$row['respuesta2']; ?></TD>
   <TD WIDTH="*"><IMG HEIGHT="15" WIDTH="<?=$row["valor2"]*100/$row["total"]?>%" SRC="encuesta/barra.gif"></TD>
   <TD ALIGN="center" WIDTH="70"><? echo $res2."%";?> </TD>
 </TR>
 <TR>
    <TD WIDTH="100"><?=$row['respuesta3']; ?></TD>
   <TD WIDTH="*"><IMG HEIGHT="15" WIDTH="<?=$row["valor3"]*100/$row["total"]?>%" SRC="encuesta/barra.gif"></TD>
   <TD ALIGN="center" WIDTH="70"><? echo $res3."%";?> </TD>
 </TR>
</TABLE>
<form name="form1" method="post" action="">
 <div align="center">
   <p>
     <input type="submit" name="Submit" value="Cerrar Ventana" onclick="window.close();">
   </p>
   <p>&nbsp; </p>
 </div>
</form>
</body>
</html>



Dudas o comentarios favor de enviar mensaje privados
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.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
black_palma
post Nov 2 2006, 12:01 AM
Publicado: #11


Lineage II Admin - Osama Bin Laden
******

Grupo: Banned
Mensajes: 504
Registrado: 2-September 06
Desde: Aden Castle Town - Lineage II World
Miembro nº: 179.743



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:
CODE
if ($HTTP_ACCEPT_LANGUAGE != ''){ # Verificamos que el visitante haya designado algún idioma
   $idiomes = explode(",", $HTTP_ACCEPT_LANGUAGE); # Convertimos HTTP_ACCEPT_LANGUAGE en array
   /* Recorremos el array hasta que encontramos un idioma del visitante que coincida con los idiomas
   en que está disponible nuestra web */
   for ($i=0; $i<count($idiomes); $i++){
       if (!isset($idioma)){
           if (substr($idiomes[$i], 0, 2) == "ca"){$idioma = "ca";}
           if (substr($idiomes[$i], 0, 2) == "es"){$idioma = "es";}
           if (substr($idiomes[$i], 0, 2) == "en"){$idioma = "en";}
           if (substr($idiomes[$i], 0, 2) == "fr"){$idioma = "fr";}
       }
   }
}

# Si no hemos encontrado ningún idioma que nos convenga, mostramos la web en el idioma por defecto
if (!isset($idioma)){$idioma = "ca";}  


__________________
Josep Tarrés,
web: http://www.traduim.com/
blog: http://www.traduim.com/blog/
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
black_palma
post Nov 2 2006, 12:03 AM
Publicado: #12


Lineage II Admin - Osama Bin Laden
******

Grupo: Banned
Mensajes: 504
Registrado: 2-September 06
Desde: Aden Castle Town - Lineage II World
Miembro nº: 179.743



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:
CODE
<?
$id=$_GET['id'];

switch ($id) {
  case 1:
      include("pagina1.php");
      break;
  case 2:
      include("pagina2.php");
      break;
  case 3:
      include("pagina3.php");
      break;
  default:
      include("pagina_por_defecto.php");  
// estado default .. nos determina el estado  
// "si no es ninguna opcion de las anteriores".
}  
?>



Las llamadas a una página seran del tipo:

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:
CODE
<html>
<head>
<title>modulos..con ?id= ...por black.palma</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<table width="100%" border="0" cellpadding="5">
 <tr>  
   <td colspan="2">Cabecera de nuestra Web</td>
 </tr>
 <tr>  
   <td><a rel="nofollow" href="index.php?id=1">Secci&oacute;n 1</a><br>
     <a rel="nofollow" href="index.php?id=2">Seccion 2 </a> </td>
   <td>
<?
$id=$_GET['id'];

switch ($id) {
  case 1:
      include("pagina1.php");
      break;
  case 2:
      include("pagina2.php");
      break;
  case 3:
      include("pagina3.php");
      break;
  default:
      include("pagina_por_defecto.php");  
// estado default .. nos determina el estado  
// "si no es ninguna opcion de las anteriores".
}  
?>
   </td>
 </tr>
 <tr>  
   <td colspan="2">Pie de p&aacute;gina</td>
 </tr>
</table>
</body>
</html>



Un saludo,
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
black_palma
post Nov 2 2006, 12:07 AM
Publicado: #13


Lineage II Admin - Osama Bin Laden
******

Grupo: Banned
Mensajes: 504
Registrado: 2-September 06
Desde: Aden Castle Town - Lineage II World
Miembro nº: 179.743



////muy util , recomendado\\\\\
Tema:
VirtualHost y Dominio Virtual

Pregunta:
¿Como trabajo con VirtualHost(s) y Dominios Virtuales en mi PC?

Respuesta:
Podemos tranquilamente usar dominios virtuales para llamar a nuestros proyectos directamente como http://miproyecto.com/ y no como http://127.0.0.22/ (o cualquier otra IP asignada).

Vamos a ver como:

Creando servidores virtuales con dominios virtuales para poder llamarlos desde nuestra misma PC:

Requisitos:
* Windows 98/ME/2000/NT/XP
* Tener Apache instalado como servidor
* Tener al menos PHP para trabajar (y probar)

Supongamos que vamos a trabajar con un nuevo web site en PHP cuyo dominio real es sitio.com y que tenemos el htdocs en el disco C:


Primer paso:

Creamos en nuestra carpeta C:\htdocs un directorio sitio1.com
Nos quedará esto: C:\htdocs\sitio1.com

En ese directorio debemos colocar los files que usemos para hacer el web site (todos).

En este ejemplo, abrimos el Block de notas y escribimos:


Código PHP:
CODE
<?
phpinfo();
?>



Lo salvamos con el nombre de prueba.php en el directorio ..\sitio1.com\


Segundo Paso:

Ahora configuramos un VirtualHost para Apache:

Buscamos el file httpd.conf en dónde tenemos instalado Apache (dentro de la carpeta de Apache hay una que se llama "conf", este file está dentro de ella)

Lo abrimos con el Block de notas y nos vamos al final del mismo

Nos encontraremos con algo así:


Código:
CODE
#
# Use name-based virtual hosting.
#
#NameVirtualHost *

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
#<VirtualHost *>
#    ServerAdmin webmaster@dummy-host.example.com
#    DocumentRoot /www/docs/dummy-host.example.com
#    ServerName dummy-host.example.com
#    ErrorLog logs/dummy-host.example.com-error_log
#    CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>

Nosotros agregaremos nuestro VirtualHost aqui debajo y de esta manera:


Código:
CODE
## agregamos sitio1.com ###################
<VirtualHost 127.0.0.2>
ServerAdmin sitio1@algo.com
DocumentRoot C:/htdocs/sitio1.com
ServerName sitio1.com
ErrorLog logs/sitio1.com-error_log
TransferLog logs/sitio1.com-access_log
</VirtualHost>


Salvamos el file httpd.conf y reiniciamos Apache.

Hasta aqui, si cargamos el navegador y ponemos:
http://127.0.0.2/prueba.php (enter), veremos la info de php en el mismo.

Ya tenemos configurado el VirtualHost con la IP deseada.


Tercer paso:

Vamos a configurar el dominio virtual para esa IP:

Vamos al directorio: C:\WINDOWS\SYSTEM32\DRIVERS\ETC, allí encontramos varios files, pero nos interesan los siguientes:
HOSTS y LMHOSTS.SAM

Renombramos HOSTS como HOSTS.SAM

Abrimos el Block de notas y escribimos:

127.0.0.1 localhost
127.0.0.2 sitio1.com

Lo salvamos en ese mismo directorio como HOSTS (sin extensión)

Nuevamente abrimos el Block de notas y escribimos:

127.0.0.1 localhost #PRE
127.0.0.2 sitio1.com #PRE

Lo salvamos en ese mismo directorio como LMHOSTS (sin extensión)

Copiamos HOSTS y LMHOSTS de C:\WINDOWS\SYSTEM32\DRIVERS\ETC\ a C:\WINDOWS\

Listo, hemos configurado el dominio virtual sitio1.com

Para probarlo, cargamos el navegador y ponemos:
http://sitio1.com/prueba.php (enter), veremos nuevamente la info de php en el mismo.

Nota final:

De esta manera podemos llamar a nuestros proyectos en php/cgi/etc. con un nombre de dominio virtual o con un subdominio (podria ser mi.sitio.com) y no complicarnos
con las IP que si tenemos varios proyectos se nos olvidan.

De igual manera recuerden que si agregan mas proyectos (por ejemplo otrositio.com) deberán agregar otro VirtualHost en el file \Apache\conf\httpd.conf, al final del que ya tenemos con otra IP (por ej.: 127.0.0.3) y luego agregar estos datos en los files HOSTS y LMHOST que tenemos en C:\WINDOWS\

Por último: Recuerden NO configurar un dominio virtual con un nombre verdadero que ya esté ruteado en internet, ya que si lo hacen cuando naveguen y quieran
ir al sitio real, no podrán, a menos que estopeen Apache y renombren los files HOSTS y LMHOST.
Recomiendo en esos casos que creen subdominios virtuales, por ejemplo si trabajan con yahoo.com (ja ja por un decir...), hagan un dominio virtual como miweb.yaoho.com.

User is offlineProfile CardPM
Go to the top of the page
+Quote Post
black_palma
post Nov 2 2006, 12:08 AM
Publicado: #14


Lineage II Admin - Osama Bin Laden
******

Grupo: Banned
Mensajes: 504
Registrado: 2-September 06
Desde: Aden Castle Town - Lineage II World
Miembro nº: 179.743



Tema: Uso de rand() (numeros aleatorios) - ejemplo práctico.

Pregunta: Como puedo mostrar una imagen aleatoria de una lista.?

Respuesta:

Usando la función rand() podemos hacer que PHP seleccione aleatoriamente un mumero entre un rango. Ese número lo podemos usar como indice para leer un array donde tengamos las URL's de las imagenes. Seguidamente generamos las cabeceras HTTP correspondientes y se lo enviamos al navegador.

imagen_aleatoria.php

Código PHP:
CODE
<?php
//**************************************
//*                                    *
//*        Imagenes Aleatorias         *
//*    By Cluster (clus@hotpop.com)    *
//*   28/12/2002 - Versión 1.0         *
//*                                    *
//*  Uso:                              *
//*  <img src="imagen_aleatoria.php">  *
//*                                    *
//**************************************

// Array con las imagenes (URL fisico en el servidor).
// El indice es autonumerico .. tan solo añadir o quitar entradas segun se necesite.
$imagenes[]="imagen1.jpg";
$imagenes[]="imagen2.gif";
$imagenes[]="imagen3.jpg";

// Seleccion aleatoria imagen.
$aleatoria=rand(0,count($imagenes)-1);

// Buscar la extension de la imagen
$tipo_ext=explode(".",$imagenes[$aleatoria]);
$tipo=$tipo_ext[1];

// Formar la cabecera HTTP para imagen segun su extensión

// Enviamos cabecera al navegador para avisar q va una imagen de $tipo
header("Content-type: image/$tipo");
// Le ponemos el nombre de la imagen .. Al dar a descargar aparecera con este nombre. Puede dejarse uno fijo.
header("Content-Disposition: inline; filename=".$imagenes[$aleatoria]);

// Leer la imagen de su URL y entregarla al buffer de salida
readfile ($imagenes[$aleatoria]);

?>



Su uso es bien sencillo:

1) El array $imagenes[] contiene los URL's de las imagenes (si fuera necesario usar imagenes/imagen.php o como corresponda la ruta .. indicarla). El array usa indices autonumericos .. así que no hay q preocuparse del mismo .. tan solo borren o añadan las entradas de imagenes que necesiten.

2) Su uso: <img scr="nombre_que_le_den_al_script.php"> (y ruta si fuera necesario obviamente) .. Cada vez que carge la página se seleccionará una imagen de la lista que contiene el array $imagenes.

En teoría funciona con todo tipo de imagenes (.jpg, .png, .gif ..) No así con .swf (de Flash) pues se usan otras cabeceras HTTP ..

Un saludo,

PD: Desde PHP 4.2.0 no es necesario iniciar el generador de números aleatorios. Más info en www.php.net/rand
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
black_palma
post Nov 2 2006, 12:09 AM
Publicado: #15


Lineage II Admin - Osama Bin Laden
******

Grupo: Banned
Mensajes: 504
Registrado: 2-September 06
Desde: Aden Castle Town - Lineage II World
Miembro nº: 179.743



Tema Leyendo desde una base de datos.

Pregunta Cómo puedo mostrar los parrafos de un texto almacenado en la base de datos?

Respuesta


Código PHP:
CODE
echo nl2br($row['contenido']);  





Tema Leyendo desde una base de datos.

Pregunta Cómo puedo mostrar únicamente el primer parrafo del texto almacenado en la base de datos? (Muy útil para resumenes de artículos)
Respuesta


Código PHP:
CODE
function parrafin($string) {
$article = explode("\n", $string);
$parrafo = $article[0];
return( $parrafo );  
}  

echo parrafin($row['contenido']);  
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

 
 1 2 3
Closed TopicTopic OptionsStart new topic

Collapse

> Topicos similares

Por Favor NECESITO AYUDA URGENTE PARA MI XP migue_12betico 139 7 Hoy, 12:21 PM
By: migue_12betico
Vuestros videojuegos para PC favoritos Vera 13.444 112 Hoy, 05:56 AM
By: Slavery Ship
Grave problema para reinstalar windows Rommel_A 91 2 Ayer, 11:23 PM
By: Rommel_A
como hago para quitar del programa filtrar jose manuelhuillca bobadilla 33 1 Ayer, 09:23 PM
By: rioj

Google
Web www.trucoswindows.net