Foros del Web » Programando para Internet » PHP »

No se conecta a la bbdd PHP

Estas en el tema de No se conecta a la bbdd PHP en el foro de PHP en Foros del Web. Hola buenas, tengo estos codigos, el de login.php es para pedir los datos, de este pasa al de operarUsuaris.php que en teoria se tendria que ...
  #1 (permalink)  
Antiguo 18/02/2014, 02:21
Avatar de muchuelu93  
Fecha de Ingreso: noviembre-2013
Mensajes: 35
Antigüedad: 11 años
Puntos: 2
Exclamación No se conecta a la bbdd PHP

Hola buenas, tengo estos codigos, el de login.php es para pedir los datos, de este pasa al de operarUsuaris.php que en teoria se tendria que conectar a la bbdd y si los datos constan en la tabla tendria que llebarme al fichero operarParkings.php. No se por que no me conecta, la bbdd esta en mysql, se llama Parkings, tiene la tabla que se llama Usuaris, y 2 columnas que se llaman usr_login y usr_pass

Gracias!!!

LOGIN.PHP

Código HTML:
<form name="login" method="post" action="operarUsuaris.php">
	<table width="284" height="185" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFCC">
		<tr>
	    		<th height="39" colspan="2" scope="col">LOGIN</th>
	  	</tr>
	  	<tr>
	    		<th width="108" height="49" scope="col">USUARIO</th>
	    		<th width="176" align="center" scope="col"><input name="usr_login" type="text" id="usr_login" /></th>
	  	</tr>
	  	<tr>
	    		<th height="51">PASSWORD</th>
	    		<td align="center"><input name="usr_pass" type="password" id="usr_pass" /></td>
	  	</tr>
	  	<tr>
	    		<td height="46" colspan="2" align="center"><input type="submit" name="Submit" value="Iniciar Sesion" /></td>
	  	</tr>
	</table>
</form> 
OPERAUSUARIS.PHP

Código HTML:
<?php 
//Conexion con la base de datos.
$conexion=@mysql_connect("localhost","root","123456");

if (!($conexion))
{
	echo 'No se puede realizar la conexion con la base de datos.';
}

//Seleccion de la base de datos.
mysql_select_db("Usuaris");

//declaramos como variables a los campos de texto del formulario.
$nombre=$_POST["usr_login"];
$password=$_POST["usr_pass"];

//Consulta del usuario y el password
$query="SELECT usr_login, usr_pass FROM Usuaris WHERE nombre='$usr_login' and password='$usr_pass' ";
$rs=mysql_query($query); 
$row=mysql_fetch_object($rs); 
$nr = mysql_num_rows($rs); 

//Si existe el usuario lo va a redireccionar a la pagina de Bienvenida.

if($nr == 1)
{ 
	header ("Location:operaParkings.php"); 
}

//Si no existe lo va a enviar al login otra vez.
else 
	if($nr <= 0) 
	{ 
  		header("Location:login.php"); 
	}   
?> 
OPERAPARKINGS.PHP

Código HTML:
<?php
  
// creem un objecte PDO que representa una connexió a una base de dades
$usuari='root';
$contrassenya='';
$db = new PDO('mysql:host=localhost;dbname=Parkings', $usuari, $contrassenya);
  
  
if(isset($_GET['codie']))     // Existirà la variable si em fet clic sobre un enllaç Esborrar
{                                        // al que li hem passat el paràmetre (utilitzant ?codie=valor) amb el valor de la clau del que volem esborrar
  
$sql = "delete from Parking where codi=:codi";
$ordre = $db->prepare($sql);
$ordre->bindParam(':codi',$_GET['codie']);
$ordre->execute();
  
}
  
if(isset($_POST['actualitzar'])) // Existirà la variable si em clicat al botó de submit del formulari d'actualitzar
{           
$sql = "Update Parking set cp=:cp,adreca=:adreca,preuMinut=:preuMinut where codi=:codi";
$ordre = $db->prepare($sql);
$ordre->bindParam(':codi',$_POST['codi']);
$ordre->bindParam(':cp',$_POST['cp']);
$ordre->bindParam(':adreca',$_POST['adreca']);
$ordre->bindParam(':preuMinut',$_POST['preuMinut']);
$ordre->execute();
  
}
  
if(isset($_POST['afegir']))   // Existirà la variable si em clicat al botó de submit del formulari d'alta
{

// versio 3: lligam de paràmetres a través del mètode bindParam
  
$sql = "insert into Parking(cp,adreca,preuMinut) values (:cp,:adreca,:preuMinut)";
$ordre = $db->prepare($sql);
$ordre->bindParam(':cp',$_POST['cp']);
$ordre->bindParam(':adreca',$_POST['adreca']);
$ordre->bindParam(':preuMinut',$_POST['preuMinut']);
$ordre->execute();
  
}
  
// Generació d'una taula amb tots els pàrkings i amb les operacions a realitzar per cada registre
  
$consulta = $db->prepare("select codi,cp,adreca,preuMinut from Parking");
$consulta->execute();
$llistaP= $consulta->fetchAll();
echo "<table border=1>";
echo "<tr><td>Codi</td><td>cp</td><td>Adreça</td><td>Preu minut</td><td>Operacio</td></tr>";
foreach($llistaP as $p)
{
echo "<tr>";
echo "<td>".$p['codi']."</td><td>".$p['cp']."</td><td>".$p['adreca']."</td><td>".$p['preuMinut'].
"</td>";
echo "<td><a href='".$_SERVER['PHP_SELF']."?codie=".$p['codi']."'> Esborrar </a>";
echo "<a href='".$_SERVER['PHP_SELF']."?codia=".$p['codi']."'> Actualitzar </a>";
echo "<a href='operarPlaca.php'>Placa</a></td>";
echo "</tr>";
}
echo "</table>";
  
// S'ha clicat sobre l'enllaç d'actualitzar un registre
  
if(isset($_GET['codia'])) // Existirà la variable si em clickat sobre un enllaç d'actualitzar,
{                                      // al que li hem passat el paràmetre (utilitzant ?codia=valor) amb el valor de la clau que volem modificar
  
  // Obtinc el registre que es vol modificar
  
$sql = "Select codi,cp,adreca,preuMinut from Parking where codi=:codi";
$ordre = $db->prepare($sql);
$ordre->bindParam(':codi',$_GET['codia']);
$ordre->execute();
$p = $ordre->fetch();
  
// i el mostro en un formulari per a que es puguin canviar els seus valors
  
  
echo '<form method="POST" action='.$_SERVER['PHP_SELF'].' >';
  
echo ' <input type="hidden" name="codi" value="'.$p['codi'].'"><br>';
echo 'cp: <input type="text" name="cp" value="'.$p['cp'].'"><br>';
echo 'Adreça: <input type="text" name="adreca" value="'.$p['adreca'].'"><br>';
echo 'Preu Minut: <input type="text" name="preuMinut" value="'.$p['preuMinut'].'"><br>';
echo '<input type="submit" class="btn-info" name="actualitzar" value="actualitzar">';   // El nom del botó ens servirà per saber si l'usuari ha clicat al mateix
echo '</form> ';
  
}
else
{  
  
// Formulari per introduir les dades d'un nou parking
  
echo '<form method="POST" action'.$_SERVER['PHP_SELF'].' >';
echo 'cp: <input type="text" name="cp"><br>';
echo 'Adreça: <input type="text" name="adreca"><br>';
echo 'Preu Minut: <input type="text" name="preuMinut"><br>';
echo '<input type="submit" class="btn-info" name="afegir" value="Afegir">';     // El nom del botó ens servirà per saber si l'usuari ha clicat al mateix
echo '</form> ';
  
}
?>
  #2 (permalink)  
Antiguo 18/02/2014, 03:10
 
Fecha de Ingreso: febrero-2014
Mensajes: 28
Antigüedad: 10 años, 10 meses
Puntos: 1
Respuesta: No se conecta a la bbdd PHP

Hola!

yo te aconsejo que crees UN ÚNICO ARCHIVO DE CONEXIÓN, porque eso de declararlo en cada .php....

Código PHP:
<?
    $conexion
="";

    
//variables de acceso para la conexion a bbdd
    //conexion:
     
if (!defined('DB_USER')) 
     {
        
DEFINE ('DB_USER''xxxxx');
        
DEFINE ('DB_PASSWORD''xxxx');
        
DEFINE ('DB_HOST''xxxxx');
        
DEFINE ('DB_NAME''xxxxx');
     }
        
 
    try
    {
        
//conexion a la base de datos
        
$conexion mysql_connect (DB_HOSTDB_USERDB_PASSWORD);
        
mysql_select_db(DB_NAME$conexion);
        
mysql_query("SET NAMES 'utf8'");
        
//Esta función indica qué conjunto de caracteres se debe utilizar para las comunicaciones entre PHP y base de datos
        //mysqli_set_charset($conexion, 'utf8');
    
}
    catch(
Exception $e)
    {
        
$error="error de conexion";
    }



?>
a ese .php le llamas -> mysql.inc.php

cada vez que lo quieras usar haces el include y en la variable conexión ya tendrás la conexión:
en otro .php:

Código PHP:
include('mysql.inc.php');

//declaramos como variables a los campos de texto del formulario.
$nombre=$_POST["usr_login"];
$password=$_POST["usr_pass"];

//Consulta del usuario y el password
$query="SELECT usr_login, usr_pass FROM Usuaris WHERE nombre='".$usr_login."' and password='".$usr_pass."' ";
$result=mysql_query($query$conexion);
$filas mysql_num_rows($result);
$row mysql_fetch_array($result);

echo 
$row['usr_login']; //esto te pintará el nombre, es solo para mostrarte el funcionamiento, tu con los datos ya haces lo que necesites. 
Por otro lado seguro que pusiste password en la bbdd local?

Última edición por Zyrah; 18/02/2014 a las 03:18
  #3 (permalink)  
Antiguo 18/02/2014, 09:39
Avatar de muchuelu93  
Fecha de Ingreso: noviembre-2013
Mensajes: 35
Antigüedad: 11 años
Puntos: 2
Respuesta: No se conecta a la bbdd PHP

Hola! lo que passa es que mi profe lo quiere con un session... y no hemos utilizado nada de try y catch.... con lo cual no puedo usarlo :( no se que hacer por k no se como conectarlo...

Espero que podais ayudarme :(

Etiquetas: bbdd, conecta, formulario, mysql, select, sql, tabla, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:01.