Visualizzazione risultati 1 fino 8 di 8

Discussione: Connessione al database fallita.

  1. #1
    Guest

    Smile Connessione al database fallita.

    ciao a tutti!

    ho un problemino con un database.

    dal titolo si capisce cosa non va!

    questo è il database:

    CREATE TABLE `users` (
    `user_id` mediumint(8) unsigned NOT NULL auto_increment,
    `user_name` varchar(20) NOT NULL default '',
    `user_username` varchar(20) NOT NULL default '',
    `user_passwd` char(32) NOT NULL default '',
    PRIMARY KEY (`user_id`),
    UNIQUE KEY `user_username` (`user_username`)
    ) TYPE=MyISAM;

    INSERT INTO users (user_name, user_username, user_passwd) VALUES ('Mario', 'moon', MD5('test'));
    INSERT INTO users (user_name, user_username, user_passwd) VALUES ('Fabio', 'upwd', MD5('test2'));
    INSERT INTO users (user_name, user_username, user_passwd) VALUES ('Giuseppe', 'alliance', MD5('test3'));

    CREATE TABLE `sessions` (
    `session_id` char(32) NOT NULL default '',
    `session_user_id` mediumint(8) NOT NULL default '0',
    `session_start` datetime NOT NULL default '0000-00-00 00:00:00',
    PRIMARY KEY (`session_id`),
    KEY `session_user_id` (`session_user_id`)
    ) TYPE=MyISAM;

    ora mostro il file config.php:

    <?php
    define('HOST', '195.80.10.10');
    define('USERNAME', 'miousername');
    define('PASSWD', 'miapass');
    define('DB_NAME', 'test');

    define('COOKIE_NAME', 'user_data');
    define('REDIRECT_PAGE', 'pagina.php');
    define('LOGIN_PAGE', 'index.php');
    ?>

    ecco idati da me inseriti.

    sono esatti? se si, perchè quando vado ad inserire
    http://miosito.altervista.org/index.php esce il messaggio che ho citato nel titolo?
    Se qualcuno mi può dare una mano per configurare un database,
    ne sarei molto grato.

    P.S: Immagino che "test" debba essere il nome del file test.sql vero?

    gli altri file sono: index.php, pagina.php, logout.php, common.php e auth.inc.php

    Grazie!
    Ultima modifica di panimg : 09-01-2007 alle ore 19.24.12

  2. #2
    Guest

    Predefinito

    Ma stai parlando di un CMS?
    Se è così ti sposto nella stanza adatta.
    Ti invito anche a fare una ricerca prima di postare, infatti questo argomento, come tantissimi altri, è discusso quotidianamente e le risposte sono sparse in molti topic.

    Leggi anche il regolamento.


    Ciao!

  3. #3
    Guest

    Predefinito

    nell'istallazione???
    se sei sul server 8 oggi c'erano down...

    cmq non c'è un index.php
    Ultima modifica di studentisito : 09-01-2007 alle ore 22.03.26

  4. #4
    Guest

    Predefinito database + php

    il problema non è il tipo di db, php oppure mancanza di file,
    il file index.php c'è ho solo messo io miosito per far capire!

    per meglio dire ecco qua: http://mrcrn.altervista.org/php5/index.php

    devo confessare che è il mio primo, e dico primo, approccio a questo mondo

    vorrei sapere sapere come collegare i due, come definirli parenti stretti?,

    db e php.

    ho seguito un breve corso che mi forniva questi file ma non ho potuto rispondere per dire che non funzionava, ecco perchè chiedo a voi più esperti.

    in questo momento sono come i neonati che bisogna imboccargli la pappa
    per capirci

    Grazie e ciao!

  5. #5
    Guest

    Predefinito

    define('HOST', 'localhost');
    define('USERNAME', 'miousername');
    define('PASSWD', '');
    define('DB_NAME', 'my_miousername');

    poi naturalmente devi fare un mysql_connect

  6. #6
    Guest

    Predefinito segue

    ok adesso funziona si apre la pagina index.php per effettuare il login

    ma dopo aver inserito nel file config.php il mio username e la mia password,
    visto che mi dice che i campi devono essere coperti per forza,
    mi esce il messaggio di errore Username e/o Password errati

    qual'è adesso il problema?

    grazie

  7. #7
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Bisogna vedere che username e password vuole quello script per effettuare il login. A questo punto non si dovrebbe trattare più della connessione al database. Bisogna guardare il file readme e leggere cosa dice oppure spulciare nel codice sorgente del login.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  8. #8
    Guest

    Predefinito

    ok!!! adesso il file index.php si sa che ha il codice per username e password, ed inoltre il form con i moduli per l'accesso

    il database è quello che ho postato prima!
    il file config.php idem postato anche

    restano altri quali: common.php

    Codice PHP:
    <?php
    include('config.php');
    include(
    'includes/auth.inc.php');

    $link = @mysql_connect(HOST, USERNAME, PASSWD)
    or die(
    'Connessione al database fallita.');

    @
    mysql_select_db(DB_NAME)
    or die(
    'Selezione del database fallita.');
    ?>
    poi il file pagina.php

    Codice PHP:
    <?php
    include('common.php');
    $user_data = auth_check_user();

    extract($user_data);
    echo
    'Benvenuto '. $user_name;
    ?>

    <br />
    Per effetuare il logout clicca qui <b><a href="logout.php">[LogOut]</a></b>
    poi il file logout.php

    Codice PHP:
    <?php
    include('common.php');

    $res = auth_session_destroy();
    header('Location: '. LOGIN_PAGE);
    ?>
    e poi il file auth.inc.php

    Codice PHP:
    <?php
    function auth_generate_sid()
    {
    $sid = md5(uniqid(rand(), true));
    return
    $sid;
    }

    function
    auth_session_begin($user_id)
    {
    $session_id = auth_generate_sid();
    $time = time();

    $sql = "INSERT INTO sessions
    (session_id, session_user_id, session_start)
    VALUES ('
    $session_id', $user_id, $time)";
    $result = @mysql_query($sql);
    if (!
    $result)
    {
    die(
    'Si è verificato un errore
    nell\'avvio della sessione.'
    );
    }

    setcookie(COOKIE_NAME, $session_id);
    return
    true;
    }

    function
    auth_session_destroy()
    {
    global
    $_COOKIE;

    if (isset(
    $_COOKIE[COOKIE_NAME]))
    {
    $session_id = $_COOKIE[COOKIE_NAME];
    $sql = "DELETE FROM sessions WHERE
    session_id = '
    $session_id'";
    $result = @mysql_query($sql);
    if (!
    $result)
    {
    die(
    'Si è verificato un errore
    nel rimuovere la sessione.'
    );
    }

    setcookie(COOKIE_NAME);
    return
    true;
    }

    // Non è loggato.
    return false;
    }

    function
    auth_check_user_login($username, $passwd)
    {
    /*
    * Avendo definito prima di quanti e quali caratteri
    * devono essere formati username e password, facciamo
    * un po' di pulizia sull'imput dell'utente
    */
    $username = addslashes($username);
    $passwd = addslashes($passwd);

    $sql = "SELECT user_id, user_username, user_passwd
    FROM users
    WHERE user_username = '
    $username'
    AND user_passwd = MD5('
    $passwd')";
    $result = @mysql_query($sql);
    if (!
    $result)
    {
    die(
    'Si è verificato un errore nel verificare
    i dati per l\'autenticazione.'
    );
    }

    if (
    mysql_num_rows($result) == 1)
    {
    list(
    $user_id, $db_username, $db_passwd) = mysql_fetch_row($result);
    if (
    $db_username == $username && $db_passwd == md5($passwd))
    {
    return
    $user_id;
    }
    else
    {
    return;
    }
    }
    else
    {
    return;
    }
    }

    function
    auth_check_user()
    {
    global
    $_COOKIE;

    if (isset(
    $_COOKIE[COOKIE_NAME]))
    {
    $session_id = $_COOKIE[COOKIE_NAME];

    $sql = "SELECT u.user_name
    FROM sessions s
    LEFT JOIN users u ON u.user_id = s.session_user_id
    WHERE s.session_id = '
    $session_id'";
    $result = @mysql_query($sql);
    if (!
    $result)
    {
    die(
    'Si è verificato un errore nella verifica della sessione.');
    }

    if (
    mysql_num_rows($result) == 1) {
    $user_info = mysql_fetch_assoc($result);
    return
    $user_info;
    }
    else
    {
    /*
    * C'è il cookie ma non c'è la sessione nel db
    * molto strano meglio uscire.
    */
    exit;
    }
    }
    else
    {
    header('Location: '. LOGIN_PAGE);
    exit;
    }
    }
    ?>
    sono alle prime armi perciò cercate di capirmi grazie.

    EDIT: P.S: approposito!!! se qualcuno di voi così gentile dopo quello che ho pubblicato potesse darmi una spiegazione dettagliata con eventuali correzioni scritte ve ne sarei grati.

    grazie ancora.
    Ultima modifica di debug : 15-01-2007 alle ore 16.35.28

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •