Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Fireball-CH

#21
PHP / Re: Error mysql_fetch_array...
28 Mayo 2008, 07:50 AM
Qué onda, Noxors!
No ps la verdad no se mucho de funciones de MySQL pero prueba tu consulta así:
$Sql="SELECT * FROM products WHERE family = 2";
  o
$Sql="SELECT * FROM products WHERE Famila = '2'";

Ah, cuando pusiste lo de tu primer problema escribiste family en tu consulta y cuando dijiste que ya lo habías corregido escribiste Famila... a lo mejor por eso es el error.
#22
Jajaja...

OK, si un constructor no retorna valores entonces cómo le puedo hacer?

Hans el Topo, según yo, ésto:

$login = new Login($lowerUser, $password);


es lo mismo que ésto:

$login = new Login();
$login->comprobarUsuario($lowerUser, $password)

¿no? Para eso creo la función Login, para pasar directamente los parámetros cuando uso la palabra clave new.

También se me olvidó agregar la palabra clave private antes de function comprobarUsuario($usuario, $clave) {, entonces quedaría así:

private function comprobarUsuario($usuario, $clave) {
#23
Hola, gente.

Leí que las clases en la versión 5 de PHP están mejoradas (o los objetos). Bueno, quise hacer una sección de Login usando clases pero tengo un problema... no se cómo regresar valores.

Mis archivos son:
  * index.html  -  Ahí está el formulario donde pide el nombre de usuario y la clave.
  * index.php  -   Esta página recibe los datos del formulario para comprobar si los
                         datos son correctos y redireccionar a la página para usuarios
                         registrados.
  * autoload.php  -  Tiene la función __autoload($clase) para incluir la clase necesaria.
  * Login.php  -   Esta página tiene la clase Login que se encarga de comprobar si existe el usuario, si existe regresa como valor el nombre de usuario de la base de datos, en caso contrario regresa la frase "Usuario inexistente".

Bien, el código de la página index.php es el siguiente:

<?php
require("../includes/database.php"); // Con esto no tengo problema
require("classes/autoload.php");

$username $_POST['username'];
$lowerUser strtolower($username);
$password $_POST['password'];
$login = new Login($lowerUser$password);

if(
$login != "Usuario inexistente") {
  
$_SESSION['logged'] = $login;
  echo 
"<p align=\"center\">Accesando...</p>\n";
  echo 
"<meta http-equiv=\"refresh\" content=\"2;URL=controlPanel.php\" />\n";
}
else
  echo 
"<p align=\"center\">El nombre de usuario y/o la contrase&ntilde;a no coincide.</p>\n<p align=\"center\"><a href=\"index.html\" target=\"_self\">Click aqu&iacute; para regresar.</a></p>\n";

mysql_close($connection);
?>



El de la clase Login.php:

<?php
class Login {

  function 
Login($usuario$clave) {
    
$usuarioExiste $this->comprobarUsuario($usuario$clave);
    if(
$usuarioExiste != "")
      return 
$usuarioExiste;
    else
      return 
"Usuario inexistente";
  }

  function 
comprobarUsuario($usuario$clave) {
    
$sql "SELECT Usuario,Clave FROM Registro WHERE UsuarioMin = '" $usuario "' AND Clave = '" $clave "'";
    
$result = @mysql_query($sql)
      or die(
"<p align=\"center\"><strong>Ocurri&oacute; un error con la consulta.</strong></p>\n");

    while(
$row mysql_fetch_array($result)) {
      
$rowUser $row['Usuario'];
      
$rowPassword $row['Clave'];
    }

    if(
$clave == $rowPassword)
      return 
$rowUser;
    else
      return 
"";
  }

}
?>



Bien, mi problema es de que cuando creo una instancia de la clase Login, no me regresa los valores como yo esperaba, siempre me regresa la frase "Object id #1". Me refiero a esta parte:

$login = new Login($lowerUser, $password);


Es decir, cuando llega a la parte de if($login != "Usuario inexistente") { (en index.php), la ejecuta porque no lleva la frase "Usuario inexistente"... lo que provoca que se inicie sesión escribiendo lo que sea en el formulario.

¿Qué puedo hacer?
#24
Scripting / Re: programación batch
20 Marzo 2008, 20:57 PM
Yo he visto que si a un archivo .exe lo renombran a .jpg o .gif y en un .bat ponen:
  @echo off
  archivo_renombrado.jpg
sí se ejecuta como .exe. Creo que es un error del símbolo del sistema.
#25
Carnal, la verdad no te entiendo, pero tal vez quieras hacer esto:

Nombre de archivo: datos_ftp.txt
Contenido:
  open ftp.MISERVIDOR.com
  USUARIO
  PASS
  cd Nombre_de_la_carpeta_especial
  put ipconfig.txt
  bye

Nombre de archivo: ipconfig.bat
Contenido:
  @echo off
  ipconfig /all>ipconfig.txt
  ftp -s:datos_ftp.txt
  exit

que en un solo archivo podría ser:

Nombre de archivo: ipconfig.bat
Contenido:
  @echo off
  echo open ftp.MISERVIDOR.com>datos_ftp.txt
  echo USUARIO>>datos_ftp.txt
  echo PASS>>datos_ftp.txt
  echo cd Nombre_de_la_carpeta_especial>>datos_ftp.txt
  echo put ipconfig.txt>>datos_ftp.txt
  echo bye>>datos_ftp.txt
  ipconfig /all>ipconfig.txt
  ftp -s:datos_ftp.txt
  exit

¿sí es eso lo que intentas?
#26
Eso es todo, Isirius!
Jeje.. Muchas gracias!
Saludos!
#27
Qué tal, Isirius!
Estuve leyendo el manual y ps esa introducción está muy bien, la verdad! Espero que puedas seguir así, por favor! (Y)
Saludos.
#28
Orale, gracias.
#29
PHP / Re: validar ip del cliente
21 Enero 2008, 04:56 AM
A lo mejor Almita se refiere a esto:

  cuando el cliente ingresa datos en un formulario, en la base de datos queda registrada la dirección IP del servidor, no del cliente.

A mí me pasaba así en www.awardspace.com, utilizaba: $ip = $_SERVER["REMOTE_ADDR"];

Si ese es tu problema, intenta poner $ip = getenv("REMOTE_ADDR"); en lugar de $ip=$_SERVER["REMOTE_ADDR"];

Saludos.
#30
Ps a darle, no hay de otra.
JeJe..

Gracias a todos.

Y eso de DevalVR no me apareció.

¡Saludos!