Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: andres_5 en 27 Mayo 2010, 21:06 pm



Título: MYSQL error
Publicado por: andres_5 en 27 Mayo 2010, 21:06 pm
hola llevo en esto de php y Mysql unas semanas, quisiese preguntar un par de dudas.
Tengo que programar una pagina para el colegio, y no se como consultar a la base de datos(ejemplo mas simple y entendible). Me explico a ver si podeis ayudarme:
tengo una tabla "usuario" y dentro de esta esta
-nombre
-nick
-contraseña
-email
-...ect
como hago k cuando el usuario meta su nick, la base devuelva el email y la contraseña...
PD: la contraseña no esta cifrada...
el otros problemas es de php, como podria enviar datos de un formulario automaticamente, pongo el ejemplo:
Código:
<?php
$img = rand(1,7);
include "sesion.php";
$enter= $_POST['entrar'];
include "base.php";
 if ($HTTP_POST_VARS['salir']=='¡Salir!') {@session_destroy();}
if ($enter=='¡Entrar!') {
                          @session_start();
                          $query = "select * from `usuarios` where `log_nombre`='";
                          $query.= trim($_POST['usuario'])."';";

                          $result = mysql_query($query, $conexion);

                          if (mysql_num_rows($result)>0) {
                            $usuContraseña = mysql_result($result, 0, "contrasenya");
                          }
                          else {
                            $usuContraseña = "notuser";
                          }

                          if ($result and
                              ($usuContraseña==$_POST['password']) and
                              ($usuContraseña<>"notuser") ) {

                            @session_register(trim($_POST['usuario']));
////////////Aki es donde tengo k enviar el codigo para que le llegue automaticamente a index.php/////////////
                            echo '<p align="center">';
                            echo '<font style="font-family: Tahoma" size="4">';
                            echo 'Hola ';
                            echo trim($_POST['usuario']).'<br/>';
                            echo '</font>';
                            echo '<font style="font-family: Tahoma" size="2">';
                            echo 'Bienvenido a MITUBE <br><br><br>';
                            echo '<img src=img/'.$img.'.gif width= 100 border=2px >';
                            echo '</font>';
                            echo '</p>';
                            echo '<form method="post" name="Logout" action="">
                        <font style="font-family: Tahoma" size="1">
                            <p align="center">
                                <input onmouseover="this.style.cursor="pointer""
                                 type="submit" name="salir"
                                 value="¡Salir!";">
                            </p>
                        </font>
                      </form>';
}
                          else {
                            echo '<p align="center">';
                            echo '<font style="font-family: Tahoma" size="2">';
                            echo 'Usuario no `autentificado`';
                            echo '</font>';
                            echo '</p>';
                          }
                        }
                        else {
                      ?>
Saludos y aver si podeis ayudarme estoy muy harto de hacer la web :S; Gracias de antemano...


Título: Re: MYSQL error
Publicado por: Shell Root en 27 Mayo 2010, 22:11 pm
como hago k cuando el usuario meta su nick, la base devuelva el email y la contraseña...
Lo haces directamente desde la consulta SQL. Así
Código
  1. SELECT email, contraseña FROM usuarios WHERE(nick = $strNick);

Los otros problemas, deberías de especificarlos mejor, no entendí.

PD:Que fuck, no puedo poner contraseña, reemplazando la ñ por la n
Con Ñ: Contraseña | Con N:Contrasena


Título: Re: MYSQL error
Publicado por: andres_5 en 27 Mayo 2010, 22:38 pm
holaa, muchisimas gracias, pero ahora como meto el email y la contraseña en variables para poder operar con ellos?
saludos y muchas gracias
Edito:
Puse en Php
Código:
<?php
$query='SELECT * FROM `creandosites`.`usuarios` WHERE ( `log_nombre` LIKE '%cadi%' )';
mysql_query($query, $conexion)
?>


Título: Re: MYSQL error
Publicado por: Shell Root en 27 Mayo 2010, 22:59 pm
Lo voy a codear de memoria.
Código
  1.  
  2. $strResultado = mysql_query("SELECT email, contraseña FROM usuarios WHERE(nick = $strNick)", $strconexion);
  3.  
  4. if ($row = mysql_fetch_array($strResultado)){
  5.  echo "<table border = '1'>";
  6.  echo "<tr><td><b>E-Mail</b></td><td><b>Contraseña</b></td></tr> \n";
  7.  do {
  8.    echo "<tr><td>".$row["email"]."</td><td>".$row["contraseña"]."</td></tr> \n";
  9.  }
  10.  echo "</table>";
  11. }
  12.  


Título: Re: MYSQL error
Publicado por: andres_5 en 27 Mayo 2010, 23:19 pm
He modificado algunos terminos para compatibilizarlo con mi BD, quedando algo asi:
Código:
<?php
include "base.php";
$strNick= 'cadi';
$strResultado = mysql_query("SELECT email, contrasenya FROM usuarios WHERE(log_nombre = $strNick)", $conexion);
 
if ($row = mysql_fetch_array($strResultado)){
  echo "<table border = '1'>";
  echo "<tr><td><b>E-Mail</b></td><td><b>Contraseña</b></td></tr> \n";
  do {
    echo "<tr><td>".$row["email"]."</td><td>".$row["contraseña"]."</td></tr> \n";
  }
  echo "</table>";
}
 
?>
pero me sale error:

Parse error: syntax error, unexpected T_ECHO, expecting T_WHILE in C:\xampp\htdocs\MIWEB\oju1.php on line 30
Muchas gracias de nuevo


Título: Re: MYSQL error
Publicado por: Shell Root en 27 Mayo 2010, 23:41 pm
Cual es la linea 30?

Código
  1. <?php
  2. include ("base.php");
  3. $strNick= 'cadi';
  4. $strResultado = mysql_query("SELECT email, contrasenya FROM usuarios WHERE(log_nombre = '".$strNick."')", $conexion);
  5.  
  6. if ($row = mysql_fetch_array($strResultado)){
  7.  echo "<table border = '1'>";
  8.  echo "<tr><td><b>E-Mail</b></td><td><b>Contraseña</b></td></tr> \n";
  9.  do {
  10.    echo "<tr><td>".$row['email']."</td><td>".$row['contraseña']."</td></tr> \n";
  11.  }
  12.  echo "</table>";
  13. }
  14.  
  15. ?>


Título: Re: MYSQL error
Publicado por: andres_5 en 27 Mayo 2010, 23:50 pm
upps no te puse la linea:
en la linea 30 pone:
Código:
 echo "</table>";


Título: Re: MYSQL error
Publicado por: Shell Root en 28 Mayo 2010, 00:02 am
Por lo general el error esta unas lineas antes, mejor poned de la linea 25 a la linea 35


Título: Re: MYSQL error
Publicado por: andres_5 en 28 Mayo 2010, 00:17 am
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">



<head>

<title>sin título</title>

<meta http-equiv="content-type" content="text/html;charset=utf-8" />

<meta name="generator" content="Geany 0.18" />

</head>
<body>
<?php
include "base.php";
$strNick= 'cadi';
$strResultado = mysql_query("SELECT email, contrasenya FROM usuarios WHERE(log_nombre = $strNick)", $conexion);
 
if ($row = mysql_fetch_array($strResultado)){
  echo "<table border = '1'>";
  echo "<tr><td><b>E-Mail</b></td><td><b>Contraseña</b></td></tr> \n";
  do {
    echo "<tr><td>".$row["email"]."</td><td>".$row["contraseña"]."</td></tr> \n";
  }
  echo "</table>";
}
 
?>
</body>
</html>
de la linea 1 a la linea 35, osea todo.


Título: Re: MYSQL error
Publicado por: andres_5 en 28 Mayo 2010, 01:16 am
ya lo tengo, tuve que buscar otra forma de interpretas, muchas gracias, consegui entenderlo y ahora puedo manejarlo a mi antojo.
Ahora otra duda, mi XAMPP no me deja enviar email, con la funcion mail. me dice este error
:
Warning: mail() [function.mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in C:\xampp\htdocs\MIWEB\olvidar2.php on line 24
utilice el codigo:
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">



<head>

<title></title>

<meta http-equiv="content-type" content="text/html;charset=utf-8" />

<meta name="generator" content="Geany 0.18" />

</head>
<body>
<?php
$nick =$_POST['nickolv'];
$email1= $_POST['emailolv'];
$email2= 'email@gmail.com';
$asunt= "Restauracion de la contraseña Mitube.com";
 $query = "select email from `usuarios` where `log_nombre`='trim($nick).";
 $email = mysql_query($query, $conexion);
 $query2 = "select contrasenya from `usuarios` where `log_nombre`='trim($nick).";
 $pass = mysql_query($query2, $conexion);
 $cuerpo="Su usuario es:".$nick."y la contraseña es:".$pass."";
 if ($email1 == $email){
mail($email1, $asunt, $contenido, $email2);
echo'<p>enviado</p>';
}
?>

</body>

</html>
Saludos ;)


Título: Re: MYSQL error
Publicado por: Shell Root en 28 Mayo 2010, 01:31 am
No se, nunca he enviado un mail con php, pero creo que tienes que modificar algo en el php.ini, investigad!


Título: Re: MYSQL error
Publicado por: andres_5 en 28 Mayo 2010, 01:44 am
me temo k poco voy a poder investiggar, tengo k entregarlo mañana, sea como sea, solo rezad para que eso k tendria k haber modificado lo haya modificado ya el profesor.
 
Se me a presentado otro problema, posiblemente sea una bobada:
si pongo este codigo:
Código:

</head>
<body>
<?php
include "base.php";
$nick =$_POST['nickolv'];
$email1= $_POST['emailolv'];
$email2= 'email@gmail.com';
$asunt= "Restauracion de la contraseña Mitube.com";
 $query = "select `email` from `usuarios` where `log_nombre`='";
 $query.= trim($nick)."';";
 $email = mysql_query($query, $conexion);
 $query2 = "select `contrasenya` from `usuarios` where `log_nombre`='";
 $query2.= trim($nick)."';";
 $pass = mysql_query($query2, $conexion);
 $cuerpo="Su usuario es: ".$nick." y la contraseña es: ".$pass." ";
 
echo $cuerpo;


?>

</body>

</html>

me deberia devolver :
Su usuario es: USUARIO y la contraseña es: CONTRASEÑA 
pero me devuelve:
Su usuario es: USUARIO y la contraseña es: Resource id #5
¿¿¿Que significa Resource id #5 ????
saludos, ahora que voy entendiendo me va gustando mas, es una lastima que lo este haciendo a la ligera y para salir del paso;pero este verano lo retomo  ;D


Título: Re: MYSQL error
Publicado por: Shell Root en 28 Mayo 2010, 01:53 am
Código
  1. <?php
  2.  
  3.      $queEmp = "SELECT email, contraseya FROM usuarios WHERE(log_nombre='".trim($nick)."')";
  4.      $resEmp = mysql_query($queEmp, $conexion) or die(mysql_error());
  5.      $totEmp = mysql_num_rows($resEmp);
  6.  
  7.      if ($totEmp> 0) {
  8.         while ($rowEmp = mysql_fetch_assoc($resEmp)) {
  9.            echo "Su usuario es: ".$rowEmp['nick']." y la contraseña es: ".$rowEmp['contraseya'];
  10.         }
  11.      }
  12. ?>


Título: Re: MYSQL error
Publicado por: andres_5 en 28 Mayo 2010, 02:08 am
Ofuu, me empieza a doler la cabeza :S
tio muchas gracias por intentarlo, puse el codigo k posteaste, y no me devuelve nada, osea me devuelve:
su usuario es: y su contraseña es:
El codigo esta bien, pork lo meti por SQL y funciona, conque dejalo tio, muchisimas gracias, mi PC es una caca, y mi  XAMPP tambien, pense k solo fallaba al subir archivos, pero con esto tambien falla da igual el tiempo k le dediquemos que no vamos a tener suerte... Es tiempo perdido
de nuevo muchisimas gracias, el codigo tuyo estaba bien solo k mi apache (supongo) esta rancio :S
saludos y me acuesto, aun tengo 6 horas mañana en clase para acabarlo ... O conformarme con un 5 :S