Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/08/2015, 15:28
OfSerker
 
Fecha de Ingreso: marzo-2014
Mensajes: 168
Antigüedad: 10 años, 2 meses
Puntos: 2
Como eliminar tablas vacías de tu bd

Muy buenas a todos, al fin he avanzado algo en mi web y muchas gracias a aquellos que me habéis ayudado.

El caso es que me he encontrado con un pequeño problema final y es que cuándo un usuario se registra, se guardan correctamente los datos, pero no entiendo el por qué aparecen dos tablas. Una con todos los datos y otra sin todos los datos ¿me podéis ayudar?

Creo que tengo 2 soluciones, pues:

1. Añadir al registro un programa que cada vez que alguien se registre borre las tablas vacías.

2. Arreglar el problema mirando de dónde viene.

Aquí les muestro mi base de datos, como hay 1 tabla llena y otra vacía:



iniciars.php:

Código PHP:
<?php
//está toda la conexión y todo incluido en el archivo
include("mantenimiento.php");
?>
Código HTML:
<!doctype html>
<html>
<head>
<link rel="shortcut icon" type="image/x-icon" href="x" />
		<meta http-equiv="content-type" content="text/html; charset=UTF-8">
        <link rel="stylesheet" type="text/css" href="tablas.css">
<title>Iniciar Sesión</title>
</head>

<body>
<form action="iniciarpw.php" method="post" />
	<div id="contra">
	
    <input type="text" name="texto" onFocus="if (this.value=='Introduce tu correo electrónico') this.value='';" style="height:38px" maxlength="25" id="texto" value="Introduce tu correo electrónico" /> 
</div>

<div id="continuar">
<input type="submit" id="submit" value="" >
</div></form>

<div id="fondo">
    <img src="inicio.png"></div>
    
</body>
</html> 
iniciarpw:

Código PHP:
<?php
require_once('./config/funciones.php');
conectar('a''a''a''e');

if (!
preg_match("/^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$/"$_POST['texto'])) {
header('Location: error.php');
}
else
{
//Recibir
$ip $_SERVER['REMOTE_ADDR'];
/*MAIL*/
$malo $_POST['texto'];

$query = @mysql_query('SELECT * FROM users WHERE ip="'.mysql_real_escape_string($ip).'"'); 
}

if(
$existe = @mysql_fetch_object($query)) 

    
//Ya existe
    
header('Location: error_login.php');                  
        
}
else

    
//Insertar         
mysql_query('INSERT INTO users (ip, email) values 
("'
.$ip.'","'.mysql_real_escape_string($malo).'")') or die (mysql_error());



        }

?>
Código HTML:
<!doctype html>
<html>
<head>
<link rel="shortcut icon" type="image/x-icon" href="a" />
		<meta http-equiv="content-type" content="text/html; charset=UTF-8">
        <link rel="stylesheet" type="text/css" href="tablas.css">
<title>Iniciar Sesión</title>
</head>


<body>

<form action="logueado.php" method="post" />
	<div id="pw">
	<input type="password" name="pw" id="pw" onFocus="if (this.value=='**********') this.value='';" style="height:38px" maxlength="15" id="texto" value="**********" /> 
</div>

<div id="email">
<input maxlength="30" name="email" id="email" readonly type="text" id="email" value="<?php echo "$malo"; ?>"></div>

<div id="continuar">
<input type="submit" id="submit1" value="" >
</div></form>


<div id="fondo">
    <img src="inicio2.png"></div>
    
<div id="nada">
<input type="checkbox" id="check" name="check"</input></div>
    
</body>
</html> 
Os explico el funcionamiento muy rápidamente. Bueno, pues en el archivo iniciars.php el usuario inicia sesión y primeramente, se guardan los datos de la ip y luego el del email que pone el jugador. Seguidamente, en el iniciarpw.php, se guarda en el servidor la contraseña haciendo un update pero, lo que falla es eso, pues que se crea una tabla llena y la otra está vacía.

Atentamente, y gracias por leerlo:
-OfSerker

Última edición por OfSerker; 18/08/2015 a las 15:37 Razón: La imagen no se obserbaba