Foros del Web » Programando para Internet » PHP »

Acerca de WAMP

Estas en el tema de Acerca de WAMP en el foro de PHP en Foros del Web. Tengo el siguiente par de archivos: select.html, que recibe 2 números por parte del usuario y con un combobox selecciona si suma o resta los ...
  #1 (permalink)  
Antiguo 15/07/2009, 18:59
 
Fecha de Ingreso: julio-2009
Mensajes: 7
Antigüedad: 15 años, 4 meses
Puntos: 0
Acerca de WAMP

Tengo el siguiente par de archivos:

select.html, que recibe 2 números por parte del usuario y con un combobox selecciona si suma o resta los mismos.

select_procesa.php, quien propiamente hace la operación seleccionada.

El problema es el siguiente, si ejecuto estos archivos en mi PC Con Wamp Server instalado (la versión más reciente) me parece el siguiente error:

Si selecciono la suma:

Notice: Use of undefined constant suma - assumed 'suma' in C:\wamp\www\select_procesa.php on line 8
La suma es:95


Si selecciono la resta:

Notice: Use of undefined constant suma - assumed 'suma' in C:\wamp\www\select_procesa.php on line 8

Notice: Use of undefined constant resta - assumed 'resta' in C:\wamp\www\select_procesa.php on line 15
La resta es:-85


Osea me hace los cálculos bien, pero me aparecen los errores que describo, PERO si subo estos archivos a un webserver, no hay error, todo funciona bien, ¿Saben si algún valor de la configuraciòn del PHP se debe modificar?

Gracias, y a continuación pongo el código de los archivos.

select.html

<html>
<head>
<title>Problema</title>
</head>
<body>

<form action="select_procesa.php" method="post">
Ingrese primer valor:
<input type="text" name="valor1">
<br>
Ingrese segundo valor:
<input type="text" name="valor2">
<br>
<select name="operacion">
<option value="suma">sumar</option>
<option value="resta">restar</option>
</select>
<br>
<input type="submit" name="operar">
</form>

</body>
</html>


select_procesa.php

<html>
<head>
<title>Problema</title>
</head>
<body>

<?php
if ($_REQUEST['operacion']==suma)
{
$suma=$_REQUEST['valor1'] + $_REQUEST['valor2'];
echo "La suma es:".$suma;
}
else
{
if ($_REQUEST['operacion']==resta)
{
$resta=$_REQUEST['valor1'] - $_REQUEST['valor2'];
echo "La resta es:".$resta;
}
}

?>

</body>
</html>
  #2 (permalink)  
Antiguo 15/07/2009, 19:09
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 16 años, 4 meses
Puntos: 416
Respuesta: Acerca de WAMP

Cita:
if ($_REQUEST['operacion']==suma)
Cita:
if ($_REQUEST['operacion']==resta)
Deberia ser:

if ($_REQUEST['operacion']=="resta")

Con comillas dobles, en ambos casos.
  #3 (permalink)  
Antiguo 15/07/2009, 19:30
 
Fecha de Ingreso: julio-2009
Mensajes: 7
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Acerca de WAMP

Cita:
Iniciado por Ronruby Ver Mensaje
Deberia ser:

if ($_REQUEST['operacion']=="resta")

Con comillas dobles, en ambos casos.
Muchas gracias, tienes razón, con las comillas ya funcionó, sin embargo me queda la duda, de porqué en el servidor Web si funciona sin esta corrección. De todos modos, ¡gracias por tu respuesta!
  #4 (permalink)  
Antiguo 15/07/2009, 19:34
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 16 años, 4 meses
Puntos: 416
Respuesta: Acerca de WAMP

Tu servidor web tiene deshabilitado el anunciar los errores del tipo notice (Que en realidad no tiene nada de malo).

Revisa esta directiva en tu php.ini:
Cita:
#Dice: Reportar todos los errores excepto los NOTICE.
error_reporting = E_ALL & ~E_NOTICE
En caso de no tener acceso al php.ini, puedes usar la función error_reporting()
http://www.php.net/manual/en/functio...-reporting.php
  #5 (permalink)  
Antiguo 15/07/2009, 19:43
Avatar de chulifo  
Fecha de Ingreso: abril-2009
Ubicación: perdido en codigos del PHP, pero aprendo rapido!
Mensajes: 524
Antigüedad: 15 años, 7 meses
Puntos: 18
Respuesta: Acerca de WAMP

si tira error NO esta bien, lo que pasa es que los servidores web no muestran los errores
  #6 (permalink)  
Antiguo 15/07/2009, 21:25
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Acerca de WAMP

En sí el error esta en tu código ya que estas usando un string sin comillas y PHP para evitar marcar un error lo asume como un string a pesar de que no existe una constane, por eso el NOTICE, si te fijas lo que dice:

Notice: Use of undefined constant suma - assumed 'suma' in C:\wamp\www\select_procesa.php on line 8

Quiere decir:
Alerta: Uso de una constante no definida suma - asumiendo cadena 'suma' en: C:\wamp\www\select_procesa.php en la linea 8

Es por eso que la solución que te propone RonRuby es la correcta, necesitas usar cadenas donde deben y constantes donde se deben de usar.

Saludos.
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 12:16.