Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 27
  1. #11
    ho fatto la prova.... Non funziona quindi mi sono domandato se e la versione del appserv (era win32-2.4.4a) allora ho scaricato l'ultima con php5 e l'ultima di mysql (win32-2.5.8) ma adesso non mi fa le sessioni... Mi da errore si session_start() perche dice di non potere modificare i header dei cookie... E cambiato il commando?

    Io faccio:
    codice:
    session_name('Dominatorsession');
    session_start();
    Aiuto!!!!!!! sto andando via di testa!!!!!!

    Ho gia provato a eliminare tutti i cookie e file temporanei ecc...

  2. #12
    Controlla se in php.ini la direttiva
    session.auto_start

    non deve essere a 1 ma a 0

    session.auto_start = 0

  3. #13
    era gia a 0

    Questo e l'errore preciso:
    codice:
    Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\AppServ\www\Tesina\pop-up\Iscriviti.php:8) in C:\AppServ\www\Tesina\pop-up\Iscriviti.php on line 46
    
    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\AppServ\www\Tesina\pop-up\Iscriviti.php:8) in C:\AppServ\www\Tesina\pop-up\Iscriviti.php on line 46
    
    Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\Tesina\pop-up\Iscriviti.php:8) in C:\AppServ\www\Tesina\pop-up\Iscriviti.php on line 55

  4. #14
    e question e il mio php.ini (solo il pezzo che riguarda le sessioni)

    codice:
    [Session]
    ; Handler used to store/retrieve data.
    session.save_handler = files
    
    ; Argument passed to save_handler.  In the case of files, this is the path
    ; where data files are stored. Note: Windows users have to change this
    ; variable in order to use PHP's session functions.
    ;
    ; As of PHP 4.0.1, you can define the path as:
    ;
    ;     session.save_path = "N;/path"
    ;
    ; where N is an integer.  Instead of storing all the session files in
    ; /path, what this will do is use subdirectories N-levels deep, and
    ; store the session data in those directories.  This is useful if you
    ; or your OS have problems with lots of files in one directory, and is
    ; a more efficient layout for servers that handle lots of sessions.
    ;
    ; NOTE 1: PHP will not create this directory structure automatically.
    ;         You can use the script in the ext/session dir for that purpose.
    ; NOTE 2: See the section on garbage collection below if you choose to
    ;         use subdirectories for session storage
    ;
    ; The file storage module creates files using mode 600 by default.
    ; You can change that by using
    ;
    ;     session.save_path = "N;MODE;/path"
    ;
    ; where MODE is the octal representation of the mode. Note that this
    ; does not overwrite the process's umask.
    session.save_path = "C:/DOCUME~1/ADMINI~1.000/IMPOST~1/Temp"
    
    ; Whether to use cookies.
    session.use_cookies = 1
    
    ; This option enables administrators to make their users invulnerable to
    ; attacks which involve passing session ids in URLs; defaults to 0.
    ; session.use_only_cookies = 1
    
    ; Name of the session (used as cookie name).
    session.name = dominatorsession
    
    ; Initialize session on request startup.
    session.auto_start = 0
    
    ; Lifetime in seconds of cookie or, if 0, until browser is restarted.
    session.cookie_lifetime = 0
    
    ; The path for which the cookie is valid.
    session.cookie_path = /
    
    ; The domain for which the cookie is valid.
    session.cookie_domain =
    
    ; Handler used to serialize data.  php is the standard serializer of PHP.
    session.serialize_handler = php
    
    ; Define the probability that the 'garbage collection' process is started
    ; on every session initialization.
    ; The probability is calculated by using gc_probability/gc_divisor,
    ; e.g. 1/100 means there is a 1% chance that the GC process starts
    ; on each request.
    
    session.gc_probability = 1
    session.gc_divisor     = 100
    
    ; After this number of seconds, stored data will be seen as 'garbage' and
    ; cleaned up by the garbage collection process.
    session.gc_maxlifetime = 1440
    
    ; NOTE: If you are using the subdirectory option for storing session files
    ;       (see session.save_path above), then garbage collection does *not*
    ;       happen automatically.  You will need to do your own garbage
    ;       collection through a shell script, cron entry, or some other method.
    ;       For example, the following script would is the equivalent of
    ;       setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
    ;          cd /path/to/sessions; find -cmin +24 | xargs rm
    
    ; PHP 4.2 and less have an undocumented feature/bug that allows you to
    ; to initialize a session variable in the global scope, albeit register_globals
    ; is disabled.  PHP 4.3 and later will warn you, if this feature is used.
    ; You can disable the feature and the warning separately. At this time,
    ; the warning is only displayed, if bug_compat_42 is enabled.
    
    session.bug_compat_42 = 1
    session.bug_compat_warn = 1
    
    ; Check HTTP Referer to invalidate externally stored URLs containing ids.
    ; HTTP_REFERER has to contain this substring for the session to be
    ; considered as valid.
    session.referer_check =
    
    ; How many bytes to read from the file.
    session.entropy_length = 0
    
    ; Specified here to create the session id.
    session.entropy_file =
    
    ;session.entropy_length = 16
    
    ;session.entropy_file = /dev/urandom
    
    ; Set to {nocache,private,public,} to determine HTTP caching aspects
    ; or leave this empty to avoid sending anti-caching headers.
    session.cache_limiter = nocache
    
    ; Document expires after n minutes.
    session.cache_expire = 180
    
    ; trans sid support is disabled by default.
    ; Use of trans sid may risk your users security.
    ; Use this option with caution.
    ; - User may send URL contains active session ID
    ;   to other person via. email/irc/etc.
    ; - URL that contains active session ID may be stored
    ;   in publically accessible computer.
    ; - User may access your site with the same session ID
    ;   always using URL stored in browser's history or bookmarks.
    session.use_trans_sid = 0
    
    ; Select a hash function
    ; 0: MD5   (128 bits)
    ; 1: SHA-1 (160 bits)
    session.hash_function = 0
    
    ; Define how many bits are stored in each character when converting
    ; the binary hash data to something readable.
    ;
    ; 4 bits: 0-9, a-f
    ; 5 bits: 0-9, a-v
    ; 6 bits: 0-9, a-z, A-Z, "-", ","
    session.hash_bits_per_character = 4
    
    ; The URL rewriter will look for URLs in a defined set of HTML tags.
    ; form/fieldset are special; if you include them here, the rewriter will
    ; add a hidden <input> field with the info which is otherwise appended
    ; to URLs.  If you want XHTML conformity, remove the form entry.
    ; Note that all valid entries require a "=", even if no value follows.
    url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset="

  5. #15
    assicurati che non vi sia neanche uno spazio premi delle 2 istruzioni, anche perché mi sembra strano ke l'errore te lo dia alla riga 46. Posta il codice

    Ora devo scappare domattina darò un'occhiata. Ciao.

  6. #16
    Buongiorno, italian_spike
    allora dicevamo, hai controllato ke prima di session_start() non vi sia nulla che mandi a video qualcosa?

  7. #17
    codice:
    <html>
    <head>
    
    <title>
    --->DOMINATOR<---
    </TITLE>
    </head>
    <body>
    
    <?php
    
    if($_POST['Password']==$_POST['Password1']){
        $connessione=mysql_connect('localhost','root','') or die("no connect". mysql_error());
        mysql_select_db('dominator') or die("no db");
        //Connesso al DB
        $controlloutente=mysql_fetch_array(mysql_query("SELECT utenti.UserName FROM utenti WHERE utenti.UserName='".$_POST[UserName]."'"));
        $controllomondo=mysql_fetch_array(mysql_query("SELECT mondi.Nome FROM mondi WHERE mondi.Nome='".$_POST[mondo]."'"));
        if($controlloutente[UserName]==NULL){
            if($controllomondo[Nome]==NULL){
               session_name('Dominatorsession');
               session_start();
               
               //crea una zona urbana quantita 1 e ne ricava l'id
               mysql_query("INSERT INTO urbane(Quantita) VALUES('1')") or die("no urbane");
               $id_urbana=mysql_fetch_array(mysql_query("SELECT MAX(urbane.ID_Urbana) AS id FROM urbane")) or die("no select id urbana");
               
               //crea una zona fabbrica quantita 2 livello base e ne ricava l'id
               mysql_query("INSERT INTO fabbriche(Quantita,Livello) VALUES('2','1')") or die("no urbane");
               $id_fabbrica=mysql_fetch_array(mysql_query("SELECT MAX(fabbriche.ID_Fabbrica) AS id FROM fabbriche")) or die("no select id fabbrica");
               $mondo="INSERT INTO mondi VALUES('','".$_POST[mondo]."','".$id_urbana[id]."','".$id_fabbrica[id]."','0')";
               $assegnamondo="SELECT mondi.ID_Mondo FROM mondi WHERE mondi.Nome='".$_POST[mondo]."'";
               $_SESSION['id_fabbrica']=$id_fabbrica;
               $_SESSION['id_urbana']=$id_urbana;
               
               /*crea una tupla mondo e ne ricava l'id e lo memorizza in $assegnato*/
               mysql_query($mondo) or die("no query mondo");
               $assegnamondo=mysql_query($assegnamondo) or die ("no query assegnamondo");
               $assegnamondo=mysql_fetch_array($assegnamondo);
               
               /*Data di iscrizione*/
               $data = date("Y-m-d H:i:s");
               
               /*crea una tupla utente*/
               $utente="INSERT INTO utenti VALUES('".$_POST[UserName]."', '".$_POST[Password]."','".$assegnamondo[ID_Mondo]."','".$data."')";
               mysql_query($utente) or die("no query utente");
               $_SESSION['username']=$_POST[UserName];
               $sql=mysql_fetch_array(mysql_query("SELECT mondi.Nome FROM mondi INNER JOIN utenti ON utenti.ID_Mondo=mondi.ID_Mondo WHERE utenti.UserName='".$_SESSION['username']."'"));
               $_SESSION['nomemondo']=$sql[Nome];
               $sql=mysql_fetch_array(mysql_query("SELECT mondi.ID_Urbana FROM mondi WHERE mondi.Nome='".$_SESSION['nomemondo']."'"));
               $_SESSION['id_urbana']=$sql[ID_Urbana];
               header("location:universo/uhome.htm");
               mysql_close($connessione);
            }
            else{
            echo "Nome del mondo gia esistente";
            mysql_close($connessione);
            echo "
    <a href=Iscriviti.htm>Riprova</a>";        
            }
        }
        else{
        echo "User name gia esistente";
        mysql_close($connessione);
        echo "
    <a href=Iscriviti.htm>Riprova</a>";
        }
    }
    else{
        echo "Password non combaciano";
        echo "
    <a href=Iscriviti.htm>Riprova</a>";
    }
    ?>
    
    </body>
    </html>

  8. #18
    E certo che deve dare errore, il codice html viene interpretato come codice da visualizzare a video.
    session_start() va messo prima di qualsiasi tag HTML!

    il controllo php non glielo puoi mettere prima?

  9. #19
    ma non c'e codice html oltre al title? Forse non ho capito bene cosa intendi..


    (cmq mi funziona con il appserv 2.4.4)

  10. #20
    Nel codice che hai fatto, togli la parte html iniziale e finale, e scrivi solamente:

    <?php

    if($_POST['Password']==$_POST['Password1']){
    $connessione=mysql_connect('localhost','root','') or die("no connect". mysql_error());
    mysql_select_db('dominator') or die("no db");
    //Connesso al DB
    $controlloutente=mysql_fetch_array(mysql_query("SE LECT utenti.UserName FROM utenti WHERE utenti.UserName='".$_POST[UserName]."'"));
    $controllomondo=mysql_fetch_array(mysql_query("SEL ECT mondi.Nome FROM mondi WHERE mondi.Nome='".$_POST[mondo]."'"));
    if($controlloutente[UserName]==NULL){
    if($controllomondo[Nome]==NULL){
    session_name('Dominatorsession');
    session_start();

    //crea una zona urbana quantita 1 e ne ricava l'id
    mysql_query("INSERT INTO urbane(Quantita) VALUES('1')") or die("no urbane");
    $id_urbana=mysql_fetch_array(mysql_query("SELECT MAX(urbane.ID_Urbana) AS id FROM urbane")) or die("no select id urbana");

    //crea una zona fabbrica quantita 2 livello base e ne ricava l'id
    mysql_query("INSERT INTO fabbriche(Quantita,Livello) VALUES('2','1')") or die("no urbane");
    $id_fabbrica=mysql_fetch_array(mysql_query("SELECT MAX(fabbriche.ID_Fabbrica) AS id FROM fabbriche")) or die("no select id fabbrica");
    $mondo="INSERT INTO mondi VALUES('','".$_POST[mondo]."','".$id_urbana[id]."','".$id_fabbrica[id]."','0')";
    $assegnamondo="SELECT mondi.ID_Mondo FROM mondi WHERE mondi.Nome='".$_POST[mondo]."'";
    $_SESSION['id_fabbrica']=$id_fabbrica;
    $_SESSION['id_urbana']=$id_urbana;

    /*crea una tupla mondo e ne ricava l'id e lo memorizza in $assegnato*/
    mysql_query($mondo) or die("no query mondo");
    $assegnamondo=mysql_query($assegnamondo) or die ("no query assegnamondo");
    $assegnamondo=mysql_fetch_array($assegnamondo);

    /*Data di iscrizione*/
    $data = date("Y-m-d H:i:s");

    /*crea una tupla utente*/
    $utente="INSERT INTO utenti VALUES('".$_POST[UserName]."', '".$_POST[Password]."','".$assegnamondo[ID_Mondo]."','".$data."')";
    mysql_query($utente) or die("no query utente");
    $_SESSION['username']=$_POST[UserName];
    $sql=mysql_fetch_array(mysql_query("SELECT mondi.Nome FROM mondi INNER JOIN utenti ON utenti.ID_Mondo=mondi.ID_Mondo WHERE utenti.UserName='".$_SESSION['username']."'"));
    $_SESSION['nomemondo']=$sql[Nome];
    $sql=mysql_fetch_array(mysql_query("SELECT mondi.ID_Urbana FROM mondi WHERE mondi.Nome='".$_SESSION['nomemondo']."'"));
    $_SESSION['id_urbana']=$sql[ID_Urbana];
    header("location:universo/uhome.htm");
    mysql_close($connessione);
    }
    else{
    echo "Nome del mondo gia esistente";
    mysql_close($connessione);
    echo "
    <a href=Iscriviti.htm>Riprova</a>";
    }
    }
    else{
    echo "User name gia esistente";
    mysql_close($connessione);
    echo "
    <a href=Iscriviti.htm>Riprova</a>";
    }
    }
    else{
    echo "Password non combaciano";
    echo "
    <a href=Iscriviti.htm>Riprova</a>";
    }
    ?>

    Facendo così funziona?

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 © 2025 vBulletin Solutions, Inc. All rights reserved.