Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [php+mysql]Visualizzazione semplice pagina

    Ciao a tutti. E' il mio primo approccio con questo linguaggio php.
    Ho seguito le istruzioni nelle pillole (configurazioni e installazioni) e ho provato ad effettuare una pagina di login con segnalazione della connessione/disconnessione dell'utente come quella tra le pillole.

    In front page ho realizzato una pagina index.html con due campi di testo e il bottone ENTRA.
    Poi al click su entra vado su login.php

    Codice PHP:
    <? 
    include 'funzioni.inc.php' 
    check($REMOTE_ADDR); 
    intestazione(); 
    ?> 
    [b]Pagina di Log In[/b]
     
    <? 
    $ris 
    checkIP($REMOTE_ADDR); 
    if (
    $ris) { 
        print 
    "Ciao $ris, eri già loggato. Vai alla home page.

    "

    } else { 
        if  (
    $id=controllo($_POST['user'],$_POST['pa
    ssw'
    ])) { 
            
    $conn connetti(); 
            
    $dataEntr = @time()+60*10// 60 sec * 10 minuti 
            
    $query mysql_query("INSERT INTO `utenti_online` (`id_utente`,`ip`,`tempo`) VALUES ('$id','$REMOTE_ADDR','$dataEntr')",$conn) or print mysql_error(); 
            
    disconnetti($conn); 
            echo 
    "Utente connesso. Vai alla home page.

    "

            } else { 
                print 
    "Attenzione il nick o la password inseriti non sono esatti!

    "

          } 


    finepagina(); 
    ?>
    mentre funzioni.inc.php
    Codice PHP:
    <? 
    function connetti() { 
        include 
    'config.inc.php'
        
    $connessione mysql_connect($dbhost,$dbuser,$dbpass) or die("Impossibile collegarsi al server MySQL."); 
        
    mysql_select_db('Accessi',$connessione) or die("Impossibile selezionare il database $dbname"); 
        return 
    $connessione


    function 
    disconnetti($connessione) { 
        
    mysql_close($connessione); 


    function 
    intestazione() { 
    ?> 
    <html> 
    <head> 
    <title>Titolo del sito</title> 
    </head> 
    <body> 
    <? 


    function 
    finepag() { 
    ?> 
    </body> 
    </html> 
    <? 


    function 
    controllo($user$passw) { 
        
    $conn connetti(); 
        
    $query mysql_query("SELECT id_utente,pass FROM utenti WHERE nick='$user'",$conn) or die( "Errore ricerca pass: " mysql_error() ); 
        
    $info mysql_fetch_assoc($query); 
        
    disconnetti($conn); 
        if (
    $info['pass']==$passw) { 
            return 
    $info[id_utente]; 
        } else { 
            return 
    0
        } 


    function 
    checkIP($ip) { 
        
    $conn connetti(); 
        
    $query mysql_query("SELECT nick FROM utenti INNER JOIN utenti_online ON utenti.id_utente=utenti_online.id_utente WHERE ip='$ip'",$conn) or die( "Errore controllo ip: " mysql_error() ); 
        
    $info mysql_fetch_row($query); 
        
    disconnetti($conn); 
        return 
    $info[0]; 


    function 
    check($ip) { 
        
    $conn connetti(); 
        
    $ora = @time()+60*5
        
    $query mysql_query("UPDATE utenti_online SET tempo='$ora' WHERE ip='$ip'",$conn) or die( "Errore allungamento tempo: " mysql_error() ); 
        
    $ora = @time(); 
        
    $query mysql_query("SELECT id FROM utenti_online WHERE tempo<'$ora'",$conn) or die( "Errore utenti fuoritempo: " mysql_error() ); 
        while (
    $info mysql_fetch_row($query)) { 
            
    $elim mysql_query("DELETE FROM utenti_online WHERE id='$info[0]' LIMIT 1",$conn) or die( "Errore eliminazione utenti online: " mysql_error() ); 
        } 
        
    disconnetti($conn); 

    ?>
    come output ho i seguenti messaggi
    codice:
    Warning: Failed opening 'config.inc.php' for inclusion (include_path='.;c:\php4\pear') in c:\testphp\funzioni.inc.php on line 3
    Pagina di Log In
    
    Warning: Failed opening 'config.inc.php' for inclusion (include_path='.;c:\php4\pear') in c:\testphp\funzioni.inc.php on line 3
    
    Warning: Failed opening 'config.inc.php' for inclusion (include_path='.;c:\php4\pear') in c:\testphp\funzioni.inc.php on line 3
    Attenzione il nick o la password inseriti non sono esatti!
    
    
    Fatal error: Call to undefined function: finepagina() in c:\testphp\login.php on line 24
    Sapete aiutarmi per caso??
    grazie anticipatamente a chiunque tenti di aiutarmi.

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Il fatal error è dovuto al fatto che la funzione l'hai chiamata finepag e poi hai tentato di richiamarla come finepagina.
    I warning sembrerebbero un problema di percorso. il file config.inc.php si trova allo stesso livello di quello in cui lo includi?

  3. #3
    innanzitutto grazie per la risposta!
    Ho provveduto a correggere l'errore relativo al finepagina.
    Il file config.inc.php si trova nella cartella phpadmin che a sua volta si trova nella cartella in cui ci sono tutti i file con cui sto provando (index.html, login.php, funzioni.inc.php).
    Per far capire che deve andare a cercare in phpadmin/config.inc.php, cosa dovrei scrivere alla voce dell'include??

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    Originariamente inviato da motogpdesmo16
    innanzitutto grazie per la risposta!
    Ho provveduto a correggere l'errore relativo al finepagina.
    Il file config.inc.php si trova nella cartella phpadmin che a sua volta si trova nella cartella in cui ci sono tutti i file con cui sto provando (index.html, login.php, funzioni.inc.php).
    Per far capire che deve andare a cercare in phpadmin/config.inc.php, cosa dovrei scrivere alla voce dell'include??
    se fai così cambia qualcosa?
    Codice PHP:
    include './phpadmin/config.inc.php'
    auz!

  5. #5
    avevo già provato. ottengo questo:

    codice:
    Fatal error: Failed opening required './libraries/select_lang.lib.php' 
    (include_path='.;c:\php4\pear') in c:\testphp\phpadmin\config.inc.php on line 146

  6. #6
    up. grazie.

  7. #7
    eliminando il riferimento suddetto alla include, le pagine funzionano ma, qualsiasi utente inserisca, nonostante lo abbia già registrato nel database, ottengo come risultato "nick o password non corretti".

    C'è da dire che la registrazione l'ho fatta tramite phpmyadmin.

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.