Archivo adjunto en formulario web

Kissler

Hola!

Tengo un archivo .php para enviar un formulario sencillo, me gustaria poder mejorar i que se pudieran poner mas campos y sobretodo archivos adjuntos. Pero como el php estoy muy perdido i mas con este en particular que almenos no entiendo.

Me podrias explicar como hacer eso en este codigo?

<?php

if (isset($_REQUEST['action'])) {
	if ($_REQUEST['action'] == "contact_form_request") {

	$ourMail = "[email protected]"; 

	$required_fields = array("name", "email", "message");
	$pre_messagebody_info = "";
	
	$errors = array();
	$data = array();
	parse_str($_REQUEST['values'], $data);
	
	//check for required and assemble message

	if (!empty($data)) {
		foreach ($data as $key => $value) {
			$name = strtolower(trim($key));
			if (in_array($name, $required_fields)) {
				if (empty($value)) {
					$errors[$name] = "Enter please " . $name . " right!";
				}
			}

			if ($name == "email") {
				if (!isValidEmail($value)) {
					$errors[$name] = "Enter please " . $name . " right!";
				}
			}
		}
	}

	$result = array (
		"is_errors" => 0,
		"info" => ""
	);

	if (!empty($errors)) {
		$result['is_errors'] = 1;
		$result['info'] = $errors;
		echo json_encode($result);
		exit;
	}

	$pre_messagebody_info.="<strong>Name</strong>" . ": " . $data['name'] . "<br />";
	$pre_messagebody_info.="<strong>E-mail</strong>" . ": " . $data['email'] . "<br />";
	$pre_messagebody_info.="<strong>Website</strong>" . ": " . $data['website'] . "<br />";

	$headers = 'MIME-Version: 1.0' . "\r\n";
	$headers.= 'Content-type: text/html; charset=UTF-8' . "\r\n";
	$headers.= "From: " . $data['email'] . "\r\n";

	$after_message = "\r\n<br />--------------------------------------------------------------------------------------------------\r\n<br /> This mail was sent via contact form";

	if (mail($ourMail, "Email from contact form", $pre_messagebody_info .="<strong>Message</strong>" . ": " . nl2br($data['message']) . $after_message, $headers)) {
		$result["info"] = "success";
	} else {
		$result["info"] = "server_fail";
	}

	echo json_encode($result);
	exit;
}
}

function isValidEmail($email) {
	return filter_var($email, FILTER_VALIDATE_EMAIL);
}

?>

Muchas gracias!

pekpon

Has buscado en google?

http://www.w3schools.com/PHP/php_file_upload.asp

1 respuesta
Kissler

#2 Gracias primero , la verdad que algo busque pero como digo soy nulo no lo siguiente y nose exactamente como implantarlo.

Si pego ese codigo por ahi en medio dudo que funcione y como quiero que haga todo y no solo enviar un archivo adjunto pues por eso pregunte.

Si no te cuesta mucho saber metermelo en ese codigo te lo agradecería.

Merci

Usuarios habituales

  • Kissler
  • pekpon