Foros del Web » Programando para Internet » PHP »

Ayuda con insercion de datos a mysql con php

Estas en el tema de Ayuda con insercion de datos a mysql con php en el foro de PHP en Foros del Web. Bueno no c que pudiera estar haciendo mal, tengo un formulario con varios campos que es recogido por el form action con un codigo php ...
  #1 (permalink)  
Antiguo 12/01/2010, 13:41
 
Fecha de Ingreso: julio-2009
Mensajes: 63
Antigüedad: 14 años, 8 meses
Puntos: 0
Ayuda con insercion de datos a mysql con php

Bueno no c que pudiera estar haciendo mal, tengo un formulario con varios campos que es recogido por el form action con un codigo php que yo le llame upload, este codigo me recoge los datos del formulario anterior y a la vez me realiza el upload de una imagen que es enviada a una carpeta y el path es insertado a mi base de datos junto con los demas campos, lo ejecuto en local y funciona de mil maravillas, cuando lo subi al host realice varias pruebas y resulta que si me realiza el upload de la imagen y la manda a la carpeta indicada, el problema empieza cuando me voy a php my admin y resulta que en la base de datos solo me ha ingresado el path de la imagen, ni un solo dato mas y lo curiso es que repito, en mi servidor local si funciona de maravilla, que puedo estar haciendo mal ???

Código HTML:
Ver original
  1. Este es el formulario:
  2.  
  3.  
  4. <title>Enviar Soportes</title>
  5. </head>
  6.  
  7. <body bgcolor="#800000">
  8.  
  9. <form name="form1" action="upload.php" method="post"enctype="multipart/form-data">
  10. <input type="hidden" name="MAX_FILE_SIZE" value="100000">
  11. <p>&nbsp;</p>
  12. <hr>
  13. <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
  14. <tr>
  15. <td width="25%">&nbsp;<p><font face="Calibri" color="#FFFFFF">Folio:</font><br>
  16. <input type="text" name="Folio" size="50"></p>
  17. <p>
  18. <font face="Calibri" color="#FFFFFF">Tipo de contrato:</font><br>
  19.                     <select name="Tipo_Contrato" style="width: 325; height:22" size="1">
  20.                     <option selected="" value="                               ">Seleccione.</option>
  21.                     <option>NUEVO.</option>
  22.                     <option>ADICIÓN.</option>
  23.                     <option>CESIÓN</option>
  24.                     </select></p>
  25. <p><font face="Calibri" color="#FFFFFF">Respuesta:<br>
  26. </font>
  27.                     <select name="Respuesta" style="width: 325; height:22" size="1">
  28.                     <option selected="" value="                               ">
  29.                     Seleccione.</option>
  30.                     <option>POSITIVA.</option>
  31.                     <option>NEGATIVA.</option>
  32.                     </select></p>
  33. <p><font face="Calibri" color="#FFFFFF">Causa:<br>
  34. </font>
  35.                     <select name="Causa" style="height: 22; width:325" size="1">
  36.                     <option selected="" value="                               ">Seleccione.</option>
  37.                     <option>NO SE LOCALIZÓ AL CLIENTE.</option>
  38.                     <option>NO SE UBICÓ EL DOMICILIO.</option>
  39.                     <option>CONTRATO CANCELADO.</option>
  40.                     <option>NO HABITA EN EL DOMICILIO.</option>
  41.                     <option>DOMICILIO VACIO.</option>
  42.                     <option>FRAUDE.</option>
  43.                     <option>PRESTA NOMBRES.</option>
  44.                     <option>SIN SOLVENCIA.</option>
  45.                     <option>NO QUISIERON DAR INFORMACIÓN.</option>
  46.                     <option>INFORMACIÓN DUDOSA.</option>
  47.                     <option>MALAS REFERENCIAS.</option>
  48.                     <option>DOMICILIO INCOMPLETO.</option>
  49.                     </select></p>
  50. <p><font face="Calibri" color="#FFFFFF">Numero de Radios:<br>
  51. </font>
  52.                     <input name="Radios" type="text" size="50"></p>
  53. <p><font face="Calibri" color="#FFFFFF">Tipo de investigación:<br>
  54. </font>
  55.                     <select name="Tipo_Investigacion" style="width: 327; height:22" size="1">
  56.                     <option selected="" value="                               ">Seleccione.</option>
  57.                     <option>INVESTIGACIÓN.</option>
  58.                     <option>REINVESTIGACIÓN.</option>
  59.                     <option>SEGUNDA REINVESTIGACIÓN.</option>
  60.                     </select></p>
  61. <p><font face="Calibri" color="#FFFFFF">Fecha de solicitud:<br>
  62. </font>
  63.                     <input name="Fecha_Solicitud" type="text" size="50"></p>
  64. <p><font color="#FFFFFF" face="Calibri"><span style="font-size: cali">Fecha de
  65. recepción:<br>
  66. </span></font>
  67.                     <input name="Fecha_Recepcion" type="text" size="50"></p>
  68. <p><font face="Calibri" color="#FFFFFF">Nombre:<br>
  69. </font>
  70.                     <input name="Nombre" type="text" size="50" maxlength="255"></p>
  71. <p><font face="Calibri" color="#FFFFFF">Domicilio:<br>
  72. </font>
  73.                     <input name="Domicilio" type="text" size="50" maxlength="255"></p>
  74. <p><font face="Calibri" color="#FFFFFF">Teléfono:<br>
  75. </font>
  76.                     <input name="Telefono" type="text" size="50"></p>
  77. <p><font face="Calibri" color="#FFFFFF">Ocupación solo (Personas Físicas):<br>
  78. </font>
  79.                     <input name="Ocupacion" type="text" size="50"></p>
  80. <p><font face="Calibri" color="#FFFFFF">Giro comercial solo (Personas Morales):<br>
  81. </font>
  82.                     <input name="Giro_Comercial" type="text" size="50"></p>
  83. <p><font face="Calibri" color="#FFFFFF">Estado civil solo (Personas Físicas):<br>
  84. </font>
  85.                     <input name="Estado_Civil" type="text" size="50"></p>
  86. <p><font color="#FFFFFF" face="Calibri">Dependientes económicos solo (Personas
  87. Físicas):<br>
  88. </font>
  89.                     <input name="Dep_Economicos" type="text" size="50"></p>
  90. <p><font face="Calibri" color="#FFFFFF">Tipo de predio (Personas
  91. Físicas/Morales):<br>
  92. </font>
  93.                     <select name="Tipo_Predio" style="width: 325; height:22" size="1">
  94.                     <option selected="" value="                               ">Seleccione.</option>
  95.                     <option>PROPIO</option>
  96.                     <option>RENTADO</option>
  97.                     <option>PRESTADO</option>
  98.                     <option>FAMILIAR</option>
  99.                     </select></p>
  100. <p><font face="Calibri" color="#FFFFFF">Tiempo de residencia (Personas
  101. Físicas/Morales):<br>
  102. </font>
  103.                     <input name="Tiempo_Residencia" type="text" size="50"></p>
  104. <p><font face="Calibri" color="#FFFFFF">Quien atendió:<br>
  105. </font>
  106. <input name="Quien_Atendio" type="text" size="50"></p>
  107. <p><font face="Calibri" color="#FFFFFF">Observaciones generales:<br>
  108. </font><textarea name="Observaciones" style="width: 495; height: 53" rows="1" cols="20"></textarea><p>
  109. <font face="Calibri" color="#FFFFFF">Seleccionar Imagen:</font><br>
  110. <input name="userfile" type="file" size="35" style="font-family: Calibri"><p>
  111. <input name="grabar" type="submit" value="Enviar Datos" style="font-family:Calibri">
  112. <input type="reset" value="Cancelar" style="font-family:Calibri"></td>
  113. </tr>
  114. </form>
  115.  
  116. </body>
  117.  
  118. </html>


Código PHP:
Ver original
  1. Este es mi codigo upload.php
  2. <?  
  3. $servidor="localhost";
  4. $usuario="******";
  5. $password="******";
  6. $db="mi_base";
  7. //***********************************************************************************************************************************************************************
  8.  
  9. //datos del arhivo  
  10. $nombre_archivo = $_FILES["userfile"]["name"];  
  11. $tipo_archivo = $_FILES["userfile"]["type"];  
  12. $tamano_archivo = $_FILES["userfile"]["size"];  
  13. //***********************************************************************************************************************************************************************
  14.  
  15. //compruebo si las características del archivo son las que deseo  
  16.  
  17. if (!((strpos($tipo_archivo, "gif") || strpos($tipo_archivo, "jpeg")) && (    $tamano_archivo < 100000)))
  18. {  
  19.     echo "La extensión o el tamaño de los archivos no es correcta. <br><br><table><tr><td><li>Se permiten archivos .gif o .jpg<br><li>se permiten archivos de 100 Kb máximo.</td></tr></table>";
  20. ?>
  21. <script language="javascript">
  22. setTimeout("url()",3000);
  23. function url()
  24. {
  25. window.history.back();
  26. }
  27. </script>            
  28. <?    
  29. }
  30. else
  31. {  
  32. $nom_img= $nombre_archivo;
  33.      
  34. $directorio = 'C:\Inetpub\vhosts\midominio.com.mx\httpdocs\Mexico1.0\Imagenes';
  35.  
  36. if (move_uploaded_file($_FILES['userfile']['tmp_name'],$directorio . "/" . $nom_img))
  37. {        
  38. //***********************************************************************************************************************************************************************
  39. //NOS CONECTAMOS A LA BASE DE DATOS
  40.  
  41. $link=mysql_connect($servidor,$usuario,$password);
  42.                          
  43. $query="INSERT INTO soportes (Folio,Tipo_Contrato,Respuesta,Causa,Radios,Tipo_Investigacion,Fecha_Solicitud,Fecha_Recepcion,Nombre,Domicilio,Telefono,Ocupacion,Giro_Comercial,Estado_Civil,Dep_Economicos,Tipo_Predio,Tiempo_Residencia,Quien_Atendio,Observaciones,Foto) VALUES ('$Folio','$Tipo_Contrato','$Respuesta','$Causa','$Radios','$Tipo_Investigacion','$Fecha_Solicitud','$Fecha_Recepcion','$Nombre','$Domicilio','$Telefono','$Ocupacion','$Giro_Comercial','$Estado_Civil','$Dep_Economicos','$Tipo_Predio','$Tiempo_Residencia','$Quien_Atendio','$Observaciones','$nom_img')";  
  44.  
  45. $result=mysql_db_query($db,$query,$link);
  46.          
  47. {  
  48. echo "Soporte ingresado correctamente";
  49.          
  50. } else  
  51. {  
  52. echo "Error introduciendo el soporte";  
  53. } /* Cierre del else */  
  54. }
  55. else
  56. {
  57. echo "error al subir la foto";
  58. }
  59. }
  60. ?>

Si alguien me pudiera ayudar se lo agradeceria mucho.
  #2 (permalink)  
Antiguo 12/01/2010, 13:42
 
Fecha de Ingreso: julio-2009
Mensajes: 63
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Ayuda con insercion de datos a mysql con php

Y esta es la estructura de mi tabla, la pongo aqui por que ya habia superado la cantidad de caracteres permitidos!!!:

CREATE TABLE `soportes` (
`Id` int(11) NOT NULL auto_increment,
`Folio` varchar(255) collate utf8_spanish_ci default NULL,
`Tipo_Contrato` varchar(255) collate utf8_spanish_ci default NULL,
`Respuesta` varchar(255) collate utf8_spanish_ci default NULL,
`Causa` varchar(255) collate utf8_spanish_ci default NULL,
`Radios` int(10) default NULL,
`Tipo_Investigacion` varchar(255) collate utf8_spanish_ci default NULL,
`Fecha_Solicitud` varchar(255) collate utf8_spanish_ci default NULL,
`Fecha_Recepcion` varchar(255) collate utf8_spanish_ci default NULL,
`Nombre` varchar(255) character set utf8 collate utf8_swedish_ci default NULL,
`Domicilio` varchar(255) collate utf8_spanish_ci default NULL,
`Telefono` varchar(255) collate utf8_spanish_ci default NULL,
`Ocupacion` varchar(255) collate utf8_spanish_ci default NULL,
`Giro_Comercial` varchar(255) collate utf8_spanish_ci default NULL,
`Estado_Civil` varchar(255) collate utf8_spanish_ci default NULL,
`Dep_Economicos` varchar(255) collate utf8_spanish_ci default NULL,
`Tipo_Predio` varchar(255) collate utf8_spanish_ci default NULL,
`Tiempo_Residencia` varchar(255) character set utf8 collate utf8_swedish_ci default NULL,
`Quien_Atendio` varchar(255) character set utf8 collate utf8_swedish_ci default NULL,
`Observaciones` text collate utf8_spanish_ci,
`Foto` varchar(255) collate utf8_spanish_ci default NULL,
PRIMARY KEY (`Id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci AUTO_INCREMENT=1 ;
  #3 (permalink)  
Antiguo 12/01/2010, 13:50
Avatar de FNX_NET  
Fecha de Ingreso: marzo-2004
Ubicación: EN EL INFIERNO.....
Mensajes: 1.707
Antigüedad: 20 años
Puntos: 7
Respuesta: Ayuda con insercion de datos a mysql con php

donde hace el get o el post para recivir los datos :O?
__________________
:-D "Que se libere del cielo confinado; que mi cuerpo sea la espada de hielo negro que nos lleve al abismo; que ningún poder pueda detenernos...Destructora de las almas de los dioses!!!":adios:


:pirata:
  #4 (permalink)  
Antiguo 12/01/2010, 14:02
 
Fecha de Ingreso: julio-2009
Mensajes: 63
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Ayuda con insercion de datos a mysql con php

Cita:
Iniciado por FNX_NET Ver Mensaje
donde hace el get o el post para recivir los datos :O?
Tienes razon, no lo incluye, pero entonces como es que en mi local si realiza la funcion completa??? caso curioso..., me puedes echar una manita, soy nuevo en php y me ha costado muchisimo trabajo llegar hasta este punto, me podrias guiar de que forma podria componer el codigo en caso de que requiera un get o post, aun que me imagino que por la cantidad de datos seria por post.

Si pudieras darme una ayudadita te lo agradeceria mucho.

Bueno me acabo de poner a revisar bien y el metodo de envio que tiene el formulario es post, no c en donde mas tendria que llevarlo, si me pudieras orientar quedaria en deuda contigo

Perdon, revisando otro codigo que tengo cheque la diferencia y creo que tu a lo que te refieres es a algo como esto verdad
VALUES '".$_POST['Folio']."' '".$_POST['Nombre']."' ..... etc, de igual forma si me echas una manita no me vendria nada mal

Última edición por shawn1986; 12/01/2010 a las 14:11 Razón: Nueva correccion
  #5 (permalink)  
Antiguo 12/01/2010, 14:10
Avatar de FNX_NET  
Fecha de Ingreso: marzo-2004
Ubicación: EN EL INFIERNO.....
Mensajes: 1.707
Antigüedad: 20 años
Puntos: 7
Respuesta: Ayuda con insercion de datos a mysql con php

$variable = $_POST['variable'];
__________________
:-D "Que se libere del cielo confinado; que mi cuerpo sea la espada de hielo negro que nos lleve al abismo; que ningún poder pueda detenernos...Destructora de las almas de los dioses!!!":adios:


:pirata:
  #6 (permalink)  
Antiguo 13/01/2010, 09:45
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 15 años, 11 meses
Puntos: 7
Respuesta: Ayuda con insercion de datos a mysql con php

hola. pues bienvenido a foros del web. si tienes duas sobre php, te recomiendo leer el manual wiki de php creado en foros del web. alli hay ejemplos sencillos para que puedas entender.

sobre tu codigo, vi que tu codigo esta bien. pero el error esta en la ruta donde subes tu imagen. como sabras, cuando subes la imagen se guarda en una carpeta (no colocandole)

Código PHP:
Ver original
  1. $directorio = 'C:\Inetpub\vhosts\midominio.com.mx\httpdocs\Mexico1.0\Imagenes'; //Error

se debe colocar de esa manera.

Código PHP:
Ver original
  1. $directorio = 'Imagenes/'; //Correcto
  2.  
  3. //o si no:
  4.  
  5. $directorio = "http://".$_SERVER['HTTP_HOST']."nombre_de_tu_proyecto/imagenes/"; //lo segundo es opcional

y en tu formulario colocas el method que es post y el encytype multipart/form-data (lo cual esta bien).

Al momento de enviar tus datos, lo recomendable es declarar una variable y almacenarla en el insert (creo que asi lo has desarrollado).

asi debe ser.

Código PHP:
Ver original
  1. <?php
  2.  
  3. $servidor="localhost";
  4. $usuario="******";
  5. $password="******";
  6. $db="mi_base";
  7.  
  8. //NOS CONECTAMOS A LA BASE DE DATOS
  9.  
  10. $link = mysql_connect($servidor,$usuario,$password) or die("Error de conexion.");
  11.  
  12. //***********************************************************************************************************************************************************************
  13.  
  14. //datos del arhivo  
  15. $nombre_archivo = $_FILES["userfile"]["name"];  
  16. $tipo_archivo = $_FILES["userfile"]["type"];  
  17. $tamano_archivo = $_FILES["userfile"]["size"];  
  18. //***********************************************************************************************************************************************************************
  19.  
  20. //compruebo si las características del archivo son las que deseo  
  21.  
  22. if (!((strpos($tipo_archivo, "gif") || strpos($tipo_archivo, "jpeg")) && (    $tamano_archivo < 100000)))
  23. {  
  24.     echo "La extensión o el tamaño de los archivos no es correcta. <br><br><table><tr><td><li>Se permiten archivos .gif o .jpg<br><li>se permiten archivos de 100 Kb máximo.</td></tr></table>";
  25. ?>
  26. <script language="javascript">
  27. setTimeout("url()",3000);
  28. function url()
  29. {
  30. window.history.back();
  31. }
  32. </script>
  33. <?php    
  34. }
  35. else
  36. {  
  37. $nom_img= $nombre_archivo;
  38.      
  39. $directorio = 'imagenes/';
  40.  
  41. if(move_uploaded_file($_FILES['userfile']['tmp_name'],$directorio."/".$nom_img))
  42. {        
  43. //***********************************************************************************************************************************************************************
  44.                        
  45. $query  = "INSERT INTO soportes (Folio,Tipo_Contrato,Respuesta,Causa,Radios,Tipo_Investigacion,Fecha_Solicitud,Fecha_Recepcion,Nombre,Domicilio,Telefono,";
  46. $query .= "Ocupacion,Giro_Comercial,Estado_Civil,Dep_Economicos,Tipo_Predio,Tiempo_Residencia,Quien_Atendio,Observaciones,Foto)";
  47. $query .= "VALUES ('$Folio','$Tipo_Contrato','$Respuesta','$Causa','$Radios','$Tipo_Investigacion','$Fecha_Solicitud','$Fecha_Recepcion','$Nombre','$Domicilio',"
  48. $query .= "'$Telefono','$Ocupacion','$Giro_Comercial','$Estado_Civil','$Dep_Economicos','$Tipo_Predio','$Tiempo_Residencia','$Quien_Atendio','$Observaciones','$nom_img')";  
  49.  
  50. $result = mysql_query($query,$link) or die(mysql_error());
  51.          
  52. {  
  53. echo "Soporte ingresado correctamente";
  54.          
  55. } else  
  56. {  
  57. echo "Error introduciendo el soporte";  
  58. } /* Cierre del else */  
  59. }
  60. else
  61. {
  62. echo "error al subir la foto";
  63. }
  64. }
  65.  
  66. ?>

ah tambien al momento de abrir las etiquetas "<? ?>" no es la forma correcta, agunas versiones de php4 la aceptan, mientras que la version de php5 para arriba ya no aceptan esas etiquetas (a menos que modifiques el short_open_tag). pero ya ese es otro tema.

revisa tambien este tema que se ha publicado de las diferencias de las etiquetas <?php ?> y <?=?>. tal vez te pueda servir de guia,

saludos.

Última edición por esaenz22; 13/01/2010 a las 09:46 Razón: correccion.

Etiquetas: 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 02:06.