Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026

    $_SESSION['ip'] problema

    stavo cercando di scrivere un piccolo script per controllare i voti in base all'ip dell'utente

    provo con questo ma non funziona mi stampa sempre "non puoi più votare"




    Codice PHP:
    <form action="<?php $_SERVER['PHP_SELF'?>" method="get">
    <input type="submit" name="vota" />
    </form>
    <?php

    $ip
    =$_SERVER['REMOTE_ADDR'];

    if ( 
    $_SESSION['ip']=!$ip)
    {echo 
    'ciao vota!!!';}
    else{echo 
    ' non puoi più votare';}
    if(isset(
    $vota))
    {
    $ip=$_SESSION['ip'];
    echo 
    'grazie di aver votato';}

    ?>
    qualche buon anima che mi aiuta?

    grazieeeee

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    119
    Visto così sembra strano, perchè non associ mai il valore $ip a $_SESSION[ip].

    C'è un altro pezzo dello script che non ci hai mostrato?

    In particolare non chiami mai session_start() per poter utilizzare le sessioni (quindi $_SESSION sarà sempre vuoto all'inizio...).

    Ciao



    -----------------------
    Tv Portatili

  3. #3
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    si scusa il session_start(); l'avevo messo sopra il form e mi son dimenticato di copiarlo qui


    comunque sto provando in tutti i modi ma non funziona appena apro la paginetta vedo subito "non puoi più votare"

    ecco il codice che sto usando:
    Codice PHP:
    <form action="<?php $_SERVER['PHP_SELF'?>" method="get">
    <input type="submit" name="vota" />
    </form>
    <?php
    $_GET
    ['vota']=$vota;
    $ip=$_SERVER['REMOTE_ADDR'];


    if ( 
    $_SESSION['ip']=!$ip)
    {echo 
    'ciao vota!!!';}
    else{echo 
    ' non puoi più votare';}
    if(isset(
    $_GET['vota']))
    {
    session_start();$ip=$_SESSION['ip'];
    echo 
    'grazie di aver votato';}

    ?>

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    119
    MMM... mi sa che sia un po' tutto sbagliato... ad esempio session_start() non si può mettere dopo un qualsiasi output (quindi dopo codice html).
    Inoltre

    Codice PHP:
    $_GET['vota']=$vota
    direi che non ci vuole...

    Prova a guardare questo

    Codice PHP:
    <?php
    session_start
    ();

    $ip=$_SERVER['REMOTE_ADDR']; 

    if (
    $_SESSION['ip'] )
      echo 
    ' non puoi piu votare';
    else
      echo 
    'ciao vota';

    if (isset(
    $_GET['vota']) && !$_SESSION['ip'])
      {
         
    $_SESSION['ip'] = $ip;
         echo 
    'grazie di aver votato';
       }
    ?>

    <form action="<?php $_SERVER['PHP_SELF'?>" method="get">
    <input type="submit" name="vota" />
    </form>

    Non l'ho provato (magari mi è sfuggito qualche semplice errore di sintassi) ma dovrebbe essere corretto.

    Ciao

  5. #5
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    bhe che dire grazie mille

    funziona alla grande adesso

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    119
    Prego, di niente

    Cerca di capire cosa sbagliavi, così si riesce ad imparare

    In particolare, quel $ip=$_SESSION['ip']; è alla rovescio, $_SESSION va a sinistra.

    Ciao


    --------------------------
    Tv Portatile

  7. #7
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    si ti ringrazio nuovamente ,di solito non posto mai gli script ma a volte succede che non so come procedere e chiedo a voi ,in questo modo ho imparato tante cose

    siete dei grandi

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.