Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/01/2011, 14:18
kenproxd
 
Fecha de Ingreso: agosto-2009
Mensajes: 349
Antigüedad: 15 años, 3 meses
Puntos: 8
Problema con para ingresar formulario

Hola de nuevo,

Pues esta vez tengo el siguiente problema:

Tengo un formulario:

Código HTML:
Ver original
  1. <script language="javascript" type="text/javascript">
  2. function d1(selectTag){
  3.  if(selectTag.value == 'normal'){
  4. document.getElementById('horas').disabled = false;
  5. document.getElementById('minutos').disabled = false;
  6.  }else{
  7. document.getElementById('horas').disabled = true;
  8. document.getElementById('minutos').disabled = true;
  9.  }
  10.  if(selectTag.value == 'multimedia'){
  11. document.getElementById('diafin').disabled = false;
  12. document.getElementById('mesfin').disabled = false;
  13. document.getElementById('aniofin').disabled = false;
  14.  
  15.  }else{
  16.  document.getElementById('diafin').disabled = true;
  17.  document.getElementById('mesfin').disabled = true;
  18. document.getElementById('aniofin').disabled = true;
  19.  }
  20. }
  21.  
  22. <form action="..." method="post" OnSubmit="return valida(this)">
  23. <label><b>Categoría</b> <select id="categoria" name="categoria" onchange="d1(this)">
  24. <option SELECTED value="">Selecciona una categoría
  25. <option value="normal">Evento Programado o espontáneo
  26. <option value="multimedia">Evento Multimedia
  27. <br>
  28. <label><b>Nombre de tu Evento:</b> <input id="nombre" type="text" name="nombre" /></label><br>
  29. <br>
  30. <label><b>Link:</b> <input id="link" type="text" name="link" /></label><br>
  31. <br>
  32. <b>Fecha</b> <i>(Fecha de Inicio)</i>: <SELECT id="dia" name="dia">
  33. <option value="0">Día</option>
  34. dias~
  35. </SELECT> <SELECT id="mes" name="mes">
  36. meses~
  37. </SELECT> <SELECT id="anio" name="anio">
  38. <option value="0">Año</option>
  39. <option>2010</option>
  40. <option>2011</option></SELECT><br>
  41. <br>
  42. <b>Fecha de Finalización:</b> <SELECT disabled="true" id="diafin" name="diafin">
  43. <option value="0">Día</option>
  44. dias~
  45. </SELECT> <SELECT disabled="true" id="mesfin" name="mesfin">
  46. meses~
  47. <option>12</option></SELECT> <SELECT disabled="true" id="aniofin" name="aniofin">
  48. <option value="0">Año</option>
  49. <option>2010</option>
  50. <option>2011</option></SELECT><br>
  51. <br>
  52. <b>Hora:</b> <input type="text" maxlength="2" size="2" disabled="true" name="horas" id="horas"> : <input type="text" maxlength="2" size="2" disabled="true" name="minutos" id="minutos"> (Hora Perú)<br>
  53. <br>
  54. <label><b>Organizador:</b> <input type="text" name="organizador" id="organizador" value="<?php echo $user->data['username']; ?>" readonly="readonly"></label><br>
  55.                           <br>
  56. <br><input type="submit" name="submit" value="Enviar" />
  57. </form>

Lo que hace básicamente es activar los campos horas y minutos si se selecciona el value normal como categoria. Si se selecciona multimedia activa los campos diafin, mesfin, aniofin. De esa forma, los eventos de categoria normal cuentan con una hora fijada (sin fecha de finalización), y los multimedia con una fecha de finalización (sin hora).

Pues bien, al seleccionar multimedia y enviar el formulario los datos se ingresan perfectamente. Pero al elegir normal (es decir, ingresar una hora) me sale el siguiente error:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' '-', , '-', )),'normal')' at line 1

realizo la sintaxis de la siguiente manera:

Código PHP:
Ver original
  1. $query = "INSERT INTO eventos (nombre,link,fecha,horas,minutos,organizador,fecha_fin,categoria) values ('{$_POST['nombre']}','{$_POST['link']}',DATE(CONCAT({$_POST['anio']},  '-', {$_POST['mes']},  '-', {$_POST['dia']})),'{$_POST['horas']}','{$_POST['minutos']}','{$_POST['organizador']}',DATE(CONCAT({$_POST['aniofin']}, '-', {$_POST['mesfin']}, '-', {$_POST['diafin']})),'{$_POST['categoria']}')";

Espero su ayuda, gracias desde ya.