Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    creazione pagina di Login in PHP

    Ciao a tutti, sto cercando di creare una pagina di Login, dalla quale si può essere reindirizzati su altre 2 pagine.

    Riscontro quest errore,

    Fatal error: Function name must be a string in C:\xampp\htdocs\Progetto\Home.php on line 21

    Vi allego sotto il File che sto usando come Main e poi quello con le funzioni.

    Codice PHP:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>Home</title>
        </head>
        <body>
            <?php
            
    /// inclusione del file della classe
            
    include "funzioni_mysql.php";
            
    // istanza della classe
           
    $data = new mysql();
            
    // chiamata alla funzione di connessione
            
    $$data_connetti $data;
                
    // Nome utente e password inviate attraverso il form
    $username=$_POST['username'];
    $password=$_POST['password'];

    // interrogazione della tabella
    $auth $data_query("SELECT id_login FROM login WHERE username_login = '$username' AND password_login = '$password'");

    // Mysql_num_row is counting table row
    $count=mysql_num_rows($auth);

    if(
    $count==1){
    // redirect to file “index1.php”
    header("location:Index1.php");
    }
    elseif(
    $count==2){
    // redirect to file “index2.php”
    header("location:Index2.php");
    }
    else{
    echo 
    "Attenzione username o password errati";
    }
            
    ?>


    <h1>Accesso all'amministrazione:</h1>
    <form method="POST">
    Username:

    <input name="username" type="text">

    Password:

    <input name="password" type="password" size="20">

    <input name="submit" type="submit" value="Login">
    </form>

        </body>
    </html>
    FUNZIONI

    Codice PHP:
    <?php
    class MysqlClass
    {
      
    // parametri per la connessione al database
      
    private $nomehost "localhost";
      private 
    $nomeuser "root";
      private 
    $password "";
      private 
    $nomedb "multimedia_casa";

      
    // controllo sulle connessioni attive
      
    private $attiva false;

      
    // funzione per la connessione a MySQL
      
    public function connetti()
      {

       if(!
    $this->attiva)
       {
        
    $connessione mysql_connect($this->nomehost,$this->nomeuser,$this->password);
        {
           
    // selezione del database
           
    $selezione mysql_select_db($this->nomedb,$connessione) or die (mysql_error());
          }

           }else{
            return 
    true;
           }
        }

    // funzione per la chiusura della connessione
    public function disconnetti()
    {
            if(
    $this->attiva)
            {
                    if(
    mysql_close())
                    {
             
    $this->attiva false;
                 return 
    true;
                 
                    }else{
                            return 
    false;
                    }
            }
     }

     
    //funzione per l'esecuzione delle query
    public function query($sql)
     {
      if(isset(
    $this->attiva))
      {
      
    $sql mysql_query($sql) or die (mysql_error());
      return 
    $sql;
      }else{
      return 
    false;
      }
     }

     
    //funzione per l'inserimento dei dati in tabella
        
    public function inserisci($t,$v,$r null)
        {
             if(isset(
    $this->attiva))
              {
                            
    $istruzione 'INSERT INTO '.$t;
                if(
    $r != null)
                {
                    
    $istruzione .= ' ('.$r.')';
                }

                for(
    $i 0$i count($v); $i++)
                {
                    if(
    is_string($v[$i]))
                        
    $v[$i] = '"'.$v[$i].'"';
                }
                
    $v implode(',',$v);
                
    $istruzione .= ' VALUES ('.$v.')';

                
    $query mysql_query($istruzione) or die (mysql_error());

                }else{
                    return 
    false;
                }
            }
            
    // funzione per l'estrazione dei record
    public function estrai($risultato)
     {
      if(isset(
    $this->attiva))
      {
      
    $r mysql_fetch_object($risultato);
      return 
    $r;
      }else{
      return 
    false;
      }
     }

    }


    ?>
    Qualcuno mi sa dire dove sbaglio?? Grazie

  2. #2
    Come recita l'errore che hai ricevuto, i nomi di funzione vanno scritti senza il $ iniziale.
    Alla riga 21 tu invece hai:

    $data_query(...

    Comunque non è il solo errore: dubito che lo script possa funzionare.
    Tecnolgie per l'arte.
    Arti per la tecnologia.
    softhare

  3. #3
    Originariamente inviato da softhare
    Come recita l'errore che hai ricevuto, i nomi di funzione vanno scritti senza il $ iniziale.
    Alla riga 21 tu invece hai:

    $data_query(...

    Comunque non è il solo errore: dubito che lo script possa funzionare.
    potresti dirmi gli altri???
    Tanto poi so che va a finire che mi tocca chiedere!!!

  4. #4
    Originariamente inviato da softhare
    Come recita l'errore che hai ricevuto, i nomi di funzione vanno scritti senza il $ iniziale.
    Alla riga 21 tu invece hai:

    $data_query(...

    Comunque non è il solo errore: dubito che lo script possa funzionare.
    Mi correggo, questo l'avevo già risolto, il mio prpblema è qusto!

    avevo sbagliato a copiare scusate!

    Fatal error: Class 'mysql' not found in C:\xampp\htdocs\Progetto\Home.php on line 12

    Non capisco il perchè visto che la classe è dichiarata e l'altri file è incluso- grazie

  5. #5
    La classe si chiama MysqlClass

  6. #6
    Originariamente inviato da k.b
    La classe si chiama MysqlClass
    Grazie!

    Solo non capisco è lo stesso codice che ho usato ieri e funzionava, oggi ho apportato un pò di modifiche, ma i pezzi di chiamata alle funzioni non li ho toccati. Ora mi da questo:

    Fatal error: Call to undefined function data_query() in C:\xampp\htdocs\Progetto\Home.php on line 21

    E se poi lo rimetto con $, com'era ieri, e voi mi dite essere sbaglaito mi viene segnalato sempre come errore

  7. #7
    Temo che, visto che usi una classe per operare sul db, la tua sintassi dovrebbe essere quella delle classi e non quella delle funzioni.

    Nel caso specifico prova a sostituire:
    Codice PHP:
    $auth=$data_query("SELECT id_login FROM login WHERE... 
    con:
    Codice PHP:
    $auth=$data=>query("SELECT id_login FROM login WHERE 
    Ma lo stesso problema lo avrai anche con $$data_connect(...) che dovrebbe essere $data=>connect(...).

    In sintesi non stai usando la sintassi corretta: per questo non funziona.

    Dici che ieri funzionava, ma forse intendi dire che ieri non segnalava errori, che è un'altra cosa...
    Tecnolgie per l'arte.
    Arti per la tecnologia.
    softhare

  8. #8
    La sintassi corretta per le chiamate a metodi e proprieta' e' '->' non '=>'

  9. #9
    ...oops...
    Scusate...appena sveglio...
    Tecnolgie per l'arte.
    Arti per la tecnologia.
    softhare

  10. #10
    Ora non da errori, si forse avevate ragioni, ieri non dava errori però non funzionava.

    Ade mi fa vedere la pagina, ma la riga dove dico "Attenzione username o password errati", me la fa vedere sempre nella Home.php nche se dovrebbe farlo solo quando username e password non sono correti.

    E cmq se inserisco non funziona.

    Non è che dovrei mettere perima il codice dei POST e poi il codice PHP?
    In quanto prima deve prendere il dato e poi fare il confronto?

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.