elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 04:42  


Tema destacado: ¡Aprende hacking con práctica! - WarZone, el wargame de elhacker.net

+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP
| | | |-+  problema con clases php
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: problema con clases php  (Leído 1,080 veces)
Zeroql


Desconectado Desconectado

Mensajes: 940


Todo lo k sucede sucede por una razon


Ver Perfil WWW
problema con clases php
« en: 13 Noviembre 2011, 19:15 »

buenas
bueno tengo esto:

Código
<?php
class Ftp {
 
var $cid;
var $result;
var $FTPSERVER;
var $USER;
var $PASS;
var $rootdir;
 
public function connect($mode_pasive=true){
$cid=ftp_connect($FTPSERVER) or die;
$result=ftp_login($cid,$USER,$PASS);
if ((!$cid) || (!$resultado)) {
return (false);
}else{
if ($mode_pasive==true){
ftp_pasv($cid,true);
}
return (true);
}
}
}
 
$ftp=new Ftp();
$ftp->$FTPSERVER="ftp.260mb.com";
$ftp->$USER="zeroql";
$ftp->$PASS="linkql";
$ftp->$rootdir="/";
$ftp->connect(true);
?>
 
 

el problema es cuando lo pongo a prueba me sale este error
Citar
Notice: Undefined variable: FTPSERVER in C:\xampp\htdocs\sovys\class\class_ftp.php on line 61

Fatal error: Cannot access empty property in C:\xampp\htdocs\sovys\class\class_ftp.php on line 61

Me pueden decir que tengo de malo??? apenas estoy empezando a crear clases con php, y este es mi primer ensayo.

de ante mano muchas gracias.


En línea

Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo.
/.-ZEROQL.-\   -----  #937675#

drvy | BSM


Desconectado Desconectado

Mensajes: 1.129


badstupidmonkey


Ver Perfil WWW
Re: problema con clases php
« Respuesta #1 en: 13 Noviembre 2011, 19:22 »

Hola, las funciones como tal no adoptan las variables definidas anteriormente.
Por tanto, o las debes pasar en la misma funcion ( function($variables) ) o las debes declarar como globales (global $variable1,$variable2;).

ejemplo:

Código
<?php
$variable1 = 'blablabla';
 
function bla($variable){
  return $variable;
}
 
echo bla($variable1);
 

Código
<?php
$variable1 = 'blablabla';
 
function bla(){
  global $variable1;
  return $variable1;
}
 
echo bla();
 

PD: En tu caso utilizando class es mas facil.
Código
<?php
 
class aaaa {
var $cid = 'xDDD';
 
public function mostrar(){
return $this->cid;
}
 
}
$bbb = new aaaa();
echo $bbb->mostrar();
 
?>

Recuerda que cuando la quieres mostrar no es $this->$cid sino $this->cid, sin el siglo de variable.
Saludos


« Última modificación: 13 Noviembre 2011, 19:39 por drvy | BSM » En línea
Zeroql


Desconectado Desconectado

Mensajes: 940


Todo lo k sucede sucede por una razon


Ver Perfil WWW
Re: problema con clases php
« Respuesta #2 en: 13 Noviembre 2011, 19:37 »

normalmente no permite el paso de variables, pero es una clase, y si miras bien cuando se llama a la clase se definen las propiedades, eso lo he visto mucho también en otras clases, pero nose por que me salta este error!
En línea

Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo.
/.-ZEROQL.-\   -----  #937675#

drvy | BSM


Desconectado Desconectado

Mensajes: 1.129


badstupidmonkey


Ver Perfil WWW
Re: problema con clases php
« Respuesta #3 en: 13 Noviembre 2011, 19:41 »

Sea clase o no funciona igual  :rolleyes:

Lo que se utiliza en clase es lo que edite en el post de arriba.

$this->variable.
$this->cid;
$this->FTPSERVER;
etc..


Saludos
En línea
Zeroql


Desconectado Desconectado

Mensajes: 940


Todo lo k sucede sucede por una razon


Ver Perfil WWW
Re: problema con clases php
« Respuesta #4 en: 13 Noviembre 2011, 19:51 »

y segun tu codigo mi llamada esta bien hecha, por que esta fuera de la clase!!!
En línea

Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo.
/.-ZEROQL.-\   -----  #937675#

drvy | BSM


Desconectado Desconectado

Mensajes: 1.129


badstupidmonkey


Ver Perfil WWW
Re: problema con clases php
« Respuesta #5 en: 13 Noviembre 2011, 19:56 »

WTF ?

Lo que tienes mal es la función en si. No usas $this->, ni global ni nada xD
Código
public function connect($mode_pasive=true){
$cid=ftp_connect($this->FTPSERVER) or die;
$result=ftp_login($cid,$this->USER,$this->PASS);
if ((!$cid) || (!$result)) {
return (false);
}else{
if ($mode_pasive==true){
ftp_pasv($cid,true);
}
return (true);
}
}

PD: RECUERDA (y te lo puse arriba) cuando vas a usar variable en una clase. No utilices $ utiliza $this->variable.

Saludos
« Última modificación: 13 Noviembre 2011, 20:01 por drvy | BSM » En línea
Zeroql


Desconectado Desconectado

Mensajes: 940


Todo lo k sucede sucede por una razon


Ver Perfil WWW
Re: problema con clases php
« Respuesta #6 en: 13 Noviembre 2011, 20:01 »

Actualmente ese no es mi problema es cuando hago la llamada a la clase:

Código
$ftp=new Ftp();
$ftp->$FTPSERVER="ftp.260mb.com";
$ftp->$USER="zeroql";
$ftp->$PASS="linkql";
...
 
se presenta este error:

Citar
Notice: Undefined variable: FTPSERVER in C:\xampp\htdocs\sovys\class\class_ftp.php on line 61

Fatal error: Cannot access empty property in C:\xampp\htdocs\sovys\class\class_ftp.php on line 61
La linea 62 es:

Código
$ftp->$FTPSERVER="ftp.260mb.com";
 

como se ve no se ha realizado la llamada a la funcion, por el momento no presentara errores en la funcion...
En línea

Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo.
/.-ZEROQL.-\   -----  #937675#

drvy | BSM


Desconectado Desconectado

Mensajes: 1.129


badstupidmonkey


Ver Perfil WWW
Re: problema con clases php
« Respuesta #7 en: 13 Noviembre 2011, 20:03 »

Vale vale, es que no sabia de que linea estabamos hablando xD

Pues lo mismo ^^
En vez de

Código
$ftp->$FTPSERVER="ftp.260mb.com";

esto

Código
$ftp->FTPSERVER="ftp.260mb.com";


Saludos
En línea
Zeroql


Desconectado Desconectado

Mensajes: 940


Todo lo k sucede sucede por una razon


Ver Perfil WWW
Re: problema con clases php
« Respuesta #8 en: 13 Noviembre 2011, 20:08 »

Ok muchas gracias ahora si me ha funcionado a la perfecccion.
muchas gracias
En línea

Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo.
/.-ZEROQL.-\   -----  #937675#

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
problema con las clases
Programación C/C++
princor 2 367 Último mensaje 20 Julio 2007, 12:24
por princor
Problema con las clases en c#
.NET
The Jackal 2 744 Último mensaje 18 Noviembre 2007, 13:10
por The Jackal
Problema con clases
Programación C/C++
pitt_ 10 1,037 Último mensaje 30 Septiembre 2008, 00:36
por Di4l
Problema con clases
Java
Debci 3 880 Último mensaje 9 Julio 2009, 20:53
por Amerikano|Cls
Problema con Clases
.NET
Dreamcacher 1 298 Último mensaje 5 Octubre 2011, 20:51
por Keyen Night
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines