¡Únete!

Actividad reciente del sitio

Programación‎ > ‎PHP‎ > ‎

Manual PHP para principiantes



PHP es un lenguaje creado por una gran comunidad de personas. El sistema fue desarrollado originalmente en el año 1994 por Rasmus Lerdorf como un CGI escrito en C que permitía la interpretación de un número limitado de comandos. El sistema fue denominado Personal Home Page Tools y adquirió relativo éxito gracias a que otras personas pidieron a Rasmus que les permitiese utilizar sus programas en sus propias páginas. Dada la aceptación del primer PHP y de manera adicional, su creador diceñó un sistema para procesar formularios al que le atribuyó el nombre de FI (Form Interpreter) y el conjunto de estas dos herramientas, sería la primera versión compacta del lenguaje: PHP/FI.

PHP es un lenguaje que se ejecuta en el servidor, primero escribes la direccion que tenga PHP, luego el navegador va al server, ve que la pagina es PHP, la transforma a HTML, y devuelve un resultado HTML a el navegador.


Contenidos

    No hay encabezados.






    Lo Basico

    Para poder agregar algo de PHP en nuestra pagina, debemos abrir el codigo PHP con un tag y un interrogante (<?), y para cerrarlo primero el interrogante y despues el tag (?>).No falta decir que hay 4 formas de iniciar un PHP:

    <?php echo ('Primera forma'); ?>

    <? echo ('Segunda Forma'); ?>

    <script language="php"> echo ('Tercera Forma'); </script>

    <% echo ('Forma Tipo ASP') %>

    Aqui les mostrare un ejemplo de como escribir algo en una pagina HTML:

    <html>
    <head>
    <title>Mi primera pagina HTML</title>
    ..
    </head>
    <body>

    Aqui parte la sentencia en PHP

    <?php echo "Hola a yodos, este es mi primer codigo en PHP"; ?>

    </body>
    </html>

    Al terminar una sentencia PHP, SIEMPRE, debemos escribir un punto coma ( ; ), excepto cuando el codigo tiene una sola linea, por ejemplo:

    <?php echo "Hola" ; ?>

    <?php echo "Hola" ?>

    Estos 2 estarian bien, pero si escribimos:

    <?php
    $a = Hola

    $b = Mundo

    echo "$a + $b"

    ?>

    Estaria mal, ya que no pusimos los punto coma ( ; )



    Comentarios para PHP

    Los comentarios en PHP son parecidos (mas bien los mismos) que se ocupan en C, C++ y en las shells de Unix. Aqui veremos ejemplos:

    <?php
             echo "Para poner comentarios" // Asi se pone un comentario de una linea
    ?>

    <?php
             echo "Para poner comentarios de mas de una linea"
    /*
    Aqui estoi poniendo
    Comentarios de mas de una linea
    en PHP
    */
    ?>

    <?php
             echo "Mas y Mas Comentarios" #Comentario tipo shell de Unix
    ?>



    Includes y Requires

    Muchos de ustedes deben de haber visto alguna vez el "include", o el require, y pues bueno, aqui les enseñare a usarlos:

    Include():

    Este sirve para incluir un archivo, tal como su nombre lo dice. Por ejemplo si es que queremos que nuestra pagina tenga un contador de visitas, pero el contador de visitas es un archivo aparte, escribiriamos dentro del archivo esto:

    <html>
    <head>
    <title>Includes ...</title>
    </head>
    <body>

    <?php
    include ('contador_visitas.php');
    ?>
    Aqui el contenido de la pagina
    </body>
    </html>

    Require():

    Sirve para decirle al archivo que requiere de algo, por ejemplo cuando un usuario entra sus datos, y los guardamos en un archivo aparte, debemos decirle al archivo que requiere de ese archivo para escribir sus datos, entonces ponemos:

    tunombre.php

    <?php

    $nombre = $_GET ['nombre'];
    $apellido = $_GET ['apellido'];
    $pais = $_GET ['pais'];
    $telefono = $_GET ['telefono'];

    ?>

    procesa.php

    <html>
    <head>
    <title>Requires</title>
    </head>
    <body>

    <?php

    require (tunombre.php');
    echo "Tu te llamas $nombre $apellido , Vives en $pais, y tu telefono es $telefono." ;

    ?>
    </body>
    </html>

    Otra cosa importante sobre los includes y requires, esque cuando no queramos que salga un error cuando la pagina no se encuentra, debemos poner una @ (arroba) antes del include o el require, Ejemplo:

    <?php
    @include ('pagina.php') ;
    ?>



    Variables

    Aqui entraremos a lo esencial de todos los lenguajes, las variables. En una variable uno puede guardar algo, despues sumarlo, restarlo, ver si es igual a otra variable o otra cosa, etc... Las variables deben tener un signo de plata al principio, SIEMPRE ($variable)

    Aqui veremos un ejemplo:

    <?php

    $a = Hola; // Le asignamos el valor Hola a la variable A

    $b = Mundo; // Le asignamos el valor Mundo a la variable B

    $c = $a + $b; // Le asignamos el valor de A y B a la variable C

    echo " $c " ; // Esto imprimiria "Hola Mundo"

    ?>

    Otra cosa muy importante, es que las variables son sensibles a mayusculas y minusculas, osea que si escribimos lo siguiente:

    <?php

    $uno = Hola;

    $Uno = Mundo;

    echo "$uno $Uno";

    ?>

    Nos daria Hola Mundo.


    Cadenas

    El unico operador de cadenas que existe, es el punto. Ejemplo:

    <?php

    $a = Hola ;
    $b = $a . "Mundo" ; //Esto tiene Hola Mundo

    ?>

    Aqui hay que aclarar una cosa, es distinto hacer una cadena con comilla simple, y una con comilla doble, por ejemplo, si escribimos esto:

    <?php

    $a = Mundo ;

    echo 'Hola $a'; //Escribiriamos Hola $a
    echo "Hola $a"; //Esto si escribira Hola Mundo


    Caracteres protegidos

    Al igual que en otros lenguajes, la barra invertida, slash, o como la llamen ( \ ), se usa para ocupar los caracteres protegidos:

    \n             Esto crearia otra linea
    \r             Retorno
    \t              Tabulacion
    \\            Barra invertida
    \$              Signo de plata
    \"             Comillas dobles


    Operadores de comparación

    $a < $b       $a es menor que $b

    $a > $b       $a es mayor que $b

    $a <= $b     $a es menor o igual a $b

    $a >= $b    $ a es mayor o igual a $b

    $a == $b    $a es igual a $b

    $a != $b     $a es distinto a $b


    Operadores lógicos

    $a AND $b    Verdadero si los 2 son verdaderos

    $a && $b      Verdadero si los 2 son verdaderos

    $a !! $b      Verdadero si alguno de los 2 es verdadero

    $a OR $b      Verdadero si alguno de los 2 es verdadero

    $a XOR $b    Verdadero si solo uno es verdadero

    !$a                Verdadero si $a es falso


    Operadores de asignación

    $a = $b    Asigna $a a $b

    $a += $b   Asigna a $a la suma de $b + $a

    $a -= $b   Asigna a $a la resta de $a - $b

    $a *= $b  Multiplica $a por $b y el resultado va para $a

    $a /= $b   Divide $a por $b y el resultado va para $a

    $a .= $b   Añade $a a $b


    Sentencias de control

    Con esto podremos ver si algo es verdadero o falso, y depende del resultado hacer algo:

    If, Else

    Con esto podemos ejecutar un codigo si algo es verdadero, y si es falso ejecutar otro codigo, por ejemplo:

    <?php

    $a = 3 ;

    if ($a == 3) { // si $a es igual a 3
    echo "La Variable A es igual a 3";
    }
    else {
    echo "La variable A no es igual a 3";
    }

    ?>

    If, Elseif, Else

    Este es parecido a If, Else, solo que en este podemos hacer varios Ifs con Elseif:

    <?php

    $a = 8 ;

    if ($a == 1) {
    echo "A es igual a 1";
    }
    elseif ($a == 2) {
    echo "A es igual a 2";
    }
    else {
    echo "A no es igual ni a 1 ni a 2";
    }

    ?>

    Switch, Case, Default

    Este evalua y compara cada una de las expresiones de la sentencia case con la exprecion que evaluamos, si llegamos al final de la lista y no encuentra una condicion verdadera, ejecuta el codigo que hay en default, pero si encuentra una condicion que sea verdadera, la ejecuta y ocupa break para que no siga ejecutandose el codigo:

    <?php
          switch ($mes) {
                     case "Enero":
                     echo "Estamos en el mes de Enero";
                     break;
                     case "Febrero":
                     echo "Estamos en el mes de Febrero";
                     break;
                     case "Marzo":
                     echo "Estamos en el mes de Marzo";
                     break;
                     case "Abril":
                     echo "Estamos en el mes de Abril";
                     break;
                     case "Mayo":
                     echo "Estamos en el mes de Mayo, Es mi cumpleaños!! :D";
                     break;
                     case "Junio":
                     echo "Estamos en el mes de Junio";
                     break;
                     case "Julio":
                     echo "Estamos en el mes de Julio";
                     break;
                     case "Agosto":
                     echo "Estamos en el mes de Agosto";
                     break;
                     case "Septiembre":
                     echo "Estamos en el mes de Septiembre";
                     break;
                     case "Octubre":
                     echo "Estamos en el mes de Octubre";
                     break;
                     case "Noviembre":
                     echo "Estamos en el mes de Noviembre";
                     break;
                     case "Diciembre":
                     echo "Estamos en el mes de Diciembre, El ultimo mes del año!";
                     break;
                     default:
                     echo "Pos que raro, no estamos en ningun mes xD";
                    }
    ?>

    While

    Esta sentencia ejecuta un codigo mientras una condicion se este cumpliendo (while, en castellano es mientras ...). Ejemplo:

    <?php
    $num = 1;
                   while ($num < 5) {
                   echo " $num ";
                   $num++
    }
    ?>

    Al igual que en Switch, aqui tambien podemos parar el codigo con break:

    <?php
    $num = 1;
                   while ($num < 5) {
                   echo " $num ";
                   if ($num == 3) {
                   echo "Aki paramos";
                   break;
                   }
                   $num++
    }
    ?>



    Variables y Formularios

    Si es que sabemos trabajar con variables y formularios, podriamos hacer casi cualquier cosa (por ejemplo, podriamos hacer un recomendador de webs, un programilla que adivine "las posibilidades de amor", algo que pregunte el nombre de una persona y lo escriba, etc ...

    Lo que tenemos que hacer es hacer un formularion dentro de una web html (<form action="pagina_que_procese.php" method=get/post>)
    Primero preguntamos que nombre tiene, con un input de text (aqui ya entramos a html... xD si no sabes que es un input o un form, etc, y despues, en la pagina que procese, recuperamos los datos, con $_GET, aqui les explicaré como, con un ejemplo:

    nombre.htm

    <html>
    <head>
    <title>Como te llamas?</title>
    </head>
    <body>
    Como te llamas?
    <form action="nombre.php" method="get">
    <input type="text" size="30" name="tunombre">
    <!-- name=tunombre es muy importante, ya que esa sera la variable que tomaremos en la pagina procesadora -->
    <input type="submit" value="Enviar">
    </form>
    </body>
    </html>

    nombre.php

    <?php

    $tunombre = $_GET ['tunombre'];
    /*
    Con este codigo recuperamos los datos de
    nombre.htm y los guardamos en $tunombre
    */

    echo "Tu te llamas $tunombre";

    ?>

    Este era un ejemplo con un input text, aora veamos uno con un  input checkbox:

    que.htm

    <html>
    <head>
    <title>que haras Hoydia?</title>
    </head>
    <body>
    Que haras Hoy Dia?
    <form action="que.php" method="get">
    Ire al cine<input type="checkbox" name="check1">
    Ire al Colegio<input type="checkbox" name="check2">
    Jugare Futbol<input type="checkbox" name="check3">
    Dormire todo el dia :D<input type="checkbox" name="check4">
    <input type="submit" value="Enviar">
    </form>
    </body>
    </html>

    que.php

    <?php

    $check1 = $_GET ['check1'];
    $check2 = $_GET ['check2'];
    $check3 = $_GET ['check3'];
    $check4 = $_GET ['check4'];
             if (isset ($check1))
             echo "$chek1<br><br>";
             if (isset ($check2))
             echo "$chek2<br><br>";
             if (isset ($check3))
             echo "$chek3<br><br>";
             if (isset ($check4))
             echo "$chek4<br><br>";
    ?>

    Como pueden ver, para ver si esta marcado el checkbox, utilizo el "Isset" (en castellano, esta puesto), por lo que seria "si esta puesto el check 1, etc ..."

    Despues pondre mas ejemplos.

    VI- Almacenamiento y Envio de Datos

    Aki veremos el uso de fopen, fread y fwrite, y como enviar mails.

    fopen

    Abre un archivo o URL

    Descripcion: int fopen (string filename, string mode [, int use_include_path])

    Si filename empieza con http//:, se abre una conexion HTTP 1.0 hacia el servidor dado y devuelve un apuntador al archivo al comienzo del texto de respuesta.

    Siempre se debe incluir una barra final.

    Si filename empieza con ftp:// se abre una conexion ftp acia el servidor dado y se devuelve el aputandor del archivo rekerido

    Si filename no empieza con lo dado anteriormente, el archivo se abre de los archivos que se encuentran en el servidor.

    Mode, puede ser cualquiera de lo siguiente:

    "r" - Abre el archivo solo para lectura

    "r+" - Abre el archivo para lectura y escritura

    "w" - Abre el archivo solo para escritura, si el archivo no existe, trata de crearlo.

    "w+" - Aber el archivo para lectura y escritura, si el archivo no existe, trata de crearlo.

    "a" - Abre el archivo solo para escribir (añadir), si el archivo no existe, trata de crearlo.

    "a+" - Abre el archivo para escribir (añadir) y para lectura. Si el archivo no existe, trata de crearlo.

    fwrite

    Escribe en modo Binario

    Descripcion: int fwrite (int fp, string string [, int length])

    fwrite() escribe el contenido de string al fichero apuntado por fp. Si se da el argumento length, la escritura acaba antes de que length bytes sean escritos o se alcance el final de string, lo que pase primero.

    fread

    Lee archivos en modo binario

    Descripcion: string fread (int fp, int length)

    fread() lee hasta length bytes del apuntador del fichero referenciado por fp. La lectura acaba cuando length bytes se han leido o se alcansa EOF, lo que pase primero.

    Bueno, sabiendo esto ya podriamos crear un contador... Aqui les dejo uno:

    <?
    $archivo = "contador.txt";
    $abre = fopen($archivo, "r");
    $total = fread($abre, filesize($archivo));
    fclose($abre);
    $abre = fopen($archivo, "w");
    $total = $total + 1;
    $grabar = fwrite($abre, $total);
    fclose($abre);
    echo "<font face='verdana' size='2'>Hemos tenido <b>".$total."</b> visitas desde FECHA DE CREACION</font>";
    ?>


    Envio de mails

    Esta es una funcion muy fácil, y el codigo "mail" hace casi todo por nosotros ... aqui va

    mail (destinario, tema, mensaje, remitente);

    Asi de simple, aqui un ejemplo:

    email.htm

    <html>
    <head>
    <title>Manda un Mail</title>
    </head>
    <body>
    <form action=email.php method=get>
    Introduce tu direccion: <input type=text size=20 name=direccion><br>
    Introduce el mensaje:<br>
    <textarea rows=5 name=mensaje><br>
    Introduce el Email de destino: <input type=text size=20 name=destino>
    </form>
    </body>
    </html>

    email.php

    <?php

    //recojemos los datos
    $direccion = $_GET ['direccion'];
    $mensaje = $_GET ['mensaje'];
    $destino = $_GET ['destino'];

    //Enviamos el mail
    mail ($destino, "Hola!", $mensaje, "FROM: $direccion");

    //Le decimos al user que su mail ha sido enviado con exito
    echo "Tu mensaje ha sido enviado con exito ha: $destino !!";
    ?>


    Autor: -Riven-Ward-
    Fuente original: http://foro.elhacker.net/php/tutorial_manual_php_actualizado_el_190204-t25674.0.html

    Comments