Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: layker en 17 Noviembre 2007, 14:07 pm



Título: Problema con php basico
Publicado por: layker en 17 Noviembre 2007, 14:07 pm
Hola soy principiante en php y he creado un formulario sencillo, y lo k m pasa s k cn el apache m funciona bien pero al colgarlo n la web no m va.. no entiendo el xk.. si alguien  m puede dcir en k falla el codigo m seria de gran ayuda.1saludo

HTML
Citar
<html>
<head>

<title>Formulario</title>
</head>

<body bgcolor="#6699FF">
<h2>Realizar pedido</h2>

<form action="procesar.php" method="post">

<table width="223" border="0">
  <tr>
    <td width="153">Placa base :</td>
    <td width="60"><input name="placa" size="3" maxlength="3" /></td>
  </tr>
  <tr>
    <td>Microprocesador :</td>
    <td><input name="micro" size="3" maxlength="3" /></td>
  </tr>
  <tr>
    <td>T. Grafica :</td>
    <td><input name="grafica" size="3" maxlength="3" /></td>
  </tr>
  <tr>
    <td>Direccion de envio :</td>
    <td><input name="direcc" size="10" maxlength="15"></td>
  </tr>
  <tr>
    <td></td>
    <td></td>
  </tr>
  <tr>
    <td colspan="2">
   <input name="submit" type="submit" value="Confirmar">
   </td>
  </tr>
</table>

</form>
</body>
</html>

PHP

Citar
<html>
<head>
<title>Procesar pedido</title>
</head>

<body bgcolor="#6699FF">
<h1>Pedido procesado</h1>
<?php
echo "Usted ha pedido : <br>";
echo $placa." Placas base<br>";
echo $micro." Micro procesadores<br>";
echo $grafica." Targetas graficas<br>";
echo "Seran enviadas a la direccion : ".$direcc."<p>";

define("PPLACA",60);
define("PMICRO",150);
define("PTARG",80);

$total=$placa+$micro+$grafica;

$precio=
$placa*PPLACA +
$micro*PMICRO+
$grafica*PTARG;

echo "<li>Total de productos : ".$total;
echo "<li>Precio aproximado : ".$precio." €";

?>
</body>
</html>



Título: Re: Problema con php basico
Publicado por: SirLanceCC en 17 Noviembre 2007, 14:12 pm
Lo que pasa es que en tu servidor tienes las variables globales activadas (lo cual no es recomendable) y tu host las tiene desactivadas.
Las variables de un formulario se reciben de esta manera
Código
  1. //Para post
  2. $variable = $_POST['nombre_del_campo'];
  3. //Para get
  4. $variable = $_GET['nombre_del_campo'];
  5.  

Y además
Código
  1. define("PPLACA",60);
  2. //Debería ser así
  3. $pplaca = 60;
  4. //A menos que lo vayas a reutilizar en demasiados códigos y funciones
  5.  


Título: Re: Problema con php basico
Publicado por: layker en 17 Noviembre 2007, 14:28 pm
pero cuando yo pongo x ejemplo
Citar
echo $placa." Placas base<br>";
y antes en el formulario e puesto en el campo x ejempl 4.
no m dberia salir:
Citar
4 placas baase
¿?
con lo de define("PPLACA",60) quiero definir una constante, pa indicar el precio. eso sta mal exo??
gracias, un salu2


Título: Re: Problema con php basico
Publicado por: SirLanceCC en 17 Noviembre 2007, 14:47 pm
pero cuando yo pongo x ejemplo
Citar
echo $placa." Placas base<br>";
y antes en el formulario e puesto en el campo x ejempl 4.
no m dberia salir:
Citar
4 placas baase
¿?
Eso solo funciona cuando tienes las variables lgobales activadas. Generalmente no lo están. Así qque para aceder a los valores de un formulario debes usar $_GET y $_POST respectivamente.

Citar
con lo de define("PPLACA",60) quiero definir una constante, pa indicar el precio. eso sta mal exo??
Pues de funcionar funciona, pero con eso defines una constante global, y según el uso que le estás dando no amerita serlo, pero eso ya es tu decisión...


Título: Re: Problema con php basico
Publicado por: layker en 17 Noviembre 2007, 14:53 pm
muxas gracias, ya lo he entendido, y m funciona,
gracias x tu ayuda. ;) un saludo