Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2015
    Messaggi
    2

    Accesso db MySQL non riconosciuto? (Guida)

    Buonasera a tutti,
    vi scrivo perché sono giorni che rileggo la guida "Guida PHP e MySql pratica" del vostro sito, ma non riesco a capire cosa sbaglio.
    Inizialmente, l'ho seguita passo passo e sono arrivata (o perlomeno così credevo) ad avere tutti i file necessari. Accedendo all'index.php, però, visualizzavo una pagina bianca. Ho controllato e ricontrollato, ma non trovando il problema ho scaricato lo .zip da voi fornito con tutti i file.
    Ho creato il database in phpmyadmin, ho creato le tabelle e ho cambiato username e password di accesso al database. Non capisco, però, quali siano le credenziali di accesso già presenti nel db perché, giustamente, la password è criptata. Lo username dovrebbe essere "admin", ma la password? Ho provato ad aggiungere un record con username e password scelti da me, ma non succede nulla: effettuo il login e se poi accedo alla pagina per l'inserimento dei post (che suppongo sia gestisci.php), mi reindirizza all'index.

    Cosa sto sbagliando? Ho cercato sul forum, ma non ho trovato altre domande su quella guida, spero di non avervi fatto perdere tempo..

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    287
    Quote Originariamente inviata da kaede94 Visualizza il messaggio
    Buonasera a tutti,
    vi scrivo perché sono giorni che rileggo la guida "Guida PHP e MySql pratica" del vostro sito, ma non riesco a capire cosa sbaglio.
    Inizialmente, l'ho seguita passo passo e sono arrivata (o perlomeno così credevo) ad avere tutti i file necessari. Accedendo all'index.php, però, visualizzavo una pagina bianca. Ho controllato e ricontrollato, ma non trovando il problema ho scaricato lo .zip da voi fornito con tutti i file.
    Ho creato il database in phpmyadmin, ho creato le tabelle e ho cambiato username e password di accesso al database. Non capisco, però, quali siano le credenziali di accesso già presenti nel db perché, giustamente, la password è criptata. Lo username dovrebbe essere "admin", ma la password? Ho provato ad aggiungere un record con username e password scelti da me, ma non succede nulla: effettuo il login e se poi accedo alla pagina per l'inserimento dei post (che suppongo sia gestisci.php), mi reindirizza all'index.

    Cosa sto sbagliando? Ho cercato sul forum, ma non ho trovato altre domande su quella guida, spero di non avervi fatto perdere tempo..
    ciao,

    considerando chi come me non ha letto la guida e quindi non sa di cosa parli. Puoi spiegarmi qual'e il problema?
    Non siate in ansia per la vostra vita; Guardate gli uccelli del cielo: non seminano, non mietono, non raccolgono in granai, e il Padre vostro celeste li nutre. Non valete voi molto più di loro? Cercate prima il regno e la giustizia di Dio, e tutte le altre cose vi saranno date in più.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2015
    Messaggi
    2
    Ciao e grazie della risposta.. Il codice fornito e spiegato nella guida crea un database per la gestione di un blog, con inserimento di post solo da parte degli utenti aventi l'autorizzazione (presenti nella tabella login, con un certo username e una certa password) e possibilità di approvazione o "rifiuto" dei commenti inseriti dai visitatori. La parte che mi interessava principalmente era proprio l'accesso autorizzato solo ad alcuni, perché mi interesserebbe riproporlo in un mio progetto (sempre che riesca a realizzare le altre cose che mi piacerebbe inserire..). Se non ho capito male, l'inserimento dei post dovrebbe, appunto, essere consentito solo agli utenti amministratori che sono registrati nella tabella login.

    Il problema è che non capisco l'utente già presente quale password abbia (perché criptata) né se inserendo un nuovo record debba funzionare. Credevo di sì, ma all'inserimento dello username e della password da me scelti, non compare il "modulo" per l'inserimento dell'articolo.

    Il codice della pagina dedicata al login è il seguente:
    Codice PHP:
    <?php
    // inizializzazione della sessione
    session_start();
    // se la sessione di autenticazione 
    // è già impostata non sarà necessario effettuare il login
    // e il browser verrà reindirizzato alla pagina di scrittura dei post
    if (isset($_SESSION['login']))
    {
     
    // redirect alla home page in caso di login mancato
     
    header("Location: gestisci.php");
    }
    // controllo sul parametro d'invio
    if(isset($_POST['submit']) && (trim($_POST['submit']) == "Login"))

      
    // controllo sui parametri inviati
      
    if( !isset($_POST['username']) || $_POST['username']=="" )
      {
        echo 
    "Attenzione, inserire la username.";
      }
      elseif( !isset(
    $_POST['password']) || $_POST['password'] =="")
      {
        echo 
    "Attenzione, inserire la password.";
      }else{
        
    // validazione dei parametri tramite diltro per le stringhe
        
    $username trim(filter_var($_POST['username'], FILTER_SANITIZE_STRING));
        
    $password trim(filter_var($_POST['password'], FILTER_SANITIZE_STRING));
        
    $password sha1($password);
        
    // inclusione del file della classe
        
    include "funzioni_mysql.php";
        
    // istanza della classe
        
    $data = new MysqlClass();
        
    // chiamata alla funzione di connessione
        
    $data->connetti();
        
    // interrogazione della tabella
        
    $auth $data->query("SELECT id_login FROM login WHERE username_login='$username' AND password_login='$password'");
        
    // controllo sul risultato dell'interrogazione
        
    if(mysql_num_rows($auth)==0)
        {
        
    // redirect alla home page in caso di insuccesso
          
    header("Location: index.php");
        }else{
          
    // chiamata alla funzione per l'estrazione dei dati
          
    $res =  $data->estrai($auth);
          
    // creazione del valore di sessione
          
    $_SESSION['login'] = $res->id_login;
          
    // chiusura della connessione a MySQL
          
    $data->disconnetti();
           
    // redirect alla pagina di amministrazione in caso di insuccesso
          
    header("Location: gestisci.php");
        }
      } 
    }else{
      
    // form per l'autenticazione
      
    ?>
    <h1>Accesso all'amministrazione:</h1>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
    Username:<br />
    <input name="username" type="text"><br />
    Password:<br />
    <input name="password" type="password" size="20"><br />
    <input name="submit" type="submit" value="Login">
    </form>
      <?
    }
    ?>
    Quello della pagina per l'inserimento del post è questo:
    Codice PHP:
    <?php
    // inizializzazione della sessione
    session_start();
    // controllo sul valore di sessione
    if (!isset($_SESSION['login']))
    {
     
    // reindirizzamento alla home page in caso di login mancato
     
    header("Location: index.php");
    }

    // valorizzazione delle variabili con i parametri dal form
    if(isset($_POST['submit'])&&($_POST['submit']=="Scrivi")){

      if(isset(
    $_POST['autore'])){
        
    $autore addslashes(filter_var($_POST['autore'], FILTER_SANITIZE_STRING));
      }
      if(isset(
    $_POST['titolo'])){
        
    $titolo addslashes(filter_var($_POST['titolo'], FILTER_SANITIZE_STRING));
      }
      if(isset(
    $_POST['testo'])){
        
    $testo addslashes(filter_var($_POST['testo'], FILTER_SANITIZE_STRING));
      }

          
    // inclusione del file della classe
        
    include "funzioni_mysql.php";
        
    // istanza della classe
        
    $data = new MysqlClass();
        
    // chiamata alla funzione di connessione
        
    $data->connetti();
        
    $t "post"# nome della tabella
        
    $v = array ($titolo,$testo,$autore,date("Y-m-d")); # valori da inserire
        
    $r =  "titolo_post,testo_post,autore_post,data_post"# campi da popolare

       // chiamata alla funzione per l’inserimento dei dati
        
    $data->inserisci($t,$v,$r);
        echo 
    "Articolo inserito con successo.";
        
    // disconnessione
        
    $data->disconnetti();
       }else{
      
    // form per l'inserimento
      
    ?>
    <h1>Inserimento post:</h1>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    Titolo:<br>
    <input name="titolo" type="text"><br />
    Testo:<br>
    <textarea name="testo" cols="30" rows="10"></textarea><br />
    Autore:<br>
    <input name="autore" type="text"><br />
    <input name="submit" type="submit" value="Scrivi">
    </form>
      <?
    }
    ?>
    Ho come l'impressione di aver dimenticato/non aver notato un errore minuscolo che però non fa funzionare nulla, ma è il codice fornito nello .zip dall'autore..

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.