Visualizzazione dei risultati da 1 a 7 su 7

Discussione: sessioni inclusione

  1. #1
    Utente di HTML.it L'avatar di fastcdr
    Registrato dal
    Aug 2006
    Messaggi
    235

    sessioni inclusione

    Ciao a tutti premesso che mastico poco poco questo linguaggio di programmazione
    anche perchè faccio tuttaltra cosa nella vita vorrei riuscire a risolvere un piccolo
    problema che ho sul mio sito

    un form che potrà essere in modalità post oppure get salva la sessione

    <?php

    session_start();



    $nominativo = $_POST[nominativo];
    $telefono = $_POST[telefono];
    $città = $_POST[città];
    $email = $_POST[email];

    $nominativo = $_GET[nominativo];
    $telefono = $_GET[telefono];
    $città = $_GET[città];
    $email = $_GET[email];



    $_SESSION['nominativo'] = $nominativo;
    $_SESSION['telefono'] = $telefono;
    $_SESSION['città'] = $città;
    $_SESSION['email'] = $email;


    ?>

    chiaramente la sessione viene richiamata nei 10/15 form che ci sono sul sito
    in questo modo, ovviamente genero una sessione per far si' che tali dati a me necessari
    non devono essere tutte le volte richiesti al cliente nel periodo che naviga sul sito
    e quindi compila le richieste


    <?php
    session_start();


    $nominativo = $_SESSION['nominativo'];
    $telefono = $_SESSION['telefono'];
    $città = $_SESSION['città'];
    $email = $_SESSION['email'];


    ?>

    e fin qui nessun problema la sessione viene registrata

    aprendo un form ovviamente ottengo i dati già scritti nei campi

    però ho un errore che non riesco a risolvere, ho curiosato nel forum ho trovato qualcosa che mi può aiutare ma è troppo complesso l'esempio per le mie necessita e non riesco a capirci

    se posso essere di aiuto mi sembra di capire che l'errore sia generato da delle inclusioni di pagine che ho nei form (chiaramente il menu' e la testata del sito nominata includenuovagrafica.php )


    l'errore è questo


    Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at bla bla:\bla bla\bla bla\bla bla\includenuovagrafica.php:6)

    Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at bla bla:\bla bla\bla bla\bla bla\includenuovagrafica.php:6)


    nel forum mi sembra di aver capito che devo fare un redirect o qualcosa del genere


    comunque come può essere risolto questo piccolo problema, essendo normale che in pagine pho spesso ci siano delle inclusioni
    da parte mia l'unica soluzione che riesco a pensare e eliminare appunto quell'inclusione e fare un frame, ma non mi piace risolvere "spartanamente" oppure "adattare"


    vi ringrazio per la pazienza di aver letto e per l'aiuto

    ciao a tutti

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    Codice PHP:
    $nominativo $_POST[nominativo];
    $telefono $_POST[telefono];
    $città $_POST[città];
    $email $_POST[email];

    $nominativo $_GET[nominativo];
    $telefono $_GET[telefono];
    $città $_GET[città];
    $email $_GET[email]; 
    cosa succede se ti manda i dati in POST, il primo gruppo di istruzioni ti copia le variabili, ma il secondo gruppo (quelle dei GET) ti sovrascrive le variabili con null (il vettore GET è vuoto)

    per fare quello che vuoi fare devi usare $_REQUEST che va bene sia per il get che per la post

    Codice PHP:
    <?php

    session_start
    ();
    $nominativo $_REQUEST [nominativo];
    $telefono $_REQUEST [telefono];
    $città $_REQUEST [città];
    $email $_REQUEST [email];

    $_SESSION['nominativo'] = $nominativo;
    $_SESSION['telefono'] = $telefono;
    $_SESSION['città'] = $città;
    $_SESSION['email'] = $email;


    ?>

  3. #3
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    per quanto riguarda il tuo errore, il problema è dove hai posizionato session_start();
    posta il codice di includenuovagrafica.php

  4. #4
    Utente di HTML.it L'avatar di fastcdr
    Registrato dal
    Aug 2006
    Messaggi
    235
    ciao ok
    dunque le variabili saranno poi inviate via post oppure via jet quindi grazie per il tuo piccolo suggerimento in merito
    per quanto riguarda il codice ora non ho occasione di postarlo,

    comunque accennami..... dovrei riuscire a capire

  5. #5
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    l'errore è chiaro, invi dell'output prima di aprire la sessione

  6. #6
    Utente di HTML.it L'avatar di fastcdr
    Registrato dal
    Aug 2006
    Messaggi
    235
    ahhhhh!!!!!
    ok ok infatti ok ok ora mi ricordo......!
    avevo letto anni fà un manualetto di php che in poche parole diceva che la sessioni
    devono essere scritte nel codice prima di qualunque altra cosa (anche del codice html)

    sta li l'errore?

  7. #7
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    Originariamente inviato da fastcdr
    ahhhhh!!!!!
    ok ok infatti ok ok ora mi ricordo......!
    avevo letto anni fà un manualetto di php che in poche parole diceva che la sessioni
    devono essere scritte nel codice prima di qualunque altra cosa (anche del codice html)

    sta li l'errore?
    session_start() deve stare prima di inviare qualsiasi output html

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.