Bueno, así es la forma correcta del script completo. No te acostumbres a usar @ delante de las funciones; eso sirve para no escupir los errores en pantalla, y a veces, te puede estar fallando algo, y no saber qué, puesto que no lo muestra. Te faltaba seleccionar la base de datos; ponle el nombre correcto en la línea oportuna:
Código PHP:
<?php
function comprobarCaracteres() {
$resultado = true;
for($i = 0; $i < strlen($_POST['nombre']); $i++) {
if (($_POST['nombre'][$i] == "'") || ($_POST['nombre'][$i] == "*")) {
$resultado = false;
}
}
return $resultado;
}
if (comprobarCaracteres()) {
$conexion = mysql_connect("localhost", "admin", "password") or die ("no se ha podido conectar a la base de datos");
mysql_select_db("basedatos", $conexion);
$consulta = "SELECT passwd FROM cuentas WHERE login = '$_POST[Nombre]'";
$resultado = mysql_query($consulta, $conexion);
$fila = mysql_fetch_array($resultado);
if (count($fila) > 0) {
echo $fila['passwd'];
} else {
echo "No existe el mail introducido";
}
} else {
echo "Se introdujeron caracteres no autorizados en el mail, pruebe de nuevo, Gracias...";
}
?>