Portada | Monotemáticos | Secciones | Desarrolladores | Comunidad | Servicios | Servicios profesionales | RSS
Desde 0 | HTML | CSS | ASP | PHP | AJAX | Javascript | Diseño web | Promoción web | Ganar dinero
Directorio | Manuales | Scripts | FAQs | Programas | Artículos Copyleft | Actualidad | La Cosecha | Colabora
Registrarse | Vuestras páginas | Foros del web | Lista de correo | Boletín de novedades
Generador METAs | Compras | Busca cursos
Alojamiento | Dominios.es | Micropagos SMS | Buscadores | Patentes, marcas | Creación web | Multimedia | Videos
Desarrollo Freelance | Buscar proyectos | Buscar profesionales | Solicitar desarrollo
FAQ: Diferencias de utilizar $_POST o la variable directamente

estoy aqui mal Se muestran 7 comentarios sin revisar

Fco Díaz {{ /\ |< (-) ..>¨ >>}}  29/12/05 
100% recomendado usar los arreglos $_POST,$_GET y $_SESSION en lugar de las variables directas, ademas si usas los arreglos incluso al ser mas seguro puedes enviar variables dobles... por ejemplo puedo tener una finta con el campo var que en la direcion url le voy a pasar
index.php?var=esta%20variable
y en un form dentro de un formulario que envie por post puedo poner la misma variable entoces puedo recibir una $var por post y una por get.. ademas de que si usas la variable directa esto ten por seguro que te va a dar muchos problemas cuando mudes de servidor, y con los arreglos estas 100% seguro que funcionaran... si lo que te da flojera es teclerear $_POST[var], te doy los siguente cosejos
puesdes copiar el arreglo a otro con un nombre mas corto x ejemplo
$P=$_POST
así hago una referencia a el arreglo $_POST desde la variable $P así en lugar de escribir

-------------------------------------
$_POST['var'];
escribo
$P['var'];
----------------------------------------

otro consejo es no usar las ' si no lo requerimos
un arreglo puede usar una cadena como indice, esta si no tiene espacio puede ser una costante, el uso de cadenas es para que sea pueda recuperar direciones del arreglo de forma dinamica pero si no estamos haciendo esto podemos ahoranolas
ejmplo
$P=$_POST;
$P[var];

así me he arado escribir _POST y un par de comillas

si el idice lleva espacio este deve de ir entre comillas forzosamente... ha tambie con esto evitamos en la cocatenacion de cadenas tener que abrir y cerrar las comillas
ejemplo
con comillas sencillas
echo "La que sigue es una variable".$_POST['var']."<br>";
si comillas no ahoramos el punto y las dos ".
echo "La que sigue es una variable $_POST[var]";
en resumen con esto en lugar de escribir
$_POST['var'];
solo escribo
$P[var];
pero recuerden que deven de hacer la referencia
$P=$_POST;

Fco Díaz
Romita Gto. Mex.

Viktor Manuel Freire Parada  15/2/06 
Es muy cierto que activando el register_globals=ON en el php.ini funciona el paso directo de varibles de una pagina a otra, o por lo menos eso he leido en varios foros, mas a mi no me funciona, yo tengo instalada la version 5 de php con las versiones 5 de mysql y 2 de apache y el paso de variable no se lleva a cabo; en la pagina 1 hago <a href="2.php?$cod=<php echo $campos[cod_categoria]; ?>">pag 2 </a> y en la pagina 2 hago un <?php echo $cod; ?> y no me muestra el valor de la variable.
si tienen una sugerencia o solucion a mi problema se los agradezco, mi msn es vion_v@hotmail.com

Eduardo Mendoza  11/5/06 
Como puedo recuperar la informacion y ponerla dentro del codigo fuente es decir algo asi:


<?
$tunombre=$_POST['nombre'];
$tuemail=$_POST['email'];
$asunto = "Felicidades";
$master = $_post["miemail"];
$receptor = $_post["emailamigo"];
$texto1='<html> <head>
<title> $titulo </title>
<link rel="stylesheet" type="text/css" href="http://www38.websamba.com/elmasternet/sddm.css" /
<link rel="stylesheet" href="http://www38.websamba.com/elmasternet/style1.css" type="text/css" media="screen">
</head><Body bgcolor="black" text="ffffff">
<bgsound src=http://www38.websamba.com/elmasternet/direccion.wav loop=1>
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
<tr><td align="center" valign="top">
<table width="750" border="0" cellpadding="0" cellspacing="0">
<tr>
<td><img src="http://www38.websamba.com/elmasternet/images/temp2_01.jpg" width="120" height="49"></td>
<td><img src="http://www38.websamba.com/elmasternet/images/temp2_02.jpg" width="125" height="49"></td>
<td><img src="http://www38.websamba.com/elmasternet/images/temp2_03.jpg" width="150" height="49"></td>
<td><img src="http://www38.websamba.com/elmasternet/images/temp2_04.jpg" width="150" height="49"></td>
<td><img src="http://www38.websamba.com/elmasternet/images/temp2_05.jpg" width="205" height="49"></td>
</tr><tr>
<td><img src="http://www38.websamba.com/elmasternet/images/temp2_06.jpg" width="120" height="45"></td>
<td><img src="http://www38.websamba.com/elmasternet/images/temp2_07.jpg" width="125" height="45"></td>
<td colspan="3" background="http://www38.websamba.com/elmasternet/images/menu-bg.jpg" width="505" height="45">
</td>
</tr>
</table>
<br></center>
<font color="ffffff">Hola el mail enviado a este mail fue: $_post["emailamigo"]
</body>
</html>';

/* Para enviar correso HTML se debe especificar el Content-type header. */
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

mail($master, $asunto, $texto1, $headers);


?>
Sin embarho aparece asi en el mail:
Hola el mail enviado a este mail fue: $_post["emailamigo"]

pero debe aparecer:
Hola el mail enviado a este mail fue: fulanito@mail.com
********************************************
o si hay algun metodo porfavor diganme

vaLar  10/11/06 
Recuerda que para colocar un valor entre una cadena se emplea el operador (punto) .
Por ejemplo
$texto = "hola " . $nombre . "mucho gusto";
o bien:
$texto = 'Adios' . $nombre . 'gracias por la visita';

Edmundo  22/6/07 
El uso del $_post me funciona perfectamente cuando en el formulario uso variables de texto, pero cuando uso el input file que es donde se guarda la ruta de un archivo a ser subido, al pasar a php desaparece esta informacion. Q esta pasando?

Ana  27/7/07 
Respuesta para Edmundo:

Pasa que estás programando en PHP sin habaerte leído el manual. Para controlar los ficheros subidos NO SE USA el array superglobal $_POST, sino el $_FILES. Léete el manual de PHP antes de programar en él.

antonio  13/11/07 
ojala me ayuden no puedo caprurra las variables q envio de una pagina a otra utilizo el metodo get peor nada mi archivo php.ini y alo modifique poniendole on o off a eso de registrer_global pero nada si alguien me pueede ayudar..ahh y ya verifique todo el codigo y me deberia funcionar ....aparte provee insertardo en mi base de datos sin pasar variables y esta todo ok ..el unico problmea es q con el $_get o $_post o $request no me funca nada

Ver el articulo / faq completo Ver la FAQ y todos sus comentarios
Añadir un comentario al artículo Añadir un comentario del artículo
  Ir arriba


DesarrolloWeb.com | Copyright | Anunciese | Acerca de | Datos legales | Contacta | Por GuiarteMultimedia