Ver Mensaje Individual
  #6 (permalink)  
Antiguo 27/06/2010, 05:10
w0rldart
 
Fecha de Ingreso: junio-2009
Ubicación: Madrid
Mensajes: 402
Antigüedad: 15 años, 5 meses
Puntos: 20
Respuesta: PHP dynamic website

Como puedo hacer que cuando se envie un mensaje a traves del formulario de contact que uso, se guarde en una base de datos?

Este es el archivo que envia el correo
Código PHP:
<?php

/* config start */

$emailAddress '[email protected]';

/* config end */


require "phpmailer/class.phpmailer.php";

session_name("fancyform");
session_start();


foreach(
$_POST as $k=>$v)
{
    if(
ini_get('magic_quotes_gpc'))
    
$_POST[$k]=stripslashes($_POST[$k]);
    
    
$_POST[$k]=htmlspecialchars(strip_tags($_POST[$k]));
}


$err = array();

if(!
checkLen('name'))
    
$err[]='The name field is too short or empty!';

if(!
checkLen('email'))
    
$err[]='The email field is too short or empty!';
else if(!
checkEmail($_POST['email']))
    
$err[]='Your email is not valid!';

if(!
checkLen('message'))
    
$err[]='The message field is too short or empty!';

if((int)
$_POST['captcha'] != $_SESSION['expect'])
    
$err[]='The captcha code is wrong!';


if(
count($err))
{
    if(
$_POST['ajax'])
    {
        echo 
'-1';
    }

    else if(
$_SERVER['HTTP_REFERER'])
    {
        
$_SESSION['errStr'] = implode('<br />',$err);
        
$_SESSION['post']=$_POST;
        
        
header('Location: '.$_SERVER['HTTP_REFERER']);
    }

    exit;
}


$msg=
'Name:    '.$_POST['name'].'<br />
Email:    '
.$_POST['email'].'<br />
IP:    '
.$_SERVER['REMOTE_ADDR'].'<br /><br />

Message:<br /><br />

'
.nl2br($_POST['message']).'

'
;


$mail = new PHPMailer();
$mail->IsMail();

$mail->AddReplyTo($_POST['email'], $_POST['name']);
$mail->AddAddress($emailAddress);
$mail->SetFrom($_POST['email'], $_POST['name']);
$mail->Subject "A new ".mb_strtolower($_POST['subject'])." from ".$_POST['name']." | contact form feedback";

$mail->MsgHTML($msg);

$mail->Send();


unset(
$_SESSION['post']);

if(
$_POST['ajax'])
{
    echo 
'1';
}
else
{
    
$_SESSION['sent']=1;
    
    if(
$_SERVER['HTTP_REFERER'])
        
header('Location: '.$_SERVER['HTTP_REFERER']);
    
    exit;
}

function 
checkLen($str,$len=2)
{
    return isset(
$_POST[$str]) && mb_strlen(strip_tags($_POST[$str]),"utf-8") > $len;
}

function 
checkEmail($str)
{
    return 
preg_match("/^[\.A-z0-9_\-\+]+[@][A-z0-9_\-]+([.][A-z0-9_\-]+)+[A-z]{1,4}$/"$str);
}

?>
Triby, ese cms tiene funciones administrativas? Y por cierto estoy mirando en implementar este sistema de login : http://tympanus.net/codrops/2009/09/...reloaded-v1-1/ , y customizarlo para mis necesidades

EDITO: Mejor todavia Triby, he encontrado un tal FancySlidingForm, que es un formulario de registro que bueno contiene todos los campos que me interesan, ahora falta adjuntarlo a ese sistema de login. Lo intentare y espero que como muy tarde, este listo para manana por la tarde (ya que ahora me voy con mi familia a visitar a otras familias :)) )

Última edición por w0rldart; 27/06/2010 a las 05:44