Foros del Web » Creando para Internet » HTML »

[SOLUCIONADO] Programa funciona en Chromium/Chrome pero no en Firefox

Estas en el tema de Programa funciona en Chromium/Chrome pero no en Firefox en el foro de HTML en Foros del Web. Tengo el siguiente código, que es para probar una funcionalidad en el panel del admin. Forma parte de una sección del panel del admin para ...
  #1 (permalink)  
Antiguo 09/12/2013, 10:25
Avatar de guardarmicorreo  
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 11 años, 5 meses
Puntos: 84
Programa funciona en Chromium/Chrome pero no en Firefox

Tengo el siguiente código, que es para probar una funcionalidad en el panel del admin. Forma parte de una sección del panel del admin para editar ciertos valores que serán presentados en la web-app

Código PHP:
Ver original
  1. //para introducir preguntas
  2. function menusetquestion()
  3. {
  4.     //si el usuario borra una pregunta
  5.     if( isset( $_POST['delete_question'] ) )
  6.     {
  7.         deletequestion( $_POST['delete_question'] );
  8.         header ("Location: ". $_SERVER['REQUEST_URI'] ."");
  9.     }
  10.    
  11.     //si el usuario edita una pregunta
  12.     elseif( isset( $_POST['edit_question']))
  13.     {
  14.        
  15.         $edit = editquestion ( $_POST['edit_question'] );
  16.         $result = mysqli_fetch_array( $edit );
  17.        
  18.         ?>
  19.             <!-- formulario para editar preguntas -->
  20.         <form method="post" action="adminapp.php?option=setquestion">
  21.             <!-- campo para introducir el texto de la pregunta -->
  22.             <p>
  23.             Tipo de pregunta
  24.             <input type="text" name="update_question" value="<?php echo $result['question'];?>">
  25.             <input type="hidden" name="id_question" value="<?php echo $result['id_question'];?>" />
  26.             <select name="update_typequestion">
  27.                 <?php
  28.                 //para cargar todos los tipos de preguntas
  29.                 $typequestion = gettypequestion();
  30.                 ?>
  31.                 <?php
  32.                 while ( $gettypequestion = mysqli_fetch_array( $typequestion ) )
  33.                 {
  34.                     if ( $gettypequestion['id_typequestion'] == $result['id_typequestions'] )
  35.                     {
  36.                         ?>
  37.                         <option value="<?php echo $gettypequestion['id_typequestion'] ?>"
  38.                         selected="selected">
  39.                             <?php echo $gettypequestion['typequestion'] ?>
  40.                         </option>
  41.                         <?php
  42.                     }
  43.                     ?>
  44.                     <option value="<?php echo $gettypequestion['id_typequestion']; ?>">
  45.                     <?php echo $gettypequestion['typequestion']; ?>
  46.                     </option>
  47.                     <?php
  48.                 }
  49.                 ?>
  50.             </select>
  51.             <input type="submit" name="send_update_question" value="Editar">
  52.             </p>
  53.         </form>
  54.         <form method="post" action="adminapp.php?option=setquestion" >
  55.             <input type="submit" value="Cancelar Edición" />
  56.         </form>
  57.         <?php
  58.     }
  59.    
  60.     //si el usuario finalmente edita la pregunta
  61.     elseif( isset( $_POST['send_update_question'] ) )
  62.     {
  63.         updatequestion( $_POST['update_question'], $_POST['id_question'],
  64.         $_POST['update_typequestion'] );
  65.        
  66.         header ("Location: ". $_SERVER['REQUEST_URI'] ."");
  67.     }
  68.     //si el usuario envia una nueva pregunta
  69.     elseif ( isset($_POST['setquestion']) && $_POST['setquestion'] !=='')
  70.     {
  71.         setquestion( $_POST['setquestion'], $_POST['id_typequestion']  );
  72.         header ("Location: ". $_SERVER['REQUEST_URI'] ."");
  73.     }
  74.     else
  75.     {
  76.     ?>
  77.         <form method="post" action="adminapp.php?option=setquestion">
  78.             <!-- campo para introducir el texto de la pregunta -->
  79.             <p>
  80.             Introduce pregunta
  81.             <input type="text" name="setquestion">
  82.             <select name="id_typequestion">
  83.                 <?php
  84.                
  85.                 //para cargar todos los tipos de preguntas
  86.                 $typequestion = gettypequestion();
  87.                
  88.                 while ( $gettypequestion = mysqli_fetch_array( $typequestion ) )
  89.                 {
  90.                     ?>
  91.                     <option value="<?php echo $gettypequestion['id_typequestion']; ?>">
  92.                     <?php echo $gettypequestion['typequestion']; ?>
  93.                     </option>
  94.                     <?php
  95.                 }
  96.                 ?>
  97.             </select>
  98.             <input type="submit" name="sendquestion">
  99.             </p>
  100.         </form>
  101.     <?php
  102.     }
  103.     //listo las preguntas y su tipo
  104.     ?>
  105.         <table>
  106.             <th align="center" colspan="1"> Pregunta </th>
  107.             <th align="center" colspan="1"> Tipo </th>
  108.     <?php
  109.         $getquestion = getquestion();
  110.        
  111.         while ($result = mysqli_fetch_array($getquestion))
  112.         {
  113.             ?>
  114.             </pre>
  115.             <?php
  116.             ?>
  117.             <tr>
  118.                 <td>
  119.                 <?php echo $result['question']; ?>
  120.                 </td>
  121.                 <td>
  122.                 <?php echo "<b>".$result['typequestion']."</b>"; ?>
  123.                 </td>
  124.                 <td>
  125.                 <form method="post" action="adminapp.php?option=setquestion">
  126.                     <input type="image" src="../images/cancel.button.png"
  127.                      name="delete_question" value="<?php echo $result['id_question']; ?>"
  128.                      title="Borrar" />
  129.                 </form>
  130.                 </td>
  131.                 <td>
  132.                 <form method="post" action="adminapp.php?option=setquestion">
  133.                     <input type="image" src="../images/write.button.png"
  134.                      name="edit_question" value="<?php echo $result['id_question']; ?>"
  135.                      title="Editar" />
  136.                 </form>
  137.                 </td>
  138.             <tr>
  139.             <?php
  140.         }
  141.         ?>
  142.         </table>
  143.     <?php
  144. }

Quiero recalcar que no forma parte de la edición final de la web-app, simplemente es algo para probar la funcionalidad.

Así que se puede cambiar y retocar todo lo que se quiera.

Lo que pretendo es entender por qué en Chromium y Chrome funciona la edición de este campo y carga el valor para su edición pero en cambio en firefox no funciona, tampoco reporte algún error, simplemente no carga los valores en el input text ni entra tan si quiera en el elseif(isset($_POST['edit_question'])).

¿Alguien puede ayudarme?
__________________
Ayúdame a hacerlo por mi mismo.
  #2 (permalink)  
Antiguo 09/12/2013, 10:47
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: Programa funciona en Chromium/Chrome pero no en Firefox

Pues primero que todo tienes unos serios problemas de etiquetas tienes un </pre> de mas y no cierras como es debido los tr prueba esto:

Código PHP:
Ver original
  1. <table>
  2.           <tr>
  3.             <th align="center" colspan="1"> Pregunta </th>
  4.             <th align="center" colspan="1"> Tipo </th>
  5.             <th colspan="2">&nbps;</th>
  6.           </tr>
  7.     <?php
  8.         $getquestion = getquestion();
  9.        
  10.         while ($result = mysqli_fetch_array($getquestion))
  11.         {
  12.             ?>
  13.             <tr>
  14.                 <td>
  15.                 <?php echo $result['question']; ?>
  16.                 </td>
  17.                 <td>
  18.                 <?php echo "<b>".$result['typequestion']."</b>"; ?>
  19.                 </td>
  20.                 <td>
  21.                 <form method="post" action="adminapp.php?option=setquestion">
  22.                     <input type="image" src="../images/cancel.button.png"
  23.                      name="delete_question" value="<?php echo $result['id_question']; ?>"
  24.                      title="Borrar" />
  25.                 </form>
  26.                 </td>
  27.                 <td>
  28.                 <form method="post" action="adminapp.php?option=setquestion">
  29.                     <input type="image" src="../images/write.button.png"
  30.                      name="edit_question" value="<?php echo $result['id_question']; ?>"
  31.                      title="Editar" />
  32.                 </form>
  33.                 </td>
  34.             </tr>
  35.             <?php
  36.         }
  37.         ?>
  38.         </table>

Chrome siempre trata de hacer milagros con los códigos mal estructurados. No se si esto sea la causa exacta de tu problema, pero es bueno que vayas depurando. Como consejo adicional. Revisa el codigo fuente renderizado por Firefox y comparalo con el de Chrome. Tal vez eso te de más luz sobre el problema.

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #3 (permalink)  
Antiguo 09/12/2013, 11:29
Avatar de guardarmicorreo  
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 11 años, 5 meses
Puntos: 84
Respuesta: Programa funciona en Chromium/Chrome pero no en Firefox

gracias jonni09lo :D

he corregido lo que me has dicho y sigue sin funcionar.

como IDE utilizo aptana studio 3 y he presionado sobre ver el código fuente en ambos navegadores, he copiado y pegado cada resultado en un documento distinto y esta es la única diferencia que he encontrado



es curioso porque en el código ya no tengo más td sin cerrar y todo está bien cerrado.

he probado tu código pero tampoco funciona :S
__________________
Ayúdame a hacerlo por mi mismo.
  #4 (permalink)  
Antiguo 14/12/2013, 06:12
Avatar de guardarmicorreo  
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 11 años, 5 meses
Puntos: 84
Respuesta: Programa funciona en Chromium/Chrome pero no en Firefox

Encontré dónde estaba el problema.

El problema es que Firefox no soporta el atributo name en el input type image.

Lo cual es un error, porque W3 especifica que el atributo name tiene cabida y sentido en el input type image.

No se por qué no lo soporta, pero la verdad es que ha sido un quebradero de cabeza.

Espero no hablar de más y que me equivoque, pero:

esto desde mi punto de vista le quita puntos a Firefox para ser un navegador con el que diseñar páginas webs.

En Chrome mi script funcionaba perfectamente, en Firefox ha sido un desastre y pérdida de tiempo.

He tenido que cambiar el input type image por un button, añadiendo más código sin tener por qué.

No entiendo cómo es que hay gente que dice que este navegador es ideal para desarrolladores, que vengan y me lo expliquen.

Edito:

Gracias por la ayuda!! :D
__________________
Ayúdame a hacerlo por mi mismo.

Etiquetas: firefox, formulario, php, programa
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 00:41.