Foros del Web » Programando para Internet » PHP »

Problemas con programacion

Estas en el tema de Problemas con programacion en el foro de PHP en Foros del Web. Hola buenas, estoy haciendo un formulario, que suba una imagen a el host en una carpeta, y a su vez llene una base de datos. ...
  #1 (permalink)  
Antiguo 12/02/2013, 12:58
Avatar de VencerNow  
Fecha de Ingreso: noviembre-2010
Ubicación: Mexico D.F.
Mensajes: 27
Antigüedad: 13 años, 5 meses
Puntos: 1
Pregunta Problemas con programacion

Hola buenas, estoy haciendo un formulario, que suba una imagen a el host en una carpeta, y a su vez llene una base de datos.
Lo eh estado consultando modificando a mi uso de varios aportes, pero no logro que funcione y ya eh checado manuales, googleado y pues no doy con el error aqui esta mi codigo

Formulario
Código HTML:
Ver original
  1. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  2. <title>Formulario</title>
  3.  
  4. </head>
  5.  
  6.  
  7. <form action="subearchivo.php" method="post" enctype="multipart/form-data">
  8.   <table width="495" border="1" cellpadding="1">
  9.     <tr>
  10.       <td width="177">Nombre(s)</td>
  11.       <td width="302"><label>
  12.         <input type="text" name="nombre" id="nombre" />
  13.       </label></td>
  14.     </tr>
  15.     <tr>
  16.       <td>Apellido Paterno</td>
  17.       <td><label>
  18.         <input type="text" name="apat" id="apat" />
  19.       </label></td>
  20.     </tr>
  21.     <tr>
  22.       <td>Apellido Materno</td>
  23.       <td><label>
  24.         <input type="text" name="amat" id="amat" />
  25.       </label></td>
  26.     </tr>
  27.     <tr>
  28.       <td>Correo</td>
  29.       <td><label>
  30.         <input type="text" name="correo" id="correo" />
  31.       </label></td>
  32.     </tr>
  33.     <tr>
  34.       <td>Instituto de procedencia</td>
  35.       <td><label>
  36.         <input type="text" name="escpro" id="escrpo" />
  37.       </label></td>
  38.     </tr>
  39.     <tr>
  40.       <td>Curso</td>
  41.       <td><label>
  42.         <input type="text" name="curso" id="curso" />
  43.       </label></td>
  44.     </tr>
  45.     <tr>
  46.       <td></label>Imagen</td>
  47.       <td><input name="file" type="file" onChange="ver(form.file.value)"></td>
  48.     </tr>
  49.     <tr>
  50.       <td colspan="2"><input name="submit" type="submit" value="Enviar" /></td>
  51.     </tr>
  52.   </table>
  53. </form>
  54.  
  55.  
  56. </body>
  57. </html>


aqui esta mi php llamado subearchivo.php
Código PHP:
<? 
if ($_POST[){

 
$str "ABCDEFGHIJKLMNOPQESTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
 
$cad "";
 
 for (
$i=0;$i<12;$i++) {
 
$cad .= substr($str,rand(0,62),1);
 }
 
 
$tamano $_FILES'file' ][ 'size' ];
 
$tamano_max="5000000";
 if( 
$tamano $tamano_max)
 
$destino 'uploaded' ;
 
$sep=explode('image/'$_FILES'file' ]['tmp_name'], $destino '/' $cad'.' $tipo);
 
$tipo=$sep[1];
 if(
$tipo == "gif" || $tipo == "jpeg" || $tipo == "gif" || $tipo == "bmp" || $tipo == "pdf"){
 
move_uploaded_file ($_FILES'file'][ 'tmp_name' ], $destino '/' $cad '.' $tipo);
 include(
'post.html');
 }
 else echo 
"El tipo de archivo no es permitido";
 }
 else echo 
"Eltipo de archivo supera el peso permitido";
}
?>

<?php
$nombre
=$_POST['nombre'];
$apat=$_POST['apat'];
$amat=$_POST['amat']
$correo=$_POST['correo'];
$escpro=$_POST['escpro'];
$curso=$_POST['curso'];

if (
$nombre!= "" && $apat!= "" && $amat!="" && $correo!= "" && $escpro!= "" && $curso!="" )

(
mysql_connect("localhost","root","");
mysql_select_db("relacion");
mysql_query("INSERT INTO curso1(nombre,apat,amat,correo,escpro,curso) VALUES('$nombre','$apat','$amat','$correo','$escpro','$curso')");
)

?>
no cabe mencionar que ya tengo la tabla

Código SQL:
Ver original
  1. +----------+--------------+------+-----+---------+-------+
  2. | FIELD    | TYPE         | NULL | KEY | DEFAULT | Extra |
  3. +----------+--------------+------+-----+---------+-------+
  4. | id       | INT(20)      | NO   |     | NULL    |       |
  5. | nombre   | VARCHAR(100) | NO   |     | NULL    |       |
  6. | apat     | VARCHAR(100) | NO   |     | NULL    |       |
  7. | amat     | VARCHAR(100) | NO   |     | NULL    |       |
  8. | correo   | VARCHAR(100) | NO   |     | NULL    |       |
  9. | escpro   | VARCHAR(100) | NO   |     | NULL    |       |
  10. | curso    | VARCHAR(100) | NO   |     | NULL    |       |
  11. | imagen   | INT(11)      | NO   |     | NULL    |       |
  12. | complete | VARCHAR(50)  | NO   |     | NULL    |       |
  13. +----------+--------------+------+-----+---------+-------+


Cuando doy siguiente me sale un mensaje diciendo esto
Parse error: syntax error, unexpected T_VARIABLE in C:\wamp\www\proyecto\subearchivo.php on line 31

y cuando probé el de imagen solo simplemente no pasaba nada.

Alguien me puede ayudar, cabe mencionar que soy algo novato en esto
  #2 (permalink)  
Antiguo 12/02/2013, 13:03
Avatar de CoriaWeb  
Fecha de Ingreso: septiembre-2012
Ubicación: Coria del Río - Sevilla
Mensajes: 1.795
Antigüedad: 11 años, 7 meses
Puntos: 130
Respuesta: Problemas con programacion

if ($_POST[){ <-- Aqui creo que hay un error, prueba asi:

if ($_POST){
__________________
Hosting de Calidad
Servidores Dedicados Administrados
CoriaWeb.hosting
  #3 (permalink)  
Antiguo 12/02/2013, 13:03
Avatar de rottenp4nx  
Fecha de Ingreso: octubre-2012
Ubicación: Santiago
Mensajes: 417
Antigüedad: 11 años, 6 meses
Puntos: 36
Respuesta: Problemas con programacion

$amat=$_POST['amat']

le falta el ";" y lo que indica el amigo en el post de arriba

saludos
  #4 (permalink)  
Antiguo 12/02/2013, 13:05
Avatar de CoriaWeb  
Fecha de Ingreso: septiembre-2012
Ubicación: Coria del Río - Sevilla
Mensajes: 1.795
Antigüedad: 11 años, 7 meses
Puntos: 130
Respuesta: Problemas con programacion

Lo que te a dicho el compañero tambien es un error, porcierto, inicias asi:

<?

Eso puede provocarte errores, inicialo siempre asi:

<?php

Saludos.
__________________
Hosting de Calidad
Servidores Dedicados Administrados
CoriaWeb.hosting
  #5 (permalink)  
Antiguo 12/02/2013, 13:14
Avatar de VencerNow  
Fecha de Ingreso: noviembre-2010
Ubicación: Mexico D.F.
Mensajes: 27
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Problemas con programacion

Muy bien gracias pero ahora me marca en la linea 24 donde esta la llave } en donde cierro el php de upload.

Otra pregunta, si sirve el código o como ven? se aceptan criticas ya que soy trainee en esto de programación, lo mio es el diseño disculpen las molestias y tan sencillas que fueran los errores

asi esta mi php con las correciones anteriores
Código PHP:
Ver original
  1. <?php
  2. if ($_POST){
  3.  
  4.  $str = "ABCDEFGHIJKLMNOPQESTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
  5.  $cad = "";
  6.  
  7.  for ($i=0;$i<12;$i++) {
  8.  $cad .= substr($str,rand(0,62),1);
  9.  }
  10.  
  11.  $tamano = $_FILES[ 'file' ][ 'size' ];
  12.  $tamano_max="5000000";
  13.  if( $tamano < $tamano_max)
  14.  $destino = 'uploaded' ;
  15.  $sep=explode('image/', $_FILES[ 'file' ]['tmp_name'], $destino . '/' . $cad. '.' . $tipo);
  16.  $tipo=$sep[1];
  17.  if($tipo == "gif" || $tipo == "jpeg" || $tipo == "gif" || $tipo == "bmp" || $tipo == "pdf"){
  18.  move_uploaded_file ($_FILES[ 'file'][ 'tmp_name' ], $destino . '/' . $cad . '.' . $tipo);
  19.  include('post.html');
  20.  }
  21.  else echo "El tipo de archivo no es permitido";
  22.  }
  23.  else echo "Eltipo de archivo supera el peso permitido";
  24. }
  25. ?>
  26.  
  27. <?php
  28. $nombre=$_POST['nombre'];
  29. $apat=$_POST['apat'];
  30. $amat=$_POST['amat'];
  31. $correo=$_POST['correo'];
  32. $escpro=$_POST['escpro'];
  33. $curso=$_POST['curso'];
  34.  
  35. if ($nombre!= "" && $apat!= "" && $amat!="" && $correo!= "" && $escpro!= "" && $curso!="" )
  36.  
  37. (
  38. mysql_connect("localhost","root","");
  39. mysql_select_db("relacion");
  40. mysql_query("INSERT INTO curso1(nombre,apat,amat,correo,escpro,curso) VALUES('$nombre','$apat','$amat','$correo','$escpro','$curso')");
  41. )
  42.  
  43. ?>

Última edición por VencerNow; 12/02/2013 a las 13:22
  #6 (permalink)  
Antiguo 12/02/2013, 13:26
Avatar de rottenp4nx  
Fecha de Ingreso: octubre-2012
Ubicación: Santiago
Mensajes: 417
Antigüedad: 11 años, 6 meses
Puntos: 36
Respuesta: Problemas con programacion

Tienes problemas con las llaves, verifica bien, eso te recomiendo usar las tabulaciones para no confundirte con las llaves, también para ver la extensión del archivo puedes ocupar la función pathinfo() de PHP, por lo general está bien

Solo verifica bien las llaves que ahí está el problema, saludos
  #7 (permalink)  
Antiguo 12/02/2013, 13:35
Avatar de VencerNow  
Fecha de Ingreso: noviembre-2010
Ubicación: Mexico D.F.
Mensajes: 27
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Problemas con programacion

Cita:
Iniciado por rottenp4nx Ver Mensaje
Tienes problemas con las llaves, verifica bien, eso te recomiendo usar las tabulaciones para no confundirte con las llaves, también para ver la extensión del archivo puedes ocupar la función pathinfo() de PHP, por lo general está bien

Solo verifica bien las llaves que ahí está el problema, saludos
Gracias por el dato.


Una ultima pregunta no tendrás un script que tome la url de la imagen que se subió y también lo meta en la base de datos?
Oh me ayudarías si no es molestia a empezar a desarrollarlo.

Reitero mi gratitud
  #8 (permalink)  
Antiguo 12/02/2013, 13:45
Avatar de VencerNow  
Fecha de Ingreso: noviembre-2010
Ubicación: Mexico D.F.
Mensajes: 27
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Problemas con programacion

tengo algo asi pensado como

Código PHP:
Ver original
  1. mysql_query("INSERT INTO curso1(imagen) VALUES('$tmp_name')");

quedando el upload asi

Código PHP:
Ver original
  1. <?php
  2. if ($_POST){
  3.  
  4.  $str = "ABCDEFGHIJKLMNOPQESTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
  5.  $cad = "";
  6.  
  7.  for ($i=0;$i<12;$i++) {
  8.  $cad .= substr($str,rand(0,62),1);
  9.  }
  10.  
  11.  $tamano = $_FILES[ 'file' ][ 'size' ];
  12.  $tamano_max="5000000";
  13.  if( $tamano < $tamano_max)
  14.  $destino = 'uploaded' ;
  15.  $sep=explode('image/', $_FILES[ 'file' ]['tmp_name'], $destino . '/' . $cad. '.' . $tipo);
  16.  $tipo=$sep[1];
  17.  if($tipo == "gif" || $tipo == "jpeg" || $tipo == "gif" || $tipo == "bmp" || $tipo == "pdf"){
  18.  move_uploaded_file ($_FILES[ 'file'][ 'tmp_name' ], $destino . '/' . $cad . '.' . $tipo);
  19. (
  20. mysql_connect("localhost","root","");
  21. mysql_select_db("relacion");
  22. mysql_query("INSERT INTO curso1(imagen) VALUES('$tmp_name')");
  23.  include('post.html');
  24. )
  25.  }
  26.  else echo "El tipo de archivo no es permitido";
  27.  }
  28.  else echo "Eltipo de archivo supera el peso permitido";
  29. }
  30. ?>
  #9 (permalink)  
Antiguo 12/02/2013, 13:46
Avatar de rottenp4nx  
Fecha de Ingreso: octubre-2012
Ubicación: Santiago
Mensajes: 417
Antigüedad: 11 años, 6 meses
Puntos: 36
Respuesta: Problemas con programacion

Es solo una cosa de lógica, tienes que saber la ruta donde se sube y después solo concatenas el nombre con la ruta donde guardas la imagen, y lo insertas

Saludos
  #10 (permalink)  
Antiguo 12/02/2013, 13:54
Avatar de VencerNow  
Fecha de Ingreso: noviembre-2010
Ubicación: Mexico D.F.
Mensajes: 27
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Problemas con programacion

Bueno parece que tengo que leer mas y estudiar gracias por tu apoyo

Etiquetas: php+formularios
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 19:01.