Powered By Blogger

jueves, 8 de noviembre de 2012

Enviar mail usando PHP y AJAX

Hola en esta ocasión veremos un pequeño ejemplo de como enviar un mail usando PHPy Ajax juntos.

Primero empezaremos creando nuestro formulario para enviar nuestro Email

formulariomail.html
<!DOCTYPE html> <html> <head> <title>Formulario de Envio de Mail</title> <script src="funcionAjax.js" language="javascript"></script> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <!-- id=miformulario que utilizaremos en el archivofuncionAjax.js para referirnos a el --> <form name="formulario" id="miformulario" method="post" action="enviarMail.php"> <table> <tr> <td colspan="2"style="text-align:center"><p>Enviar Mail de Prueba Php Usuando Ajax</p></td> </tr> <tr> <td><p>Para quien:</p></td> <td><input type="text" name="para"id="para"/></td> </tr> <tr> <td><p>Remitente:</p></td> <td><input type="text" name="remitente"id="remitente" value="mimail@ejemplomail.com"/></td> </tr> <tr> <td><p>Cuerpo del Mensaje</p></td> <td><textarea name="mensaje" col="10" rows="10"id="mensaje"> </textarea></td> </tr> <tr> <td colspan="2"style="text-align:center"> <input type="submit" name="enviar" value="EnviarMail"/> </td> </tr> </table> </form> <div id="resultados"></div> </body> </html>
































Luego creamos nuestro archivo Ajax que sera el encargado de hacer el puente con  el servidor


funcionAjax.js
addEvent(window,'load',inicializarEventos,false); function inicializarEventos() { var ref=document.getElementById('miformulario'); addEvent(ref,'submit',enviarDatosServidor,false); } function enviarDatosServidor(e) {
if (window.event) window.event.returnValue=false; else if (e) e.preventDefault(); enviarFormularioServidor(); } function retornarDatos() { var cadena=''; var para=document.getElementById('para').value; var mensaje=document.getElementById('mensaje').value; var remitente=document.getElementById('remitente').value; cadena='para='+encodeURIComponent(para)+'&mensaje='+encodeURIComponent(mensaje) +'&remitente='+encodeURIComponent(remitente); return cadena; } var conexionServidor; function enviarFormularioServidor() { conexionServidor=crearXMLHttpRequest(); conexionServidor.onreadystatechange = procesarEventos; conexionServidor.open('POST','enviarMail.php', true); conexionServidor.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); conexionServidor.send(retornarDatos()); } function procesarEventos() { var resultados = document.getElementById("resultados"); if(conexionServidor.readyState == 4) { resultados.innerHTML =conexionServidor.responseText; } else { resultados.innerHTML = 'Enviando...'; } } //*************************************** //Funciones comunes a todos los problemas //*************************************** function addEvent(elemento,nomevento,funcion,captura) { if (elemento.attachEvent) { elemento.attachEvent('on'+nomevento,funcion); return true; } else if (elemento.addEventListener) { elemento.addEventListener(nomevento,funcion,captura); return true; } else return false; } function crearXMLHttpRequest() { var xmlHttp=null; if (window.ActiveXObject) xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); else if (window.XMLHttpRequest) xmlHttp = new XMLHttpRequest(); return xmlHttp; }







































































Luego creamos nuestro archivo controlador Php que sera el encargado de Enviar el Mail
enviarMail.php

<?php // recibimos las variables enviadas al servidor $para = $_POST["para"]; $remitente = $_POST["remitente"]; $cuerpoMensaje = $_POST["mensaje"]; echo $para; // subject echo $titulo = 'Este es Un mensaje de Prueba de la Funcion Mail'; // message echo $mensaje = " <html> <head> <title>Este es Un mensaje de Prueba de la Funcion Mail</title> </head> <body> <p>$cuerpoMensaje</p> </body> </html> "; // Para enviar un correo HTML mail, la cabecera Content-type debe fijarse $cabeceras = 'MIME-Version: 1.0' . "\r\n"; $cabeceras .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; // Cabeceras adicionales $cabeceras .= "To: $para" . "\r\n"; $cabeceras .= "From: $remitente" . "\r\n"; //$cabeceras .= 'Cc: copiaoculta@ejemplocorreo.com' . "\r\n";//Copia //$cabeceras .= 'Bcc: birthdaycheck@ejemplocorreo.com' . "\r\n";//Copia oculta // Funcion Mail echo mail($para, $titulo, $mensaje, $cabeceras); ?>
Listo probamos y nuestro mensaje sera enviado a nuestro remitente

martes, 16 de octubre de 2012

Funcion de php que deletree separando con guiones salvo espacios

Esta funcion de PHP toma un texto y lo separa con guiones excepto los espacios en blancos


<?php function escribe_separa($cadena){ $nuevaCadena=""; for ($i=0;$i<strlen($cadena);$i++){ if(substr($cadena,$i,1)!=" "){ if(strlen($cadena)==$i+1) $nuevaCadena.=substr($cadena,$i,1); else if(substr($cadena,$i+1,1)===" ") $nuevaCadena.=substr($cadena,$i,1)." "; else $nuevaCadena.=substr($cadena,$i,1)."-"; } } return $nuevaCadena; } echo escribe_separa ("hola"); echo "<p>"; echo escribe_separa ("Texto mas largo y veo lo que hace"); ?>

sábado, 31 de marzo de 2012

Creando la página de index.php de la aplicación


Aquí se desplegara  la aplicación finalmente terminada
index.php
<?php
$ser=$_SERVER["SERVER_NAME"];
require_once("util/utilidades.class.php");
require_once("controlador/controlador.class.php");
$util= new Utilidades();
$util->crearMenu();
echo "</body>
</html>";
?>


Poniendo seguridad a los archivos PHP

. htaccess
# asegurar htaccess
<Files .htaccess>
order allow,deny
deny from all
</Files>
<files utilidades.class.php>
order allow,deny
deny from all
</files>
<files controlador.class.php>
order allow,deny
deny from all
</files>
Options All -Indexes

<-Creando CRUD  PHP y MYSQL (Créate, Read, Update, Delete)

Creando CRUD PHP y MYSQL (Créate, Read, Update, Delete)



Ahora crearemos los formularios para la creación, eliminación, lectura, y actualización de las marcas

ingresarMarca.php
<?php
require_once("../util/utilidades.class.php");
$ser=$_SERVER["SERVER_NAME"];
require_once("../controlador/controlador.class.php");
$util= new Utilidades();
$util->crearMenu();
$con= new Conexion();
echo"
<div style=\"position:absolute;top:200px;left:50px;font-size:16px;\">
<form name=\"miform\" id=\"miform\" method=\"post\" action=\"imarcas.php\" onsubmit=\"return validar2(this)\">
<table>
<tr>
<td>
 Descripcion de La Marca
</td>
<td>
<input type=\"text\" name=\"descripcion\" id=\"descripcion\" title=\"Descripcion\"/>
</td>
</tr>
<tr>
<td collspan=\"2\">
<input type=\"submit\" name=\"enviar\" id=\"enviar\" value=\"enviar\" />
</td>
</tr>
<table>
<input type=\"hidden\" name=\"forma\" id=\"forma\" value=\"1\" />";
if(empty($_GET["idproductos"])){
echo"
<input type=\"hidden\" name=\"product\" id=\"product\" value=\"1\" />";
}
else{
$pro=$_GET["idproductos"];
echo"
<input type=\"hidden\" name=\"product\" id=\"product\" value=\"$pro\" />";
}
echo"
</form>
 <div id=\"resultados\">
 </div>
  <div id=\"detalles2\">
 </div>

</div>
</body>
</html>
";

?>


editarMarca.php
<?php
$ser=$_SERVER["SERVER_NAME"];
if(!empty($_GET["idproductos"]))
{

}else{
header("Location: http://$ser/proyecto/index.php");
}
require_once("../util/utilidades.class.php");

require_once("../controlador/controlador.class.php");
$util= new Utilidades();
$util->crearMenu();
$con= new Conexion();
echo"
<div style=\"position:absolute;top:200px;left:50px;font-size:16px\">
<form name=\"miform\" id=\"miform\" method=\"post\" action=\"imarcas.php\"  onsubmit=\"return validar2(this)\">
<table>
<tr>
<td>
 Descripcion de La Marca
</td>
<td>
<input type=\"text\" id=\"descripcion\" name=\"descripcion\" />
</td>
</tr>
<tr>
<td collspan=\"2\">
<input type=\"submit\" name=\"enviar\" id=\"enviar\" value=\"enviar\"/>
</td>
</tr>
<table>
<input type=\"hidden\" name=\"forma\" id=\"forma\" value=\"2\" />";
if(empty($_GET["idproductos"])){
echo"
<input type=\"hidden\" name=\"product\" id=\"product\" value=\"1\" />";
}
else{
$pro=$_GET["idproductos"];
echo"
<input type=\"hidden\" name=\"product\" id=\"product\" value=\"$pro\" />";
}
echo"
</form>
</div>
<div id=\"resultados\">

 </div>

  <div id=\"detalles2\">

 </div>
";

echo"</body>";
echo"</html>";
?>


eliminarMarcas.php
<?php

$ser=$_SERVER["SERVER_NAME"];
require_once("../controlador/controlador.class.php");

$con= new Conexion();
$productos=$_GET["idproductos"];
$con->ejecutar("delete from marcas WHERE mar_id =$productos");
header("Location: verMarcas.php");

?>


verMarcas.php
<?php
$ser=$_SERVER["SERVER_NAME"];
require_once("../util/utilidades.class.php");
require_once("../controlador/controlador.class.php");
$util= new Utilidades();
$util->crearMenu();
$con= new Conexion();
$resultado=$con->ejecutarQuery("select mar_id,mar_des from marcas");
echo "
<div style='position:absolute;top:200px;left:50px;font-size:16px'>
<table>
<tr>
<td>
Clave
</td>
<td>
Descripcion
</td>
<td>
Opcion
</td>

</tr>
";
for($i=0;$i<count($resultado);$i++){
echo "<tr>";
echo "<td>";
echo $resultado[$i][0];
echo "</td>";
echo "<td>";
echo $resultado[$i][1];
echo "</td>";
echo "<td>";
echo "<a style='color:green;' href='http://$ser/proyecto2/vistas/editarMarca.php?idproductos=".$resultado[$i][0]."'>Editar Marcas</a><br />";
echo "<a style='color:green;' href='http://$ser/proyecto2/vistas/eliminarMarcas.php?idproductos=".$resultado[$i][0]."'>Eliminar</a>";
echo "</td>";
echo "</tr>";
}
echo "
</table>
</div>
</body>
</html>
";
?>


 imarcas.php

<?php
$ser=$_SERVER["SERVER_NAME"];
require_once("../controlador/controlador.class.php");
$con= new Conexion();
if(!empty($_POST["enviar"])){
if($_POST["forma"]==1){
$descripcion=$_POST["descripcion"];
$con->ejecutar("insert into marcas (mar_des) values(\"$descripcion\")");
echo "Ingresado Correctamente";
}else if($_POST["forma"]==2){
$descripcion=$_POST["descripcion"];
$productos=$_POST["product"];
$con->ejecutar("UPDATE marcas SET mar_des ='$descripcion'  WHERE mar_id =$productos");
echo "Actualizado Correctamente";
}

}

?>

<-JavaScript Ajax para él envió de Información al Servidor  Creando la página de index.php de la aplicación->
Powered By Blogger