Aunque use Ajax para procesar, el problema tiene k ser la parte de php por eso ecribo en este foro. Tengo este formulario y esta funcion para xajax k sirve para procesar un formulario donde aparte de campos de texto hay una foto k subir:
Código:
<form id="form1" name="formulario" method="post" action="" enctype="multipart/form-data"> {$formulario.nombre}<br /> <input type="text" name="nombre" id="nombre" /> {$formulario.contrasena}<br /> <input type="password" name="password" id="password" /> {$formulario.foto}<br /> <input name="foto" type="file" id="foto" /> <input type="button" value="Enviar" onclick="xajax_procesar_formulario(xajax.getFormValues('formulario'))" /> </form>
Código PHP:
function procesar_formulario($form_entrada)
{
//creo el xajaxResponse para generar una salida
$respuesta = new xajaxResponse('UTF-8');
//validación
$error_form = "";
if ($form_entrada["nombre"] == "")
$error_form = 'Porfavor escribe tu nombre';
elseif ($form_entrada["password"] == "")
$error_form = "Porfavor escribe tu contraseña";
//Existe un campo vacio, el formulario no se procesa y se muestra en pantalla el campo que se debe rellenar:
if ($error_form != "")
{
$respuesta->addAssign("mensaje","innerHTML","<span style='color:red;'><p>$error_form</p></span>");
}
//Todos los campos han sido rellenados, el formulario se procesa:
else
{
//Enviamos a las bases los datos del formulario;
mysql_query("INSERT INTO usuarios (nombre,password) values ('".$form_entrada["nombre"]."','".$form_entrada["password"]."')") or die(mysql_error());
//Guardamos la foto original en el servidor;
move_uploaded_file($HTTP_POST_FILES[$form_entrada[$form_entrada["foto"]]['tmp_name'], $dir_fotos_originales."/".$nombre_foto);
}
return $respuesta;
}
Código PHP:
//Enviamos a las bases los datos del formulario;
mysql_query("INSERT INTO usuarios (nombre,password) values ('$nombre','$password')") or die(mysql_error());
//Guardamos la foto original en el servidor;
move_uploaded_file($HTTP_POST_FILES[foto]['tmp_name'], $dir_fotos_originales."/".$nombre_foto);
Código PHP:
move_uploaded_file($HTTP_POST_FILES[foto]['tmp_name'], $dir_fotos_originales."/".$nombre_foto);
Código PHP:
move_uploaded_file($HTTP_POST_FILES[$form_entrada["foto"]]['tmp_name'], $dir_fotos_originales."/".$nombre_foto);