Foros del Web » Programando para Internet » PHP »

Por qué pasa esto?

Estas en el tema de Por qué pasa esto? en el foro de PHP en Foros del Web. Buenas, Tengo este archivo php: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <link rel="STYLESHEET" type="text/css" ...
  #1 (permalink)  
Antiguo 27/12/2012, 06:52
 
Fecha de Ingreso: junio-2011
Mensajes: 342
Antigüedad: 12 años, 9 meses
Puntos: 5
Exclamación Por qué pasa esto?

Buenas,

Tengo este archivo php:

Código PHP:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <link rel="STYLESHEET" type="text/css" href="./style.css">
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6. <title>Insert Aircraft</title>
  7. </head>
  8. <script src="http://code.jquery.com/jquery.min.js"></script>
  9. <body>
  10. <?
  11. include('./db.inc.php');
  12. $boton = $_POST['enviar'];
  13. $nombre = $_POST['nombre'];
  14. $precio = $_POST['precio'];
  15. $pax = $_POST['pax'];
  16. $ICAO = $_POST['ICAO'];
  17.  
  18. if($boton == 'Insertar')
  19. {
  20.  
  21.        
  22.     mysql_query("INSERT INTO flota(ICAO, nombre, precio, capacidad) VALUES('$ICAO', '$nombre', '$precio', '$pax')") or die('<h4 style="color: red;">Ha habido un problema con la insercion.</h4>');
  23.    
  24.  
  25.    
  26.     echo '<h3 style="color: green;">Aeronave adquirida correctamente.<h3/>';
  27. }
  28. else
  29. {
  30.     ?>
  31.  
  32.    
  33.    
  34.     <form action="insertar-modelo.php" method="post" enctype="application/x-www-form-urlencoded">
  35.     <table>
  36.  
  37.     <tr><td class=Forms>Name:</td><td><input type="text" value="Airbus A320" name="nombre" size="30"/></td></tr>
  38.     <tr><td class=Forms>Price:</td><td><input maxlength="9" value="1000000" type="text" name="precio" size="30"/> €<br/></tr>
  39.  
  40.     <tr><td class=Forms>Number Classes:</td><td><select name="numberclasses" id="numberclasses" onchange="callAjax()">
  41.         <option value="0">Select Number of Classes</option>
  42.         <?php
  43.         echo'<option value="1">One Classes (Economy)</option>';
  44.         echo'<option value="2">Two Classes (Business & Economy)</option>';
  45.         echo'<option value="3">Three Classes (First, Business & Economy)</option>';
  46.         ?>
  47.     </select></td></tr>
  48.  
  49.  
  50.  
  51.     <tr><td class=Forms>First Class:</td><td><input disabled="disabled" type="text" id="classes1" name="classes1" size="30"/></td></tr>
  52.     <tr><td class=Forms>Business Class:</td><td><input disabled="disabled" type="text" id="classes2" name="classes2" size="30"/></td></tr>
  53.     <tr><td class=Forms>Economy Class:</td><td><input disabled="disabled" type="text" id="classes3" name="classes3" size="30"/></td></tr>
  54.  
  55. <script type="text/javascript">
  56.  
  57. $("select").change(function() {
  58. valor = $(this).val();
  59.  
  60. $("div").text(valor);
  61.  
  62. str = parseInt(valor);
  63.  
  64. switch(str)
  65.   {
  66.     case 0:
  67.     $(document).ready(function() {
  68.         $("#classes1").attr("disabled","disabled");
  69.         $("#classes2").attr("disabled","disabled");
  70.         $("#classes3").attr("disabled","disabled");
  71. });
  72.     break;
  73.    
  74.     case 1:
  75.     $(document).ready(function() {
  76.         $("#classes3").removeAttr('disabled');
  77.         $("#classes1").attr("disabled","disabled");
  78.         $("#classes2").attr("disabled","disabled");
  79. });
  80.     break;
  81.    
  82.      case 2:
  83.     $(document).ready(function() {
  84.         $("#classes2").removeAttr('disabled');
  85.         $("#classes3").removeAttr('disabled');
  86.         $("#classes1").attr("disabled","disabled");
  87. });
  88.     break;
  89.  
  90.     case 3:
  91.     $(document).ready(function() {
  92.         $("#classes1").removeAttr('disabled');
  93.         $("#classes2").removeAttr('disabled');
  94.         $("#classes3").removeAttr('disabled');
  95. });
  96.     break;
  97.  
  98.   }
  99. });
  100.  
  101. </script>
  102.  
  103.         <tr><td></td><td><input type="submit" name="enviar" value="Insertar"/></td></tr>
  104.          </table>
  105.     </form>
  106.    ​
  107. <?
  108. }
  109.     mysql_close();
  110. ?>
  111. </body>
  112. </html>

Lo curioso es que si lo subo a mi host se ve perfectamente. Pero si trabajo con el en la última versión de xampp (es la que tengo) se ve mal. Como si el if no funcionase, y antes del formulario se ve esto:
Cita:
Ha habido un problema con la insercion.'); echo '
Aeronave adquirida correctamente.

'; } else { ?>
  #2 (permalink)  
Antiguo 27/12/2012, 06:54
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Por qué pasa esto?

Por la configuración de la opción short_open_tag:
http://php.net/manual/es/ini.core.ph...short-open-tag
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 27/12/2012, 07:04
 
Fecha de Ingreso: junio-2011
Mensajes: 342
Antigüedad: 12 años, 9 meses
Puntos: 5
Exclamación Respuesta: Por qué pasa esto?

Cita:
Iniciado por David Ver Mensaje
Por la configuración de la opción short_open_tag:
[url]http://php.net/manual/es/ini.core.php#ini.short-open-tag[/url]
Ahora me da este:

Cita:
Notice: Undefined index: enviar in C:\xampp\htdocs\airvirtus\albrep\new_aircraft.php on line 12

Notice: Undefined index: nombre in C:\xampp\htdocs\airvirtus\albrep\new_aircraft.php on line 13

Notice: Undefined index: precio in C:\xampp\htdocs\airvirtus\albrep\new_aircraft.php on line 14

Notice: Undefined index: pax in C:\xampp\htdocs\airvirtus\albrep\new_aircraft.php on line 15

Notice: Undefined index: ICAO in C:\xampp\htdocs\airvirtus\albrep\new_aircraft.php on line 16
Que tampoco me lo dá en mi host.
  #4 (permalink)  
Antiguo 27/12/2012, 07:17
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Por qué pasa esto?

En el host no los ves por la configuración de los reportes de errores:
http://php.net/manual/es/errorfunc.c...rror-reporting
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 27/12/2012, 07:22
 
Fecha de Ingreso: junio-2011
Mensajes: 342
Antigüedad: 12 años, 9 meses
Puntos: 5
Exclamación Respuesta: Por qué pasa esto?

Cita:
Iniciado por David Ver Mensaje
En el host no los ves por la configuración de los reportes de errores:
[url]http://php.net/manual/es/errorfunc.configuration.php#ini.error-reporting[/url]
Ok, eso lo puedo arreglar en el php.ini. Pero ahora me voy a pasar a 1&1 y no creo que tenga acceso al php.ini en un hosting compartido. Hay otra manera de cambiar esa configuración o en todos los hostings no aparecen estos errores?

Otra cosa, el proceso para insertar los datos en la tabla, etc. Es mejor hacerlo como lo hago yo con el if o en un archivo aparte?
  #6 (permalink)  
Antiguo 27/12/2012, 07:31
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Por qué pasa esto?

Cita:
Iniciado por carlosuc99 Ver Mensaje
Ok, eso lo puedo arreglar en el php.ini. Pero ahora me voy a pasar a 1&1 y no creo que tenga acceso al php.ini en un hosting compartido. Hay otra manera de cambiar esa configuración o en todos los hostings no aparecen estos errores?
Por lo general no se muestran. De todos modos, puedes verificar con isset() antes de usar las variables, así no te dará esa notificación.
Además que algunas opciones se pueden configurar en tiempo de ejecución.
Cita:
Iniciado por carlosuc99
Otra cosa, el proceso para insertar los datos en la tabla, etc. Es mejor hacerlo como lo hago yo con el if o en un archivo aparte?
Nunca es bueno mezclar la lógica con la presentación, a la hora de mantener trae problemas.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 27/12/2012, 07:44
 
Fecha de Ingreso: junio-2011
Mensajes: 342
Antigüedad: 12 años, 9 meses
Puntos: 5
Exclamación Respuesta: Por qué pasa esto?

Cita:
Iniciado por David Ver Mensaje
Por lo general no se muestran. De todos modos, puedes verificar con isset() antes de usar las variables, así no te dará esa notificación.
Además que algunas opciones se pueden configurar en tiempo de ejecución.
Nunca es bueno mezclar la lógica con la presentación, a la hora de mantener trae problemas.
Ya que estamos, que es mejor:

Para cada formulario como este crar un proceso en un archivo exclusivo para este.

o

Mandarle un número al proceso (proceso.php?N=1), que lo recoja y que determine que formulario es y ejecute el proceso correspondiente. De esta manera puedo utilizar varios procesos en el mismo archivo y asi crear menos archivos.

Etiquetas: formulario, html, mysql
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 06:47.