Hola! Voy al grano ^^. Me da el siguiente error al intentar conectarme a mi base de datos:
Warning: oci_connect(): ORA-12154: TNS:could not resolve the connect identifier specified in C:\xampp\htdocs\Trabajo2.0\checklogin.php on line 21
Fatal error: Call to a member function query() on a non-object in C:\xampp\htdocs\Trabajo2.0\checklogin.php on line 31
El código es el siguiente, les marco las lineas 21 y 31:
Código PHP:
Ver original<!doctype html>
<html lang="es">
<head>
<TITLE>AAVV HUERTO PIQUIQUI</TITLE>
<link href="estilo.css" rel="stylesheet" type="text/css"/>
<meta charset=UTF-8" />
<?php
$dni= $_GET["dni"];
$contrasena = $_GET["pass"];
$_SESSION['fallo']=false;
$dni=Logueo($dni,$contrasena);
function CrearConexionBD(){
$host="oci:dbname=localhost/XE";
$usuario="SYS";
$password="SYS";
$conexion=null;
(Linea 21) $conexion=oci_connect($usuario,$password,$host);
return $conexion;
}
function CerrarConexionBD($conexion){
$conexion=null;
}
function Logueo($dni,$contrasena){
$conexion=CrearConexionBD();
(Linea 31) $stmt = $conexion -> query("SELECT * FROM A_SOCIO WHERE DNI='$dni' AND PASS='$contrasena'");
$cont=0;
foreach ($stmt as $user) {
$cont++;
}
if($cont==1){
$_SESSION["logueado"] = $email;
}else{
$_SESSION["fallo"] = true;
}
CerrarConexionBD($conexion);
return $dni;
}
?>
</head>
<body>
<div id="pagina">
<div class="cuadro">
<div class="titulo">
</div>
</div>
<div class="separador"></div>
<div class="cuadro">
<?php
if(isset($_SESSION['logueado'])) { echo '<p>Hola se ha logueado correctamente. Pulse <a href="index.php"<p>aquí</a> para volver al inicio.</p>';
}
if($_SESSION["fallo"] == true){
echo '<p>Tu usuario o contraseña no son correctos. Pulse <a href="mi-cuenta.php"<p>aquí</a> para volver a intentar loguearte.</p>';
}
?>
</div>
</div>
</body>
</html>
Me surge la duda de si no hay que poner el workspace en el que está la base de datos. Bueno cabe decir que instalé xamp, y que uso Oracle Database 11g y Apache. Gracias!