Estoy empezando con PHP y he intentado adaptar un código para que al mandar los datos de un formulario para presupuestar un trabajo, salte a una página de login o bien registro dependiendo de si ya se es usuario. En caso de ser usuario se validaría y se enviaría finalmente el formulario creando un e-mail con los datos introducidos más los de la base de datos sobre el usuario que los ha mandado. Si no lo es, debe registrarse introduciendo sus datos y seguidamente mandar el formulario.
El siguiente código es el de la página en la que se marca si se es usuario o no y dependiendo de eso se habilitan unos campos u otros. Pero el código no funciona bien, alguien podría echarme una mano con los errores?
Mil gracias!!
Código PHP:
[..]
<div class="contenidos5">
<?php
if (document.presupuestoslogin.pw.disabled){
session_start();
mysql_connect('mysql4.000webhost.com','a7487191_mireia','******')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('a7487191_presus')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
function quitar($mensaje)
{
$nopermitidos = array("'",'\\','<','>',"\"");
$mensaje = str_replace($nopermitidos, "", $mensaje);
return $mensaje;
}
if(trim($HTTP_POST_VARS["usuario"]) != "" && trim($HTTP_POST_VARS["pass"]) != "")
{
$usuario = strtolower(htmlentities($HTTP_POST_VARS["usuario"], ENT_QUOTES));
$password = $HTTP_POST_VARS["pass"];
$result = mysql_query('SELECT password, usuario FROM usuarios WHERE usuario=\''.$usuario.'\'');
if($row = mysql_fetch_array($result)){
if($row["pass"] == $password){
$_SESSION["k_username"] = $row['usuario'];
echo 'Has sido logueado correctamente '.$_SESSION['k_username'].' <p>';
echo '<a href="presus.php">Index</a></p>';
}else{
echo 'Password incorrecto';
}
}else{
echo 'Usuario no existente en la base de datos';
}
mysql_free_result($result);
}else{
echo 'Debe especificar un usuario y password';
}
mysql_close();
}
else
session_start();
mysql_connect('mysql4.000webhost.com','a7487191_mireia','******')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('a7487191_presus')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
if (isset($_POST["usuario"])) {
$usuario = $_POST["usuario"];
$password = $_POST["pass"];
$password2 = $_POST["pw"];
$email = $_POST["email"];
// Hay campos en blanco
if($usuario==NULL|$password==NULL|$password2==NULL|$email==NULL) {
echo "un campo está vacio.";
}else{
// ¿Coinciden las contraseñas?
if($password!=$password2) {
echo "Las contraseñas no coinciden";
}else{
// Comprobamos si el nombre de usuario o la cuenta de correo ya existían
$checkuser = mysql_query("SELECT usuario FROM usuarios WHERE usuario='$usuario'");
$username_exist = mysql_num_rows($checkuser);
$checkemail = mysql_query("SELECT email FROM usuarios WHERE email='$email'");
$email_exist = mysql_num_rows($checkemail);
if ($email_exist>0|$username_exist>0) {
echo "El nombre de usuario o la cuenta de correo estan ya en uso";
formRegistro();
}else{
$query = 'INSERT INTO usuarios (usuario, password, email, fecha)
VALUES (\''.$usuario.'\',\''.$password.'\',\''.$email.'\',\''.date("Y-m-d").'\')';
mysql_query($query) or die(mysql_error());
echo 'El usuario '.$usuario.' ha sido registrado de manera satisfactoria.<br />';
echo 'Ahora puede entrar ingresando su usuario y su password <br />';
}
}
}
}
?>
<pre style="font-family:Arial, Helvetica, sans-serif;font-size:14px;color:#000; margin-left:40px;">Rellene los siguientes campos si quiere recibir el presupuesto acorde con sus especificaciones.</pre>
<form action="presus.php" method="post" name="presupuestoslogin" id="presupuestoslogin" >
<?
foreach( $_POST as $key => $value ) {
echo "<input type='hidden' name='".$key."' value='".$value."'>";
}
?>
<table cellpadding="1px" cellspacing="2px">
<tr>
<td colspan="2"><label><input name="registrado" type="radio" id="registradosi" value="Soy un usuario registrado" checked="checked" onclick="document.presupuestoslogin.pw.disabled=!document.presupuestoslogin.pw.disabled;document.presupuestoslogin.nombre.disabled=!document.presupuestoslogin.nombre.disabled;document.presupuestoslogin.tlf.disabled=!document.presupuestoslogin.tlf.disabled;document.presupuestoslogin.mail.disabled=!document.presupuestoslogin.mail.disabled;document.presupuestoslogin.empresa.disabled=!document.presupuestoslogin.empresa.disabled;document.presupuestoslogin.direccion.disabled=!document.presupuestoslogin.direccion.disabled"/><font color="#000000" size="2" face="Arial, Helvetica, sans-serif">Soy un usuario registrado</font></label><br/><label><input onclick="document.presupuestoslogin.pw.disabled=!document.presupuestoslogin.pw.disabled;document.presupuestoslogin.nombre.disabled=!document.presupuestoslogin.nombre.disabled;document.presupuestoslogin.tlf.disabled=!document.presupuestoslogin.tlf.disabled;document.presupuestoslogin.mail.disabled=!document.presupuestoslogin.mail.disabled;document.presupuestoslogin.empresa.disabled=!document.presupuestoslogin.empresa.disabled;document.presupuestoslogin.direccion.disabled=!document.presupuestoslogin.direccion.disabled" name="registrado" type="radio" id="registradono" value="No soy un usuario registrado"/><font color="#000000" size="2" face="Arial, Helvetica, sans-serif" >No soy un usuario registrado</font></label></td>
<tr>
<td width="350px"><label for="usuario"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><strong>Usuario*:</strong></font></label></td>
<td ><input type="text" id="usuario" name="usuario" value="" size="40" /></td>
</tr>
<tr>
<td width="350px"><label for="pass"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><strong>Contraseña*:</strong></font></label></td>
<td ><input type="password" id="pass" name="pass" value="" size="40" /></td>
</tr>
<tr>
<td width="350px"><label for="pw"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><strong>Repetir contraseña*:</strong></font></label></td>
<td ><input type="password" id="pw" name="pw" value="" size="40" disabled/></td>
</tr>
<tr>
<td align="left" width="350px"><label for="nombre"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><strong>Persona de contacto*:</strong></font></label></td>
<td ><input type="text" id="nombre" name="nombre" value="" size="60" disabled/></td>
</tr>
<tr>
<td width="350px"><label for="tlf"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><strong>Teléfono*:</strong></font></label></td>
<td ><input type="text" id="tlf" name="tlf" value="" size="15" disabled /></td>
</tr>
<tr>
<td width="350px"><label for="mail"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><strong>E-mail*:</strong></font></label></td>
<td ><input type="text" id="mail" name="mail" value="" size="30" disabled /></td>
</tr>
<tr>
<td width="350px"><label for="empresa"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><strong>Empresa:</strong></font></label></td>
<td ><input type="text" id="empresa" name="empresa" value="" size="15" disabled /></td>
</tr>
<tr>
<td width="350px"><label for="direccion"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><strong>Dirección:</strong></font></label></td>
<td ><input type="text" id="direccion" name="direccion" value="" size="60" disabled /></td>
</tr>
<tr>
<td colspan="2"><font size="1" face="Arial, Helvetica, sans-serif" color="#000000">*Campos obligatorios.</font></td>
</tr>
<tr>
<tr>
<td colspan="2"> </td>
</tr>
<tr>
<td></td>
<td align="left"><input type="submit" name="enviar" id="enviar" value="Enviar" /><input type="reset" name="borrar" id="borrar" value="Restablecer" /></td>
</tr>
</table>
</form>
</div>
[..]
Feliz día!