Problema con php basico

Iniciado por layker, 17 Noviembre 2007, 14:07 PM

0 Miembros y 1 Visitante están viendo este tema.

layker

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>


SirLanceCC

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 (php) [Seleccionar]

//Para post
$variable = $_POST['nombre_del_campo'];
//Para get
$variable = $_GET['nombre_del_campo'];


Y además
Código (php) [Seleccionar]

define("PPLACA",60);
//Debería ser así
$pplaca = 60;
//A menos que lo vayas a reutilizar en demasiados códigos y funciones

layker

pero cuando yo pongo x ejemplo
Citarecho $placa." Placas base<br>";
y antes en el formulario e puesto en el campo x ejempl 4.
no m dberia salir:
Citar4 placas baase
¿?
con lo de define("PPLACA",60) quiero definir una constante, pa indicar el precio. eso sta mal exo??
gracias, un salu2

SirLanceCC

Cita de: layker en 17 Noviembre 2007, 14:28 PM
pero cuando yo pongo x ejemplo
Citarecho $placa." Placas base<br>";
y antes en el formulario e puesto en el campo x ejempl 4.
no m dberia salir:
Citar4 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.

Citarcon 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...

layker

muxas gracias, ya lo he entendido, y m funciona,
gracias x tu ayuda. ;) un saludo