El caso es que realizé la web para una empresa de iluminación, y en ella hay un formulario de registro de usuarios. Esto me lo pidió el cliente para poder registrar los datos de la mayoria de sus clientes, y el funcionamiento hasta ahora es el siguiente: El usuario introduce los datos en el formulario y le da a enviar, esto genera un email que le llega a mi cliente, y si mi cliente esta de acuerdo en añadir a ese usuario en la BBDD le da al boton de validar.
Y mi problema: Ahora lo que quiere el cliente es que el usuario quede registrado automaticamente al enviar el formulario, sin tener él que darle al botón del email. No se como hacerlo y me va a estallar la cabeza, repito que soy un tarugo en PHP y me he quedado un poco tirado, a parte tengo la sensación que es facilisimo y no me han funcionado las cosas que he probado por qualquier tonteria.
Os pongo el código. Este es el archivo PHP que llamo desde AS. Le mando las variables y este código genera el email que le llega a mi cliente. Como veis, el botón de validar esta asociado a la funcion "add_from_mail" del archivo "usuaris.php" (que pongo mas abajo).
Código :
<?php //Se recojen las variables $nom = $_POST['nom']; $username = $_POST['username']; $pass = $_POST['pass']; $empresa = $_POST['empresa']; $sector = $_POST['sector']; $cargo = $_POST['cargo']; $profesion = $_POST['profesion']; $direccion = $_POST['direccion']; $poblacion = $_POST['poblacion']; $provincia = $_POST['provincia']; $cp = $_POST['cp']; $estado = $_POST['estado']; $telefono = $_POST['telefono']; $fax = $_POST['fax']; $email = $_POST['email']; // $mensaje = ' <h2>Añadir</h2> <form action="http://pujoliluminacion.com/usuaris/usuaris.php" method="GET"> <input type="hidden" name="action" value="add_from_mail" /> nom: <input type="text" name="nom" value="' . $nom . '"/><br/> username: <input type="text" name="username" value="' . $username . '"/><br/> password: <input type="text" name="pass" value="' . $pass . '"/><br/> empresa: <input type="text" name="empresa" value="' . $empresa . '"/><br/> sector: <input type="text" name="sector" value="' . $sector . '"/><br/> cargo: <input type="text" name="cargo" value="' . $cargo . '"/><br/> profesion: <input type="text" name="profesion" value="' . $profesion . '"/><br/> direccion: <input type="text" name="direccion" value="' . $direccion . '"/><br/> poblacion: <input type="text" name="poblacion" value="' . $poblacion . '"/><br/> provincia: <input type="text" name="provincia" value="' . $provincia . '"/><br/> codigopostal: <input type="text" name="codigopostal" value="' . $cp . '"/><br/> estado: <input type="text" name="estado" value="' . $estado . '"/><br/> telefono: <input type="text" name="telefono" value="' . $telefono . '"/><br/> fax: <input type="text" name="fax" value="' . $fax . '"/><br/> mail: <input type="text" name="mail" value="' . $email . '"/><br/> <input type="submit" /><br/> </form> '; //Se usa la función mail() para mandar el correo. $mail1 = mail("[email protected]","Pujol WebSite - Petición de Registro",$mensaje,"Content-type:text/html\r\nFrom: \nFrom: $email"); ?>
Y aqui os pongo el código de las funciones del archivo "usuaris.php": He limpiado un poco el código de cosas que no pintan nada ahora, Hay la función "add" que se utiliza para añadir a través de una página a parte y donde introduces los datos manualmente, y la función "add_from_mail" que es la que actualmente estamos utilizando.
Código :
<?php require_once("../includes.php"); $table = 'usuaris'; if ($_POST['action'] == 'add') { echo('We are adding</br>'); $sentence = "INSERT INTO $table VALUES('" . $_POST['username'] . "','" . $_POST['nom'] . "','" . $_POST['empresa'] . "','" . $_POST['sector'] . "','" . $_POST['cargo'] . "','" . $_POST['profesion'] . "','" . $_POST['direccion'] . "','" . $_POST['poblacion'] . "','" . $_POST['provincia'] . "','" . $_POST['codigopostal'] . "','" . $_POST['estado'] . "','" . $_POST['telefono'] . "','" . $_POST['fax'] . "','" . $_POST['mail'] . "','" . sha1($_POST['pass']) . "')"; } else if ($_GET['action'] == 'add_from_mail') { echo('We are adding</br>'); $sentence = "INSERT INTO $table VALUES('" . $_GET['username'] . "','" . $_GET['nom'] . "','" . $_GET['empresa'] . "','" . $_GET['sector'] . "','" . $_GET['cargo'] . "','" . $_GET['profesion'] . "','" . $_GET['direccion'] . "','" . $_GET['poblacion'] . "','" . $_GET['provincia'] . "','" . $_GET['codigopostal'] . "','" . $_GET['estado'] . "','" . $_GET['telefono'] . "','" . $_GET['fax'] . "','" . $_GET['mail'] . "','" . sha1($_GET['pass']) . "')"; }
Yo entiendo que el primer código, deberia llamar directamente a la función "add" en vez de la "add_from_mail", y sin tener que darle al botón, pero no se hacerlo. Tambien he intentado cambiar el primer código directamente por un INSERT INTO (ya ni me acuerdo si era este el comando...) y no me funcionó (y conetando a la BBDD previamente por include.php y tal). No se si es por el GET y el POST o yo que se.
Por favor, a ver si alguien me puede tirar un cable, muchas gracias de antemano.