``` Variantes de REMOTE_ADDR? ```


  • 0

    Mi problema esque tengo un componente en mi web que no se porque con la variable "REMOTE_ADDR" (la linea seria: getenv( 'REMOTE_ADDR' ); ) me devuele siempre la misma IP.

    Esta parte del componente deberia controlar que un mismo usuario no vote dos veces, pero si tiene siempre la misma ip de vuelta a la base de datos el resultado es que nadie puede votar :S

    Que puedo hacer, aguna variante de remote_addr que pueda usar? me recomendais otro codigo para poder controlar eso?
    Sino simplemente tendre que anular esa función.

    Gracias!

    PD. lee el 2º comentario



  • 1

    La IP que siempre te devuelve es aleatoria o te suena de algo ? Yo acabo de probarlo en un php 5.0.3 bajo linux y me funciona bien. No será cosa del resto del código no? Has probado esa función en otra parte de la web para ver si funciona bien o si realmente es solo cosa de ese componente ?



  • 2

    No, estaba ahora haciendo pruebas y no es ese el problema, la ip la almacena bien, lo que pasa es que almacena solo la primera ip y el resto no comprueba si es = o no que la anterior, simplemente si hay una da error a todos de que ya votaron, espera que os pongo el codigo para que veais.

    global $database, $dgurl;
    $vip = getenv( 'REMOTE_ADDR' );
    $vpic = $id;
    $database->setQuery("SELECT * FROM #__datsogallery_votes WHERE vpic='$vpic'");
    $database->setQuery( $query );
    $votes = NULL;
    if ( !( $database->loadObject( $votes ) ) ) {
    $query = "INSERT INTO #__datsogallery_votes VALUES ( $vpic, '$vip' )";
    $database->setQuery( $query );
    if ($database->query()!=1) {
    echo " ";
    } else {

    Con esto creo que vasta, ahí debe estar el error. Pero yo con lo poco que he usado PHP, no veo nada XDD
    Tiene que estar mal redactado el codigo…

    Aver si me hechais una mano

    PD.
    Me pense que me mandaba simempre la misma IP, porque al parecer una misma persona voto en todo, asi que al mirar la base de datos en todos los sitios me aparecia una misma IP y fue lo unico que se me ocurrio.
    Pero ahora la vacie y probe desde dos IPs mias diferentes y si fuinciona...



  • 3

    O sea que no hay ningun problema al final ?



  • 4

    Si, si que hay, en vez de almacenar cada direccion ip para comprobar luego si el que vota ya ha votado solo almacena 1 direccion por imagen, ademas desde que hay un voto en una imagen independientemente de que ip tengas no te dejara votar.

    Me expreso?



  • 5

    Vale, ya lo arregle…

    Gracias que mi padre me recordo que mirase bien la tabla en la base de datos, no es problema del codigo sino de que en la tabla solo se definia como clave primaria el idenficador de la imagen, tenia que estar en una misma clave el id. de la imagen junto con el ip. Ya que por separado los valores se podian repetir, no se deben repetir si estan los dos juntos.

    Weno gracias por leer a este loco krampak XDDD
    Chao



  • 6

    Ahora que te estaba buscando un script entero para crear polls xDDD Nada, me alegro que hayas encontrado el fallo.



  • 7

    @krampak:

    Ahora que te estaba buscando un script entero para crear polls xDDD Nada, me alegro que hayas encontrado el fallo.

    Gracias de nuevo ^__^

    Para mas info del error que tenia en un componente para Joomla llamado Dasto Gallery[

    Asi que na ya podeis votar bien en la galeria de mi web ;)](Asi que na ya podeis votar bien en la galeria de mi web ;))





Has perdido la conexión. Reconectando a Hardlimit.