Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/09/2008, 15:21
jorgegetafe
 
Fecha de Ingreso: febrero-2008
Ubicación: Madrid
Mensajes: 474
Antigüedad: 16 años, 3 meses
Puntos: 1
Exclamación Ayuda con código

Hola a todos, os pido ayuda porque estoy desesperado, muchas gracias de antemano.

Tengo una pequeña base de datos, para comprobar que solo los usuarios registrados tengan acceso a una página, mediante un formulario pido email y contraseña, mi problema está en que la consulta que cuenta si hay algun registro con dicho correo y contraseña, siempre me sale cero, cosa que no debería porque he metido los datos a pelo en la base de datos. La conexión con la BBDD y la tabla se hace correctamente. Os dejo todo para me que me echeis un vistazo:


FORMULARIO

<?php
$servidor="*";
$usuario="*";
$password="*";
$basedatos="*";

$conexion=mysql_connect($servidor,$usuario,$passwo rd)
or die("No se puede realizar la conexión al servidor");
mysql_select_db($basedatos)
or die("No se puede abrir la base de datos");

echo "<center>";
echo "<br><br>";
echo "<font color=\"#428DD9\" size=\"50\"><b>Zona de usuarios registrados</b></font><p>";
echo "<br><br><br>";
echo "<img src=\"./candado.jpg\">";
echo "<center><font color=\"#428DD9\">";
echo "<FORM ACTION=\"./consulta.php\" target=\"_parent\" METHOD=\"POST\">";

echo "<br>";
echo "Usuario:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& nbsp;&nbsp;";

echo "<input type=\"text\" name=\"email\" size=12><br>";

echo "Contraseña:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";

echo "<input type=\"password\" name=\"password\" size=12><br>";

echo "<br>";

echo "<input type=\"submit\" value=\"Entrar\">";

echo "</FORM>";

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

CONSULTA SI EXISTE DICHO REGISTRO

<?php
$servidor="*";
$usuario="*";
$password="*";
$basedatos="*";

$conexion=mysql_connect($servidor,$usuario,$passwo rd)
or die("No se puede realizar la conexión al servidor");
mysql_select_db($basedatos)
or die("No se puede abrir la base de datos");

$consulta1="select count(*) from contactos where correo= \"".$_POST['email']."\" and contrasenia = \"".$_POST['password']."\"";
$resultado1=mysql_query($consulta1);
$fila=mysql_fetch_array($resultado1);
if($fila[0]>0){
include ("todosLosProductos.html");
exit();
}
if($fila[0]<1){
include ("index.php");
echo "<font color=\"#FF0000\" size=\"5\"><b>¡Nombre de usuario o contraseña incorrecta!</b></font><p>";
exit();
}
?>

BASE DE DATOS

-- phpMyAdmin SQL Dump
-- version 2.7.0-pl1
-- http://www.phpmyadmin.net
--
-- Servidor: 10.0.5.164
-- Tiempo de generación: 03-09-2008 a las 22:12:43
-- Versión del servidor: 4.99.99
-- Versión de PHP: 4.4.1
--
-- Base de datos: `*`
--
DROP DATABASE `*`;
CREATE DATABASE `*` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
USE *;

-- Estructura de tabla para la tabla `contactos`
--

CREATE TABLE `contactos` (
`nombre` varchar(200) default NULL,
`apellidos` varchar(200) default NULL,
`correo` varchar(200) NOT NULL default '',
`contrasenia` varchar(200) default NULL,
`pais` varchar(200) default NULL,
`fechanacimiento` varchar(200) default NULL,
`sexo` varchar(200) default NULL,
`telefono` varchar(200) default NULL,
`nombreempresa` varchar(200) default NULL,
`correoempresa` varchar(200) default NULL,
`direccionempresa` varchar(200) default NULL,
`telefonoempresa` varchar(200) default NULL,
`sectorempresa` varchar(200) default NULL,
PRIMARY KEY (`correo`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

--
-- Volcar la base de datos para la tabla `contactos`
--

INSERT INTO `contactos` (`nombre`, `apellidos`, `correo`, `contrasenia`, `pais`, `fechanacimiento`, `sexo`, `telefono`, `nombreempresa`, `correoempresa`, `direccionempresa`, `telefonoempresa`, `sectorempresa`) VALUES ('Rebeca', '', '[email protected]', 'rebeca1975', 'España', '1975', 'Hombre', '626054951', 'Alhambra Comercio Exterior', '', '', '', ''),
('Jorge', 'Martín', '*@hotmail.com', 'izquierdo1203', 'España', '1985/04/10', 'Hombre', '*', '', '', '', '', '');


¿Esta consulta está bien? supongo que es donde esta el fallo...

$consulta1="select count(*) from contactos where correo= \"".$_POST['email']."\" and contrasenia = \"".$_POST['password']."\"";