edie8
Usuario (España)

Hola soy nuevo en esto y como no podia comentar al post de misa2pac2 he decidido areglar los errores en este post nose como quedara el post ya que al ser nuevo no se insertar cuadros para el php. Crear un sistema de comentarios PHP Vamos a crear un sistema para permitir a nuestros usuarios comentar en nuestro sitio, partiremos del hecho de que tenemos algun sistema de noticias o bien que hemos creado algun CMS para nuestro sitio. Si aun no tienes un sistema de noticias en el post PHP desde 0 se explica claramente como crear un pequeño CMS para tu sitio. Ahora, es importante que identifiquemos que deseamos hacer. Vamos a mostrar los comentarios en cada entrada, ahora lo mas importante es considerar que x o y comentario pertenecera a x o y entrada entonces. A la hora de crear nuestra tabla MySQL vamos a incluir un campo que indique la entrada a la que pertenece el comentario. Ademas, crearemos un modulo en nuestro panel de administracion para administrar los comentarios en cada entrada. para permitir al administrador borrar o moderar los comentarios. Entonces, vamos a crear una nueva tabla en nuestra base de datos, Dicha tabla va a contener los siguientes datos: CREATE TABLE `tusitio`.`comentarios` ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , `idnoticia` INT NOT NULL , `nombre` TEXT NOT NULL , `comentario` TEXT NOT NULL ) ENGINE = MYISAM ; Esta tabla contiene 4 campos, uno para el id del comentario, uno para el id de la noticia, para el autor del comentario y para el comentario en si. Ahora, vamos a crear un archivo de conexion al que llamaremos conect.php (es probable que algunos ya lo tengan y no haga falta volverlo a escribir). En el basicamente, vamos a conectarnos con nuestro servidor MySQL y a seleccionar nuestra base de datos: <?php //conexion con la base de datos $conexion = mysql_connect("localhost","root","" or die("Problema de conexion"; //seleccion de la tabla mysql_select_db("tusitioya",$conexion) or die ("No se pudo conectar con la tabla"; ?> Una vez que hemos creado la tabla, y hemos creado nuestro archivo de conexion, vamos a crear el archivo que ingresa los datos a la tabla, este sera basicamente un formulario muy sencillo con un campo de texto para el nombre del usuario, y uno para el comentario. Ademas agregaremos un campo oculto que almacene el id de la noticia y un submit, para enviar el comentario. A este archivo le llamaremos coment.php <form action="index.php" method="post"> Nombre: <br/> <input type="text" name="nombre"/> <br/> Comentarios: <br/> <textarea name="comentario"></textarea> <br/> <br/> <input type="hidden" name="idnoticia" value="<?php echo $_GET['op']?>"/> <input type="submit" value="Enviar"/> </form> Por el momento, es HTML basico y algo de PHP unicamente para obtener el valor de la noticia almacenada en una variable que pasa por URL llamada "op" Ahora, vamos a escribir el programa que procesara los datos, si estos existen para eso vamos a utlizar la funcion isset, if (isset($_REQUEST['nombre']) && isset($_REQUEST['comentario'])) { Y si la condicion es verdadera, entonces vamos a insertar los valores de nuestro formulario en nuestra base de datos, de modo que nuestro script quedaria mas o menos asi: if (isset($_REQUEST['nombre']) && isset($_REQUEST['comentario'])) { include("conect.php"; mysql_query("INSERT into comentarios(idnoticia,nombre,comentario) values('$_REQUEST','$_REQUEST','$_REQUEST')",$conexion) or die(mysql_error()); header("location:index.php?op=$_GET"; } Ya ubicado en nuestro archivo coment.php queda mas o menos asi: <?php if (isset($_REQUEST['nombre']) && isset($_REQUEST['comentario'])) { include("conect.php"; mysql_query("INSERT into comentarios(idnoticia,nombre,comentario) values('$_REQUEST','$_REQUEST','$_REQU EST')",$conexion) or die(mysql_error()); header("location:index.php?op=$_GET"; } ?> <form action="coment.php?op=<?php echo $_GET['op']?>" method="post"> Nombre: <br/> <input type="text" name="nombre"/> <br/> Comentarios: <br/> <textarea name="comentario"></textarea> <br/> <br/> <input type="hidden" name="idnoticia" value="<?php echo $_GET['op']?>"/> <input type="submit" value="Enviar"/> </form> Vale, aunque ahorita podrian probarlo.. estos comentarios se ingresarian y no habria un valor para la variable op, por lo que a la hora de procesar el formulario habria un error, pero eso lo veremos mas adelante, ahora vamos a crear un archivo que lea los comentarios acorde al articulo seleccionado. En este archivo, en principio vamos a procesar los datos UNICAMENTE si existe la variable op, que sera el identificador de la noticia en cuestion, de modo que nuestro script seria: <?php if (isset($_GET['op'])) { include("conect.php"; $resp = mysql_query("SELECT nombre,comentario FROM comentarios WHERE idnoticia=$_GET",$conexion); while($ext=mysql_fetch_array($resp)) { echo $ext['nombre']; echo "<br/>"; echo "<br/>"; echo $ext['comentario']; } } ?> Basicamente, estamos mostrando todos los resultados para nombre y comentario donde el idnoticia sea igual al id pasado por URL ´op´ Asi pues, si incluimos estos dos archivos en el archivo que muestra los articulos de esta forma: <?php $opcion = $_GET["op"]; if (isset($opcion)) { include ("conect.php"; $respuesta = mysql_query("SELECT arto FROM articulos WHERE id = $opcion",$conexion); while ($existe = mysql_fetch_array($respuesta)) { echo $existe['arto']; } echo "<br/>"; echo "<br/>"; include("leercoment.php"; echo "<br/>"; echo "<br/>"; include ("coment.php"; } else { echo "<p>Este es un parrafo de ejemplo. Y este sitio ha sido creado siguiendo el curso tu Crea tu web desde 0 de misa2pac2</p> <p align='center'><img src='recursos/objetos/equipo.jpg' width='331' height='225' /></p>"; } ?> Ahora, en nuestro index.php veremos algo como esto: Aunque algo tosco, el darle un poco de estilo queda en manos de cada uno, ahora, aunque el sistema de comentarios ha quedado muy prolijo, aun nos hace falta hacer un par de cosas, en primer lugar deseamos mejorar la seguridad del sistema pues asi como esta cualquiera puede ingresar HTML, PHP o cualquier otro script que podria ser malicioso, ademas debemos contar con un area de administracion para eliminar y modificar comentarios En principio vamos a parsear todo el texto que entre a travez de nuestras areas de texto, esto lo haremos con una funcion, y vamos a incluirla en nuestro archivo coment.php function parsearhtml($texto) { return nl2br( htmlentities($texto, ENT_QUOTES) ); } Con esta funcion, pasamos todas las etiquetas HTML a texto plano, y traducimos cualquier comilla de esta forma evitamos cualquier clase de defase o XSS en nuestro sitio, aunque sean solo comentarios podria representar algun problema en un futuro. Una vez aplicada la seguridad a nuestro script, quedaria mas o menos asi: <?php function parsearhtml($texto) { return nl2br( htmlentities($texto, ENT_QUOTES) ); } $comentario = parsearhtml($_REQUEST['comentario']); $nombre = parsearhtml($_REQUEST['nombre']); if (isset($_REQUEST['nombre']) && isset($_REQUEST['comentario'])) { include("conect.php"; mysql_query("INSERT into comentarios(idnoticia,nombre,comentario) values('$_REQUEST','$nombre','$comentario')",$conexion) or die(mysql_error()); header("location:index.php?op=$_GET"; } ?> <form action="coment.php?op=<?php echo $_GET['op']?>" method="post"> Nombre: <br/> <input type="text" name="nombre"/> <br/> Comentarios: <br/> <textarea name="comentario"></textarea> <br/> <br/> <input type="hidden" name="idnoticia" value="<?php echo $_GET['op']?>"/> <input type="submit" value="Enviar"/> </form> Ahora, solo nos hace falta agregar un area de administracion a nuestro script, dado que partimos del hecho de que tenemos un CMS propio o hemos creado uno a partir del curso PHP para todos vamos a suponer a suponer que el sistema de login ya ha sido implementado. Y unicamente voy a mostrar el script que corresponderia al listado de los comentarios en cada uno de los articulos para el area de administracion <?php include("llave.php" ?> <table border="0" cellspacing="4"> <?php include ("../conect.php"; if (isset($_GET['del'])) { mysql_query("DELETE from comentarios WHERE id=$_GET",$conexion); } $ids = mysql_query("SELECT id,nombre,comentario FROM comentarios",$conexion); while ($ide = mysql_fetch_array($ids)) { echo "<tr>"; echo "<td>".$ide['id']."</td>"; echo "<td>".$ide['nombre']."</td>"; echo "<td>".$ide['comentario']."</td>"; echo "<td>"."<a href='editcomment.php?del=$ide'>Eliminar</a>"."</td>"; echo "</tr>"; } ?> </table> Y con esto finalmente hemos creado nuestro sistema de comentarios. ESTE ERA SU ERROR include("conect.php"; el punto y coma solo se pone fuera de los parentesis ya que indican que se a terminado esa regla, para preguntas comenten en este posts: http://www.taringa.net/posts/info/11669037/_Megapost_Crear-un-sistema-de-comentarios-PHP.html ya que al no ser mio no sabria muy bien responder. Claro que el sistema puede mejorarse mucho, Por ejemplo podemos agregar un editor de texto enriquecido Pero esto es con caracter educativo. A la espera de sus comentarios e inquietudes. Un saludo Dejarme puntos para no ser novato xfavor.
Hola en este post os enseñare como crear un registro de usuarios con validación de campos y activación por mail. Lo primero y más impotantente es crear la base de datos, vamos a utilizar 2 tablas una para usuarios que se han registrado pero no han activado la cuenta aki los codigos: (una de las tablas es usuarios"los activados" y la otra user_temp ya que si no activan no podran entrar) "create table usuarios ( id_usuario smallint(8) NOT NULL auto_increment, usuario varchar(50) NOT NULL, password varchar(50) NOT NULL, email varchar(50) NOT NULL, nombre varchar(50) NOT NULL, fecAlta Date NOT NULL, avatar varchar(255) not null, PRIMARY KEY (id_usuario), UNIQUE KEY (usuario, email) );"; imagino que sabeis lo que significa todo el codigo si no pregunta por comentarios, os voy a dejar un blog en un comentario hay estara el post completo pero si no puntuais es obvio q no os gusta y no dejare el post ni hare la segunda parte. ahora la tabla: "create table users_temp ( id_usersTemp smallint(8) not null auto_increment, nombre varchar(40) not null, usersTemp varchar(50) not null, password varchar(50) not null, email varchar(50) not null, fecAlta date not null, txt_Activ varchar(20) not null, PRIMARY KEY (id_usersTemp), UNIQUE (usersTemp) );"; Para no alargar mas este tutorial y no liarlo todo dejo hecho aqui hasta el formulario de registro que tendra el siguiente codigo: PHP: <?php //include('mail.php'); include('funciones.php'); //Comprobacion de datos //variables valores por defecto $name = ""; $nameValue = ""; $username = ""; $usernameValue = ""; $password1 = ""; $password2 = ""; $passwordValue = ""; $email1 = ""; $emailValue = ""; $existusername = ""; $existEmail = ""; $existeU = 0; $existeE = 0; //Validacion de datos enviados if(isset($_POST['send'])){ if(!validateName($_POST['name'])) $name = "error"; if(!validateUsername($_POST['username'])) $username = "error"; if(!validateExistUsername($_POST['username'])) $existusername = "error"; if(!validatePassword1($_POST['password1'])) $password1 = "error"; if(!validatePassword2($_POST['password1'], $_POST['password2'])) $password2 = "error"; if(!validateEmail($_POST['email'])) $email1 = "error"; if(!validateExistMail($_POST['email'])) $existEmail = "error"; //Guardamos valores para que no tenga que reescribirlos $nameValue = $_POST['name']; $usernameValue = $_POST['username']; $emailValue = $_POST['email']; $passwordValue = $_POST['password2']; //Comprobamos si todo ha ido bien if($name != "error" && $username != "error" && $password1 != "error" && $password2 != "error" && $email1 != "error"{ if($existusername == "error"{ $existeU = 1; } if($existEmail == "error"{ $existeE = 1; } if (!$existeU && !$existeE){ $status = 1; } } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="es-ES"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Registro de usuarios</title> <link rel="stylesheet" href="main.css" type="text/css" media="screen" /> </head> <body> <div class="wrapper"> <div class="section"> <?php if(!isset($status)): ?> <h1>Formulario de Registro</h1> <form id="form1" action="formulario.php" method="post"> <label for="name">Nombre <?php if ($name == "error": echo "<span style=color:red>"; else: echo "<span style=color:green>"; endif; ?>A-z, mínimo 5 caracteres</span></label> <input tabindex="1" name="name" id="name" type="text" class="text <?php echo $name ?>" value="<?php echo $nameValue ?>" /> <label for="username">Nombre de usuario <?php if ($username == "error" || $existusername == "error": if ($existusername == "error": echo "<span style=color:red>El usuario " . $usernameValue . " ya existe"; else: echo "<span style=color:red>Caracteres de A-z, mínimo 5 caracteres (No números)"; endif; else: echo "<span style=color:green>Caracteres de A-z, mínimo 5 caracteres (No números)</span>"; endif; ?> </label> <input tabindex="2" name="username" id="username" type="text" class="text <?php if ($existeU == 1): echo $existusername; else: echo $username; endif;?>" value="<?php echo $usernameValue;?>" /> <label for="password1">Contraseña <?php if ($password1 == "error": echo "<span style=color:red>"; else: echo "<span style=color:green>"; endif; ?>Mínimo 5 caracteres, máximo 12 caracteres, letras y números</span></label> <input tabindex="3" name="password1" id="password1" type="password" class="text <?php echo $password1 ?>" value="" /> <label for="password2">Repetir Contraseña <?php if ($password2 == "error": echo "<span style=color:red>"; else: echo "<span style=color:green>"; endif; ?>Debe ser igual a la anterior</span></label> <input tabindex="4" name="password2" id="password2" type="password" class="text <?php echo $password2 ?>" value="" /> <label for="email">Email <span> <?php if ($email1 == "error" || $existEmail == "error": if ($existEmail == "error": echo "<span style=color:red>El email " . $emailValue . " ya existe"; else: echo "<span style=color:red>Escribe un email válido por favor"; endif; else: echo "<span style=color:green>Escribe un email válido por favor</span>"; endif; ?> </label> <input tabindex="5" name="email" id="email" type="text" class="text <?php echo $email1 ?>" value="<?php echo $emailValue ?>" /> <div> <input tabindex="6" name="send" id="send" type="submit" class="submit" value="Enviar formulario" /> </div> </form> <?php else: ?> <?php if(insertarReg($nameValue, $usernameValue, $passwordValue, $emailValue))> <h1>Registro introducido correctamente en la base de datos</h1> <div class="respuesta_insert"> <p>Gracias por registrarte.</p> <p>Te hemos mandado un mail a <span style="color:green"><?php echo $emailValue; ?></span> para que confirmes el alta. Si no lo recibes comprueba la bandeja de correo no deseado</p> <p>Gracias!</p> <br><br> <p>Administrador</p> <!-- <p>La clave que se enviará por URL es --> <?php //echo $url; ?> </p> </div> <?php mailActivacion($emailValue, $username, $url); ?> <!-- <div style="font-color: red"> <ul> <li>Name: <?php $nameValue; ?></li> <li>Username: <?php $usernameValue; ?></li> <li>Password: <?php $passwordValue; ?></li> <li>Email: <?php $emailValue; ?></li> </ul> --> <?php else: ?> <?php if ($respuesta == 1) ?> <h1 style="font-color: red">No se ha podido insertar el registro en nuestra base de datos</h1> <!--<h1>¡Formulario enviado con éxito!</h1>--> <?php endif; ?> <?php endif; ?> </div> </div> </body> </html> Como se que es un poco lioso si os gusta y puntuais, pedir los archivos y yo os dejo un link de todas formas si veo que os gusta mi tutorial tendre un blog con todo los archivos si teneis dudas preguntar, si falla algo decirmelo aunque yo lo estoy usando y va perfecto. Saludos.
Esta es la segunda parte del tutorial del registro de user: Como veis en el formulario llama al archivo funciones pues este es dixo archivo: <?php function mailActivacion($dir_correo, $usuario, $enlace){ $dominio = "http://localhost/"; $destinatario = $dir_correo; $asunto = "Activar Usuario"; $cuerpo = ' <html> <head> <title>Activar usuario</title> </head> <body> <h1>Hola'; $cuerpo .= $usuario; $cuerpo .= '<p><b>Gracias por registrarte en COLORATE</b>.</p> <p>Para completar el registro tienes que confirmar que has recibido el e-mail en el siguiente enlace:</p> <p style=text-align:center><a href='; $cuerpo .= $dominio . $enlace; $cuerpo .= " target=_blank>Activa tu usuario</a></p></body></html>"; //para el envío en formato HTML $headers = "MIME-Version: 1.0rn"; $headers .= "Content-type: text/html; charset=iso-8859-1rn"; //dirección del remitente $headers .= "From: Admin <[email protected]>rn"; //dirección de respuesta, si queremos que sea distinta que la del remitente $headers .= "Reply-To: aki tu [email protected]"; //ruta del mensaje desde origen a destino //$headers .= "Return-path: [email protected]"; //direcciones que recibián copia //$headers .= "Cc: [email protected]"; //direcciones que recibirán copia oculta //$headers .= "Bcc: [email protected],[email protected]"; //En localhost el envío de e-mail a veces no funciona, hay que configurar algunas cosas. mail($destinatario,$asunto,$cuerpo,$headers); } function generar_txtAct($longitud,$especiales){ // Array con los valores a escojer $semilla = array(); $semilla[] = array('a','e','i','o','u'); $semilla[] = array('b','c','d','f','g','h','j','k','l','m','n','p','q','r','s','t','v','w','x','y','z'); $semilla[] = array('0','1','2','3','4','5','6','7','8','9'); $semilla[] = array('A','E','I','O','U'); $semilla[] = array('B','C','D','F','G','H','J','K','L','M','N','P','Q','R','S','T','V','W','X','Y','Z'); $semilla[] = array('0','1','2','3','4','5','6','7','8','9'); // si puede contener caracteres especiales, aumentamos el array $semilla if ($especiales) { $semilla[] = array('$','#','%','&','@','-','?','¿','!','¡','+','-','*'); } // creamos la clave con la longitud indicada for ($bucle=0; $bucle < $longitud; $bucle++) { // seleccionamos un subarray al azar $valor = mt_rand(0, count($semilla)-1); // selecccionamos una posicion al azar dentro del subarray $posicion = mt_rand(0,count($semilla[$valor])-1); // cojemos el caracter y lo agregamos a la clave $clave .= $semilla[$valor][$posicion]; } // devolvemos la clave return $clave; } //FUNCION PARA INSERTAR EL REGISTRO EN LA TABLA users_temp function insertarReg($name_, $username_, $password1_, $email_){ //Declaramos esta variable global, para poder usarla en toda la aplicación global $url; //LLamar a la función para generar el texto aleatorio para Activar Usuario. //Le pasamos como parámetro los caracteres que queremos generar y si los queremos especiales o no $clave = generar_txtAct(20,false); //Montamos la estructura del enlace con la clave. $url = "activar.php?id=" . $clave; /*Teneis que declarar las variables $servidor, $usuario,$password y $sdb (base de datos). En mi caso para Localhost tengo lo siguiente:*/ $servidor = "localhost"; $usuario = "root"; $password = ""; $sdb = "prueba1"; $ilink3=mysql_connect($servidor,$usuario,$password) or die(mysql_error()); mysql_select_db($sdb,$ilink3); $inserta= "insert into users_temp (nombre,usersTemp,password,email,fecAlta,txt_Activ) values ('$name_','$username_','$password1_','$email_',CURDATE(),'$clave')"; $resultado3=mysql_query($inserta,$ilink3) or die (mysql_error()); if (!$resultado3) return false; else return true; } /*function validateName($name){ //NO cumple longitud minima if(strlen($name) < 5) return false; //SI longitud pero NO solo caracteres A-z else if(!preg_match("/^[a-zA-Z]+$/", $name)) return false; // SI longitud, SI caracteres A-z else return true; }*/ function validateName($name){ $permitidos = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_"; $caracter1KO = 0; if(strlen($name) < 5): return false; else: for ($i=0; $i<strlen($name); $i++){ if (strpos($permitidos, substr($name,$i,1))===false){ $caracter1KO = 1; } } endif; if ($caracter1KO == 1 || strlen($name) <= 4): return false; else: return true; endif; } function validateUsername($username){ $permitidos = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_"; $caracterKO = 0; if(strlen($username) < 5): return false; else: for ($i=0; $i<strlen($username); $i++){ if (strpos($permitidos, substr($username,$i,1))===false){ $caracterKO = 1; } } endif; if ($caracterKO == 1 || strlen($username) <= 4): return false; else: return true; endif; } function validateExistUsername($username){ /*Teneis que declarar las variables $servidor, $usuario,$password y $sdb (base de datos). En mi caso para Localhost tengo lo siguiente:*/ $servidor = "localhost"; $usuario = "root"; $password = ""; $sdb = "prueba1"; $ilink=mysql_connect($servidor,$usuario,$password) or die(mysql_error()); mysql_select_db($sdb,$ilink); $consulta= "select usersTemp from users_temp where usersTemp = '$username'"; $resultado=mysql_query($consulta,$ilink) or die (mysql_error()); if (mysql_num_rows($resultado)>0) return false; else return true; } function validatePassword1($password1){ //NO tiene minimo de 5 caracteres o mas de 12 caracteres if(strlen($password1) < 5 || strlen($password1) > 12) return false; // SI longitud, NO VALIDO numeros y letras else if(!preg_match("/^[0-9a-zA-Z]+$/", $password1)) return false; // SI rellenado, SI email valido else return true; } function validatePassword2($password1, $password2){ //NO coinciden if($password1 != $password2) return false; else return true; } function validateEmail($email){ if ((strlen($email) >= 6) && (substr_count($email,"@" == 1) && (substr($email,0,1) != "@" && (substr($email,strlen($email)-1,1) != "@"){ if ((!strstr($email,"'") && (!strstr($email,""") && (!strstr($email,"\") && (!strstr($email,"$") && (!strstr($email," ")) { //miro si tiene caracter . if (substr_count($email,".">= 1){ //obtengo la terminacion del dominio $term_dom = substr(strrchr ($email, '.'),1); //compruebo que la terminación del dominio sea correcta if (strlen($term_dom)>1 && strlen($term_dom)<5 && (!strstr($term_dom,"@") ){ //compruebo que lo de antes del dominio sea correcto $antes_dom = substr($email,0,strlen($email) - strlen($term_dom) - 1); $caracter_ult = substr($antes_dom,strlen($antes_dom)-1,1); if ($caracter_ult != "@" && $caracter_ult != "."{ $mail_correcto = 1; } } } } } if ($mail_correcto) return true; else return false; } function validateExistMail($mail){ /*Teneis que declarar las variables $servidor, $usuario,$password y $sdb (base de datos). En mi caso para Localhost tengo lo siguiente:*/ $servidor = "localhost"; $usuario = "root"; $password = ""; $sdb = "prueba1"; $ilink2=mysql_connect($servidor,$usuario,$password) or die(mysql_error()); mysql_select_db($sdb,$ilink2); $consulta2= "select id_usersTemp from users_temp where email = '$mail'"; $resultado2=mysql_query($consulta2,$ilink2) or die (mysql_error()); if (mysql_num_rows($resultado2)>0) return false; else return true; } ?> Este es el archivo conectar.php <?php $conn; function conectar(){ global $conn; $conn = mysql_connect("localhost","root","" or die (mysql_error()); mysql_select_db("PRUEBA1",$conn) or die (mysql_error()); } function desconectar() { mysql_close($conn); } ?> Esto es muy importante teneis que crear el archivo activar_mail.php este archivo estara vacio ya que con una funcio que tenemos le hacemos funcionar solo creenlo vacio y listo. Y por ultimo y no por ello menos importante el activar.php <?php $conn; function conectar(){ global $conn; $conn = mysql_connect("localhost","root","" or die (mysql_error()); mysql_select_db("PRUEBA1",$conn) or die (mysql_error()); } function desconectar() { mysql_close($conn); } ?> Si necesitais que os explique algo dejar comentarios, y si no os funciona algo os exo un cable. POR FAVOR DEJAR PUNTOS