PHP
downloads | documentation | faq | getting help | mailing lists | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

Uso de Formularios HTML> <Su primera página con PHP
Last updated: Fri, 22 Aug 2008

view this page in

Algo útil

Hagamos ahora algo que puede ser más útil. Vamos a chequear qué clase de navegador web utiliza. Para hacerlo, vamos a consultar la información que el navegador nos envía como parte de su petición HTTP. Esta información es guardada en una variable. Las variables siempre comienzan con un signo de dólar ("$") en PHP. La variable que vamos a utilizar en esta situación es $_SERVER["HTTP_USER_AGENT"].

Note: $_SERVER es una variable reservada por PHP que contiene toda la información del servidor web. Es conocida como Autoglobal (o Superglobal). Consulte el manual en su sección titulada Autoglobales para mas información. Éstas son variables especiales que fueron introducidas en la versión » 4.1.0 de PHP. Antes podíamos usar las matrices $HTTP_*_VARS, tales como $HTTP_SERVER_VARS. Aunque éstas han sido marcadas como obsoletas, tales matrices todavía existen. (También puede echar un vistazo a las notas relacionadas con el código antiguo.)

Para poder ver esta variable solo necesita:

Example #1 Impresión de una variable (elemento de la matriz)

<?php echo $_SERVER["HTTP_USER_AGENT"]; ?>

Un ejemplo de los resultados de este programa sería:

Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)
      

Hay muchos tipos de variables en PHP. En el ejemplo anterior imprimimos una matriz. Las matrices pueden ser muy útiles.

$_SERVER es simplemente una variable que se encuentra disponible automáticamente para usted en PHP. Puede encontrar una lista en la sección titulada Variables Reservadas del manual, o puede generar una lista completa creando un archivo como el presentado a continuación:

Example #2 Consultar todas las variables predefinidas con phpinfo()

<?php phpinfo(); ?>

Si abre este archivo con su navegador, puede ver una página con información acerca de PHP, junto a una lista de todas las variables que puede usar.

Puede usar más de un declaración PHP dentro de una etiqueta PHP, y crear pequeños segmentos de código que pueden hacer más que un "echo". Por ejemplo, si quisiéramos detectar el uso de "Internet Explorer", haríamos algo así:

Example #3 Ejemplos de uso de estructuras de control y funciones

<?php
if (strstr($_SERVER["HTTP_USER_AGENT"], "MSIE")) {
    echo 
"Est&aacute; usando Internet Explorer<br />";
}
?>

Un ejemplo de los resultado del script puede ser:

Est&aacute; usando Internet Explorer<br />

A continuación introduciremos un par de conceptos nuevos. Tenemos una declaración "if". Si está familiarizado con la sintaxis básica del lenguaje "C", esto se vera lógico, Pero si no entiende "C", u otros lenguajes de programación donde encuentra la sintaxis usada anteriormente, probablemente debería conseguir un libro que le introduzca mejor a PHP, y lea los primeros capítulos, o también puede ver la parte del manual titulada Referencia del lenguaje. Puedes encontrar una lista de libros sobre PHP en » http://www.php.net/books.php.

El segundo concepto que introducimos fue la función llamada strstr(). strstr() es una función integrada de PHP que busca un cadena dentro de otra cadena más larga. En el caso anterior estamos buscando "MSIE" dentro de $_SERVER["HTTP_USER_AGENT"]. Si la cadena fue encontrada, la función devolverá verdadero ("TRUE"), la declaración "if" se evalúa a verdadero ("TRUE") y el código adentro de las llaves {} es ejecutado. De otra manera no resulta ejecutado. Tómese la libertad de crear ejemplos similares usando "if", "else" ("de otra manera"), y otras funciones como strtoupper() y strlen(). Cada página del manual contiene ejemplos que puede usar. Si no está seguro sobre el modo de uso éstas funciones, es recomendable que lea las páginas del manual tituladas Cómo leer una definición de función y la sección relacionada a Funciones en PHP

Podemos continuar y demostrar cómo puede saltar adentro y afuera del modo PHP en el medio de un bloque de código.

Example #4 Mezcla de los modos HTML y PHP

<?php
if (strstr($_SERVER["HTTP_USER_AGENT"], "MSIE")) {
?>
<h3>strstr debe haber devuelto verdadero</h3>
<center><b>Est&aacute; usando Internet Explorer</b></center>
<?php
} else {
?>
<h3>strstr debi&oacute; devolver falso</h3>
<center><b>No est&aacute; usando Internet Explorer</b></center>
<?php
}
?>

Un ejemplo de los resultados de este script puede ser:

<h3>strstr debe haber devuelto verdadero </h3>
<center><b>Est&aacute; usando Internet Explorer</b></center>

En vez de usar una sentencia PHP "echo" para demostrar algo, saltamos fuera del código PHP y escribimos HTML puro. Este es un punto muy importante y potente que debemos observar aquí, y es que la fluidez lógica del script está intacta. Sólamente las partes donde hay HTML serán enviadas a su navegador dependiendo de los resultados que strstr() devuelve (si fue verdadero [TRUE], o falso [FALSE]). En otras palabras, si la cadena MSIE fue encontrada o no.



Uso de Formularios HTML> <Su primera página con PHP
Last updated: Fri, 22 Aug 2008
 
add a note add a note User Contributed Notes
Algo útil
Dave
04-Oct-2008 01:12
In my opinion this tutorial is already following the excellent approach of using small focused examples and building on them.  This makes it easier to understand and gives the reader a chance to try some simple experiments without having to wade through the muck of a complex framework.

I assume at some point you will show the type of frameworks you can use in PHP but it would be foolish to burden you reader with those until they understand the basics.
Liz
28-Sep-2008 06:08
Ducky,

I have started teaching my 14 year old daughter basics of web development. We've started off with separating document structure form presentation from logic. It's actually worked out well - and she appreciates that it will help her down the road.

Please do NOT underestimate the intelligence of your readership by assuming that such "complex things" as best practices can't be taught from the start. Teaching best practices from the start are the types of things that give students a leg up when they get out into the work force and have to ramp up in new job situations - little things like that do get noticed by employers and coworkers.
Anonymous
02-Sep-2008 08:26
To ducky:

Actually it's a good idea to start the habit of separating logic from presentation since the beginning (like when you're just starting to learn html and css). Otherwise you'll get used to not work that way, and when you want to do it it'll be much harder.
rok
17-Jun-2008 11:25
Seperating logic and presentation should be introduced at start. I'm just learning PHP but have background in Perl, C and C++ and find mixed html/code extremly complex to maintain. It would be very nice if this beginners tutorial already presented on how to seperate code/html. Now to read up on that smarty ;).
sako
23-Apr-2008 12:36
I don't think there is a bad time to start separating logic from presentation. It is actually a good idea to start doing this from the get-go so it becomes a habit. This is a great habit.. Everything now a days is going away from mixing logic and presentation for simplicity sake among other things (look at html and css). I think a good thing to read up on is smarty. It can do wonders separating your logic from presentation.
ducky
03-Apr-2008 01:54
To the above poster:

That's probably too much to think about when you're starting out... You should probably at first just concentrate on getting the stuff running and learning syntax before you consider best practices and the like.
rfantin at coralwood dot com
20-Dec-2006 08:00
While it's easy to get carried away mixing your logic and presentation together since it's so easy to do, your better off using PHP within HTML only to fill in values, or include other source files.

Keep your actual processing in separate libraries that are called before you send any headers to the page. Try to avoid calling a script that retrieves or sets information, or manipulates it in the middle of your HTML. You'll find it's much easier to maintain.

Uso de Formularios HTML> <Su primera página con PHP
Last updated: Fri, 22 Aug 2008
 
 
show source | credits | sitemap | contact | advertising | mirror sites