• ModSenior

    Dreamweaver può dire quello che vuole, ricordo che in php non si può programmare con editor visuali, ovvio che nel codice poi ci sono 3000 problemi.
    Il session_start ti serve in tutte le pagine invece di ripeterlo 300 volte lo apri una volta.


  • User Attivo

    ho inserito il session start e mi da qeusto errore
    Parse error: syntax error, unexpected T_VARIABLE in /membri/zomer/config.ini.php on line **4

    ecco il codice
    **[PHP]
    <?php
    session_start()
    // Dati connessione al database
    $db_host = 'localhost'; // Host - solitamente localhost
    $db_utente = 'zomer'; // Nome utente del Database
    $db_password = ''; // Password del Database
    $db_nome = 'my_zomer'; // Nome del Database

    // Effettua la connessione al database
    $dbh=mysql_connect ($db_host, $db_utente, $db_password) or die ('Errore nella stringa di connessione al database: '.mysql_error());
    mysql_select_db($db_nome);
    ?>
    [/PHP]

    comunque Dreamweaver si setta in visuale o codice e io c'è l'ho in codice...


  • ModSenior

    E allora come fa dreamweaver a dirti che la query è giusta?
    Manca il ; alla fine di session_start();


  • User Attivo

    Me lo indica dai colori, comunque lasciamo stare ti do ragione a te, ho un altro problema con le sessioni in questa queri non viene salvato il $_SESSION['id'] come mai?

    [PHP]
    mysql_query("INSERT INTO richieste".$array['id']." (id_amico, tipo_richiesta, data_amicizia) VALUES ('".$_SESSION['id']."', '".$tipo."', '".$data."')")or die("<h1>".mysql_error()."</h1>");
    [/PHP]


  • ModSenior

    Fai un echo e vedi se la variabile ha valore o no.


  • User

    Ciao Thedarkita, era un pò di tempo che non entravo nel forum. 😉
    Ma più che altro volevo dire a Zomer che anch'io utilizzo dreamweaver ma ti posso garantire che crea degli errori madornali negli script di autotenticazione utente, e per quello ti consiglio di affidarti a Thedarkita che mi ha aiutato in modo fenomenale per risolvere i problemi; altro che dream!!!
    Più che altro Thedarkita ho riscontrato un problema sulla casella di accettazione di un un regolamento all'atto di registrazione; ossia mi spiego meglio:
    quando un utente nuovo si deve registrarsi al sito deve necessariamente spuntare la casella di accettazione, ma vedo che anche se non fa la spunta riesce a registrarsi. Era una delle mie domande che ti avevo fatto tempo fà, ma vedo che non è stato risolto del tutto. Comunque noto nel db che se l'utente ha spuntato la casella compare il "si" dell' avvenuta spunta, dunque presumo che sia lo script che non sia corretto. Se ti è possibile potresti rivedere e inviarmi lo script.
    Grazie


  • ModSenior

    Ciao arkom,

    Non ho visto la tua richiesta per questo non ho risposto, se posti qui il codice della pagina di registrazione gli dò un occhiata.


  • User Attivo

    Ciao arkom,
    Io non dubito assolutamente delle capacità di thedark!!!! Anzi secondo me è uno dei più bravi!!! comunque per il tuo problema basta fare cosi

    [php]
    //Controllo che ha accettato la privacy
    if(!isset($_POST['checkbox']))
    die('Non hai spuntato la checbox');
    [/php]

    Ritornando a me, ho fatto un echo e mi dice
    **
    Parse error**: syntax error, unexpected T_ECHO in /membri/zomer/id_prova.php on line 3

    comunque ho gia provato a rivolgermi su un altro forum prima di te, e ti posto la discussione
    h**p://forum.it.altervista.org/php-mysql-e-file-database/96901-la-query-non-funge-come-dovrebbe.html

    TI PREGO AIUTAMI


  • ModSenior

    Zomer, dovresti postare nuovamente qui il tuo codice attuale.
    Seguire consigli qua e là non ti aiuta a trovare la soluzione, perchè finiamo per mischiare le cose e a creare problemi invece che risolverli.

    L'errore comunque è la mancanza di un . o di un ; che dovresti trovare nelle righe 1-3.


  • User Attivo

    Inftti ho abbandoanto li e vorrei riuscire a risolvere il problema con voi 😄

    [PHP]
    <?php
    error_reporting(E_ALL);
    /*recupero le variabili inviate tramite get e definisce la data corrente */
    $nome=$_GET['nome'];
    $data=date("d/m/Y");
    $tipo="amicizia";
    //connesione al database
    include("config.ini.php");
    //query
    $id = mysql_query("SELECT id FROM utenti WHERE nome = '".$nome."'")or die("<h1>".mysql_error()."</h1>");
    $array = mysql_fetch_array($id);

    mysql_query("INSERT INTO richieste".$array['id']." (id_amico, tipo_richiesta, data_amicizia) VALUES ('".$_SESSION['id']."', '".$tipo."', '".$data."')")or die("<h1>".mysql_error()."</h1>");
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <meta content="text/html; charset=ISO-8859-1"
    http-equiv="content-type">
    <title>Richiesta effetuata con sucesso</title>
    </head>
    <body>
    <img alt="logo" src="loghi/logo.png"><br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <div style="text-align: center;">Richiesta inviata con
    sucesso <a href="home.php">torna alla home</a></div>
    </body>
    </html>

    [/PHP]


  • ModSenior

    Questa sarebbe la pagina id_prova.php che ti da errore alla riga 3?
    Vedendo questa query:
    [php]
    INSERT INTO richieste".$array['id']."
    [/php]
    Se il mio id utente è 300 tu stai cercando di inserire nella tabella richieste300, e quindi non credo che la trovi.


  • User Attivo

    Perchè non la dovrei trovare quando lo creata? la tabella esiste, ora non ti spiego come faccio a crearla perchè non è questo il problema, i dati vengono salvati tutti tranne il id_amico che sarebbe $_SESSION['id'].
    Forese lo devo assegnare ad una variabile???

    p.s. Questa non è la pagina id_prova quello era soltanto un echo
    del $_SESSION['id']......


  • ModSenior

    Il discorso della tabella per me è comunque sbagliato, creare una tabella per utente significa che se hai 10000 utenti registrati hai 10000 tabelle, sarebbe più corretto mettere un campo che indichi l'id dell'utente.

    Lasciando perdere questo discorso, nel file include("config.ini.php"); hai messo il session_start(); come ti avevo precedentemente detto?


  • User Attivo

    bhe sul fatto belle tabelle sarebbe un po difficile come dici tu...perchè poi se io ho questa tabella
    [PHP]
    id_utente,id_amico, tipo_richiesta, data_amicizia
    [/PHP]

    e se un utente ha più di una richiesta io come faccio a mettere tutti gli id degli amici nello stesso campo?

    coqmuneu certo che ho lasciato il session star!


  • ModSenior

    Nello stesso campo? Solitamente si inserisce un record per ogni amico.
    A me sembra deve funzionare se hai messo il session_start e sei loggato la variabile $_SESSION['id'] deve per forza avere valore.
    Ma il problema che era identico nel file dell'area privata che ti faceva il redirect come lo hai risolto?

    Metti la pagina cosi e dimmi che echo fa.
    [php]
    <?php
    error_reporting(E_ALL);
    //connesione al database
    include("config.ini.php");
    /*recupero le variabili inviate tramite get e definisce la data corrente */
    $nome=$_GET['nome'];
    $data=date("d/m/Y");
    $tipo="amicizia";

    //query
    $id = mysql_query("SELECT id FROM utenti WHERE nome = '".$nome."'")or die("<h1>".mysql_error()."</h1>");
    $array = mysql_fetch_array($id);

    mysql_query("INSERT INTO richieste".$array['id']." (id_amico, tipo_richiesta, data_amicizia) VALUES ('".$_SESSION['id']."', '".$tipo."', '".$data."')")or die("<h1>".mysql_error()."</h1>");
    die("INSERT INTO richieste".$array['id']." (id_amico, tipo_richiesta, data_amicizia) VALUES ('".$_SESSION['id']."', '".$tipo."', '".$data."')");
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <meta content="text/html; charset=ISO-8859-1"
    http-equiv="content-type">
    <title>Richiesta effetuata con sucesso</title>
    </head>
    <body>
    <img alt="logo" src="loghi/logo.png"><br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <div style="text-align: center;">Richiesta inviata con
    sucesso <a href="home.php">torna alla home</a></div>
    </body>
    </html>
    [/php]


  • User Attivo

    Sucsa se ci ho messo tempo ma stavo modificando il sistema di gestione blog utenti comuque mi restituisce questo

    Notice: Undefined index: id in /membri/zomer/richiesta_amicizia.php on line 14

    Notice: Undefined index: id in /membri/zomer/richiesta_amicizia.php on line 15
    INSERT INTO richieste8 (id_amico, tipo_richiesta, data_amicizia) VALUES ('', 'amicizia', '10/09/2009')

    mmm...vedi vuoto! un secondo me è un false!


  • ModSenior

    I motivi possono essere solo 2:

    • Manca session_start o è ripetuto.
    • Non sei loggato.

  • User Attivo

    Senti allora prova te! se non mi credi questo è il link h**p://zomer.altervista.org/

    Clicca su accedi

    nick zomer
    pass tgbyhn

    Poi clicca su cerca amici in alto a destra poi inserisci il nome claudio e clicca sul link aggiungi questa persona come amico...


  • ModSenior

    Il problema non è quello di crederti o meno, è che i motivi possono essere solo quei 2.

    Sicuro che che hai messo l'id in $_SESSION['id'] perchè in un altro file utilizzavi $_SESSION['login'].


  • User Attivo

    Sicuro che che hai messo l'id in $_SESSION['id'] perchè in un altro file utilizzavi $_SESSION['login']. E io che ne so...lo script è il tuo!!! Comunque le pagine stano sopra...comunque cose il session login mai sentito parlare...