Foros del Web » Programando para Internet » PHP »

Superglobals

Estas en el tema de Superglobals en el foro de PHP en Foros del Web. Bien, he estado buscando por el foro y mas o menos me queda claro, pero tengo una prefabricada con estas variables y me cuesta saber ...
  #1 (permalink)  
Antiguo 12/01/2009, 06:35
 
Fecha de Ingreso: febrero-2008
Mensajes: 120
Antigüedad: 16 años, 2 meses
Puntos: 1
Superglobals

Bien, he estado buscando por el foro y mas o menos me queda claro, pero tengo una prefabricada con estas variables y me cuesta saber que variable precisa de una u otra superglobal ($_get, $_post, etc...)

Pego codigo por si alguien tiene alguna sugerencia. Se agradece.




<table cellpadding=5 cellspacing=5 border="0" class="contenido">



<?php



$arr_item=explode("|",$myshop);

if (!empty($additem)){
$item_id=$additem;
$item_jm=1;
if (!strstr($myshop,"$item_id:")){
$apartament_item="|".$item_id.":".$item_jm;
$myshop.=$apartament_item;

}
}


if (!empty($edit_jml)){
$item_id=$item_id;
$item_jm=$edit_jml;
for ($co=1; $co<count($arr_item); $co++){
if (strstr($arr_item[$co],"$item_id:")){
$olditem = "|".$arr_item[$co];
$newitem = "|".$item_id.":".$item_jm;
$apartament_item=str_replace($olditem,$newitem,$my shop);
$myshop=$apartament_item;

}
}
}

if (!empty($del_item)){
$item_id=$del_item;
for ($co=1; $co<count($arr_item); $co++){
if (strstr($arr_item[$co],"$item_id:")){
$olditem = "|".$arr_item[$co];
$newitem = "";
$apartament_item=str_replace($olditem,$newitem,$my shop);
$myshop=$apartament_item;

}
}
}






$arr_item=explode("|",$myshop);


$total=0;
$subtotal=0;
if (!empty($myshop)){
echo "<table border=0 cellspacing=1 cellpadding=4 class=contenido width=100%>";

echo "<tr><td colspan=5><br />Aquesta es la seva reserva. Si us plau, indiquin's els numero de nits i procedeixi a establir el periode.<br /><br /></td></tr>";

echo "<tr><td class=peti><b>Imatge</td><td class=peti><b>Apartament</td><td class=peti><b>Preu</td><td class=peti><b>Càlcul Preu/Nit</td><td class=peti><b>Subtotal(".$defcurr.")</td></tr>";
for ($co=1; $co<count($arr_item); $co++){
$item_picture="";
$item_title="";
$item_description="";
$item_price="";
$ro_shop=explode(":",$arr_item[$co]);
$rs_item=@mysql_query("select * from apartament_item where id='$ro_shop[0]'");
$ada_item=@mysql_num_rows($rs_item);
if ($ada_item>0){
$item_picture=@mysql_result($rs_item,0,"picture");
$item_title=@mysql_result($rs_item,0,"title");
$item_description=@mysql_result($rs_item,0,"descri ption");
$item_curr=@mysql_result($rs_item,0,"curr");
$item_price=@mysql_result($rs_item,0,"price");
$item_disc=@mysql_result($rs_item,0,"discount");
}
echo "<tr>";
echo "<td align=center valign=top width=1>";
if ( (!empty($item_picture)) and (file_exists($item_picture)) ){

echo "sin imagen";
} else{
$imgarr=@getimagesize($item_picture);
$winwidth=$imgarr[0]+40;
$winheight=$imgarr[1]+120;

echo "<img src='imatges_ap/".$item_picture."' alt=imagen border=0 width=100 /> ";



}
echo "</td>";
echo "<td><span class=titulardetalle>".$item_title."</span><br />";
echo "<br><span class=desc>".$item_description."</span>";
echo "<br /><br /><a href='detall.php?detail_id=".$ro_shop[0]."' class=black><img src=img/boton_detalle.png border=0 alt=ver detalle longdesc=ver detalle /></a>&nbsp;<a href='".$PHP_SELF."?del_item=".$ro_shop[0]."' class=black><img src=img/cancelar.png border=0 alt=cancelar longdesc=cancelar /></a>";
echo "</td>";
echo "<td align=right valign=top nowrap>";
if (!empty($item_disc)){
echo "<font color=#FF0000>".$item_curr." <strike>".number_format($item_price, 2)."</strike></font>";
echo "<br><font color=#008080>Desc: ".$item_disc."%</font>";
$item_price=$item_price - ($item_price*($item_disc/100));
echo "<br>".$item_curr." ".number_format($item_price, 2);
} else {
echo "<span class=preu>".number_format($item_price, 2)." ".$item_curr."</span>";
}

if ($defcurr<>$item_curr){
$curr_from=@mysql_result(@mysql_query("select curr_value from shop_curr where curr_name='$item_curr'"),0,0);
$curr_to=@mysql_result(@mysql_query("select curr_value from shop_curr where curr_name='$defcurr'"),0,0);
if ( (!empty($curr_from)) and (!empty($curr_to)) ){
$item_price=($item_price*$curr_to)/$curr_from;
echo "<br>(".$defcurr." ". number_format($item_price,2).")";
} else {

}
}








echo "</td>";
echo "<td align=right valign=top><select onChange=\"window.location = this.options[this.selectedIndex].value\" ";
echo ">";
for ($c=1;$c<=10;$c++){
echo "<option";
if ($c==$ro_shop[1]){ echo " selected"; }
echo " value='afegir_reserva.php?item_id=".$ro_shop[0]."&edit_jml=".$c."'>".$c."</option>";
}
echo "</select>";







echo "</td>";
$subtotal=$ro_shop[1]*$item_price;
echo "<td align=right valign=top class=preu>".number_format($subtotal, 2)."</td>";
echo "</tr>";
$total=$total+$subtotal;
}
echo "<tr><td class=peti colspan=4 align=right><b>T O T A L</td>";
echo "<td class=tota align=right><b>".number_format($total, 2)."</td></tr>";
echo "</table>";
echo "<div align=right><br>";
echo "<a href='apartaments.php' ><img src=img/tornar.png border=0 /></a>&nbsp; ";
echo "<input type='image' src=img/periodo.png name='btorder' value='Triar el periode' class=but onclick=window.location='ordenar.php'>&nbsp;&nbsp; ";
echo "<br /><br /></div>";
} else {
echo "<div align=center><h3><br>No tè cap reserva efectuada,<br><a href='apartaments.php' class=black>Visiteu els apartaments</a>...!</h3></div>";
}
?>
  #2 (permalink)  
Antiguo 12/01/2009, 08:41
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Superglobals

pues o no te entiendo, o no se....

si usas formularios.... el method define que variable se usa...

si usas get, obvio... $_GET si pones, post... natural $_POST

incluso, sin formularios... las variable URL?foo=bar son variables $_GET

¿listo??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 12/01/2009, 09:18
 
Fecha de Ingreso: febrero-2008
Mensajes: 120
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: Superglobals

Entiendo....

solo que mi problema es de sintaxis, he probado poner $_GET a las variables de envio, pero no me chuta. Me refiero a:


echo "<td align=right valign=top><select onChange=\"window.location = this.options[this.selectedIndex].value\" ";
echo ">";
for ($c=1;$c<=10;$c++){
echo "<option";
if ($c==$ro_shop[1]){ echo " selected"; }

$ro_shop=$_GET[$ro_shop];
echo " value='afegir_reserva.php?item_id=".$ro_shop[0]."&edit_jml=".$c."'>".$c."</option>";
}
echo "</select>";
  #4 (permalink)  
Antiguo 12/01/2009, 09:25
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Superglobals

primero, si... mala sintaxis ¿eh??

yo digo, que te hace falta mas análisis...


si $ro_shop es un array ¿porque la usas como indice de $_GET???

demás.... ¿que deseas leer de $_GET?? ¿¿seguro hay variables $_GET disponibles???

¿porque sobre escribes $ro_shop con un $_GET inexistente (y erróneo)???


vaya, para que es esta linea...

Código PHP:
$ro_shop=$_GET[$ro_shop]; 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 12/01/2009, 09:32
 
Fecha de Ingreso: febrero-2008
Mensajes: 120
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: Superglobals

es un select despelgable que carga nuevos datos en la misma página según lo que elijas. En este caso suma una cantidad a si misma.

El caso es que todo recibe bien hasta que escojo la opcion del despelgable, entonces me devuelve vacío y debo repetir el proceso.

el problema viene cuando le digo:

echo " value='afegir_reserva.php?item_id=".$ro_shop[0]."&edit_jml=".$c."'>".$c."</option>";

que me devuelve en el navegador:

afegir_reserva.php?item_id=5&edit_jml=6


En mi localhost funciona (tengo las globals en On), pero en el server no. Lo raro es que me funciona todo, exceptuando este tramo.

en el config.php le tengo declaradas las variables por $_GET asi:

/***VARIABLES POR GET ***/

$numero = count($_GET);
$tags = array_keys($_GET);// obtiene los nombres de las varibles
$valores = array_values($_GET);// obtiene los valores de las varibles

pero sigue sin funcionar.

no se que puedo hacer mal
  #6 (permalink)  
Antiguo 12/01/2009, 09:37
 
Fecha de Ingreso: diciembre-2008
Mensajes: 70
Antigüedad: 15 años, 4 meses
Puntos: 4
Respuesta: Superglobals

Para enviar variables get solo tienes que especificarlas, ejemplo
Código:
<a href="pagina.php?variable=valor_var">Var</a>
Listo, ahora solo llamas a la variable con $_GET en php
Código PHP:
$mi_variable $_GET['variable']; 
Saludos
  #7 (permalink)  
Antiguo 12/01/2009, 12:59
 
Fecha de Ingreso: febrero-2008
Mensajes: 120
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: Superglobals

sorry, no ando fresco de mente.

alguien podria ejemplificarme mediante el codigo aportado anteriormente como leches poner las superglobals en ese codigo?


me sigue sin ir...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:56.