Foros del Web » Programando para Internet » PHP »

Formulario de registro con uploader

Estas en el tema de Formulario de registro con uploader en el foro de PHP en Foros del Web. Hola a todos este es mi primer post, estoy haciendo un formulario de registro para un casting, lo arme en html, e hice un "send.php", ...
  #1 (permalink)  
Antiguo 10/08/2011, 18:11
 
Fecha de Ingreso: agosto-2011
Mensajes: 1
Antigüedad: 13 años, 3 meses
Puntos: 0
Exclamación Formulario de registro con uploader

Hola a todos este es mi primer post, estoy haciendo un formulario de registro para un casting, lo arme en html, e hice un "send.php", el formulario funciona a medias, llega el mensaje desde el formulario, pero no llegan bien linkeadas las imagenes subidas.

Ademas no se como poner avisos para confirmarle al usuario el envio exitoso, o los avisos de que falta algun campo por completar, ademas quisiera añadirle una confirmacion via email de que su formulario fue recibido.

mi nivel de conocimento de php es menos que basico.

adjunto el codigo html

Código HTML:
 <div class="formulario_">
	  <div class="form">
       		<h2>¿Tienes entre 5 y 12 a&ntilde;os y quieres ser parte del exclusivo staff de modelos del Chile Fashion Kids?</h2>
       	  	<h3>Participa del Casting llenando el siguiente formulario</h3>
        
          <form id="casting" name="casting" method="POST" action="send.php" enctype="multipart/form-data">
             
            <h4>Datos Postulante </h4>
                          
				<label for='nombre'>Nombre:</label>
                <input name="nombre" type="text" id="nombre" size="40" >
            <label for="edad">Edad: </label>
                <input name="edad" type="text" id="edad" size="3">
           	<br />
                <br />

                <label for="estatura">Estatura:</label>
                <input name="estatura" type="text" id="estatura" size="3">
            <label for="peso">Peso:</label>
                <input name="peso" type="text" id="peso" size="2">
            <label for="talla">Talla:</label>
                <input name="talla" type="text" id="talla" size="2">
			<label for="calzado">N° Calzado:</label>
                <input name="calzado" type="text" id="calzado" size="2">
            <br  />
                <br />
			    <label for="pelo">Color Pelo:</label>
                <input name="pelo" type="text" id="pelo" size="6">
            <label for="ojos">Color Ojos:</label>
                <input name="ojos" type="text" id="ojos" size="6">
                <br />
        <h4>Datos Representante (Padres o familiar directo mayor de 18 a&ntilde;os.)</h4>
                <label for='nombre_rp'>Nombre: </label>
                <input name="nombre_rp" type="text" id="nombre_rp" size="50" >
           	<br />
                <br />
                <label for='telefono'>Teléfono:</label>
                <input name="telefono" type="text" id="telefono" size="9" >
            <label for='email'>Email:&nbsp; &nbsp; </label>
                <input name="email" type="text" id="email" size="18" >
           	<br />
                <br />
                <label for='experiencia'>¿Tienes experiencia en modelaje o fotografía? (Si/No)</label>
                <input name="experiencia" type="text" id="experiencia" size="4" >
           	<br />
                <br />
                <!-- si pudieran tambien ayudarme a activar esta variable solo si se responde "SI" al campo anterior -->
                <label for='comentario'>Si la respuesta es sí, cuéntanos algo de tu experiencia.</label>
                <br />
                <br />
              <textarea id="comentario" name="comentario" cols="35"></textarea>
              
              </p>
              <p>
                
                <label for='foto_rostro'>Adjunta foto rostro (Max 1MB) :</label>
                <input name="foto_rostro" type="file"  size="20">
                <input type="hidden" name="MAX_FILE_SIZE" value="10000000"> 
                <br />
                <br />
                <label for='foto_cuerpo'>Adjunta foto cuerpo completo (Max 1MB) :</label>
                <input name="foto_cuerpo" type="file"  size="16">
                <input type="hidden" name="MAX_FILE_SIZE" value="10000000"> 
              </p>
              <p>
              <input type="reset" value="Borrar" name='borrar'>
              <input name='enviar' type="submit" value="Enviar">
            </p>
        </form> 
   	  </div>
  </div>
	
</div> 
adjunto el codigo php

Código PHP:
<?php

$nombre 
$_POST['nombre'];
$edad $_POST['edad'];
$estatura $_POST['estatura'];
$peso $_POST['peso'];
$talla $_POST['talla'];
$calzado $_POST['calzado'];
$pelo $_POST['pelo'];
$ojos $_POST['ojos'];
$nombre_rp $_POST['nombre_rp'];
$telefono $_POST['telefono'];
$email $_POST['email'];
$experiencia $_POST['experiencia'];
$comentario $_POST['comentario'];
$foto_rostro $_POST['foto_rostro'];
$foto_cuerpo $_POST['foto_cuerpo'];

// Configuración up1
$folder "img_casting/"// Carpeta a la que queremos subir los archivos
$maxlimit 10000000// Máximo límite de tamaño (en bits)
$allowed_ext "png,jpg"// Extensiones permitidas (usad una coma para separarlas)
$overwrite "no"// Permitir sobreescritura? (yes/no)

$match ""
$filesize $_FILES['foto_rostro']['size']; // toma el tamaño del archivo
$filename1 strtolower($_FILES['foto_rostro']['name']); // toma el nombre del archivo y lo pasa a minúsculas


if(!$filename1 || $filename1==""){ // mira si no se ha seleccionado ningún archivo
  
echo $error "- Ningún archivo selecccionado para subir.<br>";
}elseif(
file_exists($folder.$filename1) && $overwrite=="no"){ // comprueba si el archivo existe ya
  
echo $error "- El archivo <b>$filename1</b> ya existe<br>";
}

// comprobar tamaño de archivo
if($filesize 1){ // el archivo está vacío
  
echo $error .= "- Archivo vacío.<br>";
}elseif(
$filesize $maxlimit){ // el archivo supera el máximo
  
echo $error .= "- Este archivo supera el máximo tamaño permitido.<br>";
}

$file_ext preg_split("/\./",$filename1); // aquí no tengo claro lo que hace xD
$allowed_ext preg_split("/\,/",$allowed_ext); // ídem, algo con las extensiones
foreach($allowed_ext as $ext){
   if(
$ext==$file_ext[1]) $match "1"// Permite el archivo
}

// Extensión no permitida
if(!$match){
 echo  
$error .= "- Este tipo de archivo no está permitido: $filename1<br>";
}

if(
$error){
   echo 
"Se ha producido el siguiente error al subir el archivo:<br> $error"// Muestra los errores
}else{
   if(
move_uploaded_file($_FILES['foto_rostro']['tmp_name'], $folder.$filename1)){ // Finalmente sube el archivo
      
echo "<b>$filename1</b> se ha subido correctamente!"//el mensaje que saldra cuando el archivo este subido
   
}else{
      echo 
"Error! Puede que el tamaño supere el máximo permitido por el servidor. Inténtelo de nuevo."// Otro error
   
}
}

// Configuración up2
$folder "img_casting/"// Carpeta a la que queremos subir los archivos
$maxlimit 10000000// Máximo límite de tamaño (en bits)
$allowed_ext "png,jpg"// Extensiones permitidas (usad una coma para separarlas)
$overwrite "no"// Permitir sobreescritura? (yes/no)

$match ""
$filesize $_FILES['foto_cuerpo']['size']; // toma el tamaño del archivo
$filename2 strtolower($_FILES['foto_cuerpo']['name']); // toma el nombre del archivo y lo pasa a minúsculas


if(!$filename2 || $filename2==""){ // mira si no se ha seleccionado ningún archivo
  
echo $error "- Ningún archivo selecccionado para subir.<br>";
}elseif(
file_exists($folder.$filename2) && $overwrite=="no"){ // comprueba si el archivo existe ya
  
echo $error "- El archivo <b>$filename2</b> ya existe<br>";
}

// comprobar tamaño de archivo
if($filesize 1){ // el archivo está vacío
  
echo $error .= "- Archivo vacío.<br>";
}elseif(
$filesize $maxlimit){ // el archivo supera el máximo
  
echo $error .= "- Este archivo supera el máximo tamaño permitido.<br>";
}

$file_ext preg_split("/\./",$filename2); // aquí no tengo claro lo que hace xD
$allowed_ext preg_split("/\,/",$allowed_ext); // ídem, algo con las extensiones
foreach($allowed_ext as $ext){
   if(
$ext==$file_ext[1]) $match "1"// Permite el archivo
}

// Extensión no permitida
if(!$match){
  echo 
$error .= "- Este tipo de archivo no está permitido: $filename2<br>";
}

if(
$error){
   echo 
"Se ha producido el siguiente error al subir el archivo:<br> $error"// Muestra los errores
}else{
   if(
move_uploaded_file($_FILES['foto_cuerpo']['tmp_name'], $folder.$filename2)){ // Finalmente sube el archivo
      
echo "<b>$filename2</b> se ha subido correctamente!"//el mensaje que saldra cuando el archivo este subido
   
}else{
      echo 
"Error! Puede que el tamaño supere el máximo permitido por el servidor. Inténtelo de nuevo."// Otro error
   
}
}

$header 'From: ' $email $nombre_rp " \r\n";
$header .= "X-Mailer: PHP/" phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$message "Representante : " $nombre_rp " \r\n" "Email : " $email " \r\n" "Telefono : " $telefono " \r\n";

$message .= "Modelo : " $nombre " \r\n" .  "Edad : " $edad " años de edad " " \r\n" "Estatura : " $estatura " \r\n" .  "Peso : " $peso " \r\n" .  "Talla : " $talla " \r\n" .  "Talla Calzado : " $calzado " \r\n" "Color de pelo : " $pelo " \r\n" .  "Color de ojos : " $ojos " \r\n" .  "Experiencia : " $experiencia " \r\n" "Comentario experiencia : " $comentario " \r\n" "Foto rostro : http://www.sitioprueba.cl/img_casting/" $filename1 " \r\n" "Foto cuerpo : http://www.sitioprueba.cl/img_casting/" $filename2 " \r\n";
$message .= "Sent " date('d/m/Y'time());

$para '[email protected]';
$subject 'Formulario Casting Web';

mail($para$subjectutf8_decode($message), $header);


?>

eso, espero sus ayudas, y una vez resuelto publicare el codigo corregido para alguien que tambien lo necesite.

Saludos.
  #2 (permalink)  
Antiguo 11/08/2011, 02:51
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 8 meses
Puntos: 253
Respuesta: Formulario de registro con uploader

Y dónde te da el error?
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?

Etiquetas: formularioenphp, uploader, formulario
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 16:26.