miércoles, 9 de octubre de 2013

DEBER 7

FRANCISCO MUNOZ
CATEDRATICO Ing. Juan Espinoza

METODO GET Y POST EN FORMULARIOS

La primera forma es crear un formulario, el cuál utiliza los métodos GET y POST.

$_GET y $_POST son dos de las variables superglobales que vimos antes. Por tener ámbito global, los valores que se incluyan mediante estos dos métodos estarán disponibles en la página siguiente. Mediante estos métodos podemos pasar determinados valores de una pagina a otra.

El método que se desee usar se indica en la propiedad "Method", y la página a la cual deseo enviar la información se indica en la propiedad "Action" del formulario.

Es importante recordar que $_GET y $_POST son arreglos que tienen posiciones asociativas, es decir, cada posición en el arreglo tiene un nombre, y ese nombre es el mismo que tiene cada campo del formulario.

Ejemplos de envío de parámetros usando formularios

Envío mediante Método GET

Envío mediante Método POST

BIBLIOGRAFIA

REQUEST

El concepto es bastante sencillo, pues no es más que un array asociativo que contiene todos los valores de $_POST, $_GET y $_COOKIE (aunque $_COOKIES está fuera de $_REQUEST en algunas configuraciones de PHP). 
Funcionan igual que estás, como variable "superglobal", que se encuentra accesible desde cualquier punto del código PHP.

En el PHP.ini podrás encontrar la directiva de configuración PHP variables_order que te sirve para definir lo que hay o no hay en ese array $_REQUEST y el orden de los elementos.

BIBLIOGRAFIA


QUERY

Descripción

int mysql_query ( string sentencia [, int identificador_de_enlace])
mysql_query() envia una sentencia a la base activa en el servidor asociado al identificador de enlace. Si no es especificado un identificador_de_enlace, se asumira el ultilmo enlace abierto. Si no hay ningun enlace abierto, la función intenta estalecer un enlace como si se llamara función mysql_connect() sin argumentos, y lo utiliza.

La sentencia no puede terminar por punto y coma.
mysql_query() devuelve TRUE (no-cero) o FALSE para indicar si la sentencia se ha ejecutado correctamente o no. Un valor TRUE significa que la sentencia era correcta y pudo ser ejecutada en el servidor. No indica nada sobre el numero de fila devueltas. Es perfectamente posible que la sentencia se ejecute correctamente pero que no devuelve ninguna fila.
La siguiente sentencia es invalida sintacticamente, asi que mysql_query() falla y devuelve FALSE:

Ejemplo 1. mysql_query()
<?php
$result = mysql_query ("SELECT * WHERE 1=1")
    or die ("Invalid query");
?>
La siguiente sentencia es invalida semanticamente si my_col no es una columna de la tabla my_tbl, asi que mysql_query() falla y devuelve FALSE:

Ejemplo 2. mysql_query()
<?php
$result = mysql_query ("SELECT my_col FROM my_tbl")
    or die ("Invalid query");
?>
mysql_query() fallara tambien y devolvera FALSE si no se tiene el permiso de acceso a la tabla especificada en la sentencia.

Asumiendo la sentencia tenga exito, se puede llamar a mysql_affected_rows() para saber cuantas filas fueron afectadas (para DELETE, INSERT, REPLACE, o UPDATE ) Para las sentencias SELECT, mysql_query()devuelve un nuevo identificador de resultado que se puede pasar a mysql_result(). Cuando se acabe de utilizar el resultado, se pueden liberar los recursos asociados utilizando mysql_free_result().

BIBLIOGRAFIA

TIPOS DE FORMATOS EN PHP

Bueno para empezar primero definamos de manera concisa que es “Tipo Título”. En un texto tipo título todas las primeras letras, sin importar el tipo de palabra, (sea preposición, artículo, verbo …), aparece en mayúscula.

Ejemplo:
Hola Esta Es Una Oración En Tipo Título.


Aparentemente es fácil este problema para un programador en PHP en nivel medio-avanzado. En PHP existen dos funciones que podrían intuitivamente ser utilizadas para resolver el problema.

La función strtolower (Convierte una cadena a minúsculas), esta función retorna un string con todo el contenido en minúsculas. Se utiliza de la siguiente forma $retorno = strtolower($string); donde $string debe ser de tipo string.

La otra función que mencionaba que puede ser adecuada para resolver este problema es la función ucwords (Convierte a mayúsculas el primer carácter de cada palabra en una cadena), esta función retorna un string con todo las primeras letras de una palabra en mayúsculas. Se utiliza muy similar a strtolower $retorno = ucwords($string); donde $string debe ser de tipo string.

Para los programadores despistados que no han deducido hasta el momento como utilizar estas dos funciones para resolver el problema, la solución sería así:
Código :
<?php
ucwords(strtolower($texto1));
?>
En donde $texto1 es la variable en la cuál guardamos nuestro string. 

Aparentemente, no existe ningún problema con la mezcla de estas dos funciones si convertimos un texto como el siguiente
Código :
<?php
$texto = "este TEXTO ES Fácil de convertir a tipo título";
print ucwords(strtolower($texto3)); //Salida: Este Texto Es Fácil De Convertir A Tipo Título
?>
Pero la realidad es otra la cual la expondré con un código más elaborado
Código :
<?php
$texto1 = "ESTE TÍTULO ESTA EN MAYÚSCULAS ÁÉÍÓÚÑ ÁBACO Ñ";
$texto2 = "este título esta en minúsculas áéíóú ábaco ñ";
$texto3 = "este TEXTO ES Fácil de convertir a tipo título";


//Estrategía incorrecta:
//Convertir todo el texto a minúscula y pasar la primera letra de cada palabra a mayúsculas
//Primer Ejemplo Incorrecto:
print ucwords(strtolower($texto1)) . "<br>"; //Salida: Este TÍtulo Esta En MayÚsculas ÁÉÍÓÚÑ Ábaco Ñ

//Segundo Ejemplo Incorrecto:
print ucwords(strtolower($texto2)) . "<br>"; //Salida: Este Título Esta En Minúsculas áéíóú ábaco ñ

//Tercer Ejemplo Correcto;
print ucwords(strtolower($texto3)) . "<br>"; //Salida: Este Texto Es Fácil De Convertir A Tipo Título

?>
BIBLIOGRAFIA

TIPOS DE FILAS Y COLUMNAS

FETCH STYLE

Controla cómo se devolverá la siguiente fila al llamador. Este valor debe ser una de las constantes PDO::FETCH_*, estando predeterminadoPDO::ATTR_DEFAULT_FETCH_MODE (el cual por defecto es PDO::FETCH_BOTH).
  • PDO::FETCH_ASSOC: devuelve un array indexado por los nombres de las columnas del conjunto de resultados.
  • PDO::FETCH_BOTH (predeterminado): devuelve un array indexado tanto por nombre de columna, como numéricamente con índice de base 0 tal como fue devuelto en el conjunto de resultados.
  • PDO::FETCH_BOUND: devuelve TRUE y asigna los valores de las columnas del conjunto de resultados a las variables de PHP a las que fueron vinculadas con el método PDOStatement::bindColumn().
  • PDO::FETCH_CLASS: devuelve una nueva instancia de la clase solicitada, haciendo corresponder las columnas del conjunto de resultados con los nombres de las propiedades de la clase. Si fetch_style incluye PDO::FETCH_CLASSTYPE (por ejemplo, PDO::FETCH_CLASS | PDO::FETCH_CLASSTYPE), entonces el nombre de la clase se determina a partir del valor de la primera columna.
  • PDO::FETCH_INTO: actualiza una instancia existente de la clase solicitada, haciendo coincidir el nombre de las columnas con los nombres de las propiedades de la clase.
  • PDO::FETCH_LAZY: combina PDO::FETCH_BOTH y PDO::FETCH_OBJ, creando los nombres de la variables del objeto tal como se accedieron.
  • PDO::FETCH_NUM: devuelve un array indexado por el número de columna tal como fue devuelto en el conjunto de resultados, comenzando por la columna 0.
  • PDO::FETCH_OBJ: devuelve un objeto anónimo con nombres de propiedades que se corresponden a los nombres de las columnas devueltas en el conjunto de resultados.

CURSOR_ORIENTATCION

Para un objeto PDOStatement que represente un cursor desplazable, este valor determina qué columna será devuelta por el llamador. Este valor debe ser una de las constantesPDO::FETCH_ORI_*, siendo la predeterminada PDO::FETCH_ORI_NEXT. Para solicitar un cursor desplazable para el objeto PDOStatement, se debe establecer el atributoPDO::ATTR_CURSOR a PDO::CURSOR_SCROLL cuando se prepare la sentencia SQL conPDO::prepare().

OFFSET

Para un objeto PDOStatement que represente un cursor desplazable para el cual el parámetro cursor_orientation está establecido a PDO::FETCH_ORI_ABS, este valor especifica el número absoluto de la fila del conjunto de resultados que se desea obtener.
Para un objeto PDOStatement que represente un cursor desplazable para el cual el parámetro cursor_orientation está establecido a PDO::FETCH_ORI_REL, este valor especifica la fila a obtener relativa a la posición del cursor antes de que se llame aPDOStatement::fetch().

BIBLIOGRAFIA

No hay comentarios:

Publicar un comentario