Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    23

    Aiuto: Login in PHP senza MySQL :(

    Sto cercando di creare un login in php senza l'utilizzo di mysql..
    ho deciso di strutturarlo in 3 file.
    1. il form di login
    2. il file che controlla i dati
    3. il file di configurazione con all'interno $username e $password

    il problema è che mi sono bloccato con il file 2. vorrei creare un login con le funzione if e else in modo che se i dati inseriti sono esatti esca "login effettuato" mentre se vengono inseriti dati sbagliati esca "username o password errati" mi trovate un codice funzionante? grazie

  2. #2
    posta il tuo script in modo da poter vedere le eventuali modifiche

  3. #3
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Nel secondo file crea una funzione che verifichi se nel file di configurazione ci sono username e password corrispondenti e restituisca true o false rispettivamente se trova o no una corrispondenza, così puoi fare

    Codice PHP:
    if ( check_login($user$pass) )
    {
        echo 
    "Login effettuato";
    }
    else
    {
        echo 
    "Coppia username e password errata";


  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    23

    Mi da errore

    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Nel secondo file crea una funzione che verifichi se nel file di configurazione ci sono username e password corrispondenti e restituisca true o false rispettivamente se trova o no una corrispondenza, così puoi fare

    Codice PHP:
    if ( check_login($user$pass) )
    {
        echo 
    "Login effettuato";
    }
    else
    {
        echo 
    "Coppia username e password errata";

    ho provato con il codice che hai scritto tu ma mi esce Fatal error: Call to undefined function check_login() in /membri/alifreaks/test/login/CheckUser.php on line 6
    come lo risolvo? il codice php che uso è questo
    Codice PHP:
    <?phpsession_start();
    require 
    'include.php';
    if ( 
    check_login($user$pass) ){    echo "Benvenuto $username";}else{    echo "Nome Utente o Password Errata";}  
    ?>

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    23
    ho provato anche con questo ma la pagina mi resta bianca usando questo codice.. mi serve un codice che controlli che $user e $pass contenuti nel file config.php siano corretti. e che se siano corretti esca login avvenuto con successo altrimenti che esca un errore.. aiuto :/

    Codice PHP:
    <?php
    session_start
    ();
    include(
    "config.php");
    if (isset(
    $_POST['username'], $_POST['password']))
        {
            if (
    trim($_POST['username']) == '$user' && trim($_POST['password']) == '$pass')
            {
                
    $_SESSION['username'] = '$user';
                 
    $_SESSION['password'] = '$pass';

                
    // Successful login, send them home!
                
    header('Location: /');
                exit;
            }
            else
            {
                echo 
    'Invalid login credentials, try again.';
            }
        }
    ?>

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    La funzione check_login() la devi scrivere tu secondo come è fatto il tuo file di configurazione dove ci sono scritti username e password., non è una funzione che esiste in PHP.

  7. #7
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Questo '$user' non funzionerà mai, non puoi mettere variabili dentro agli apici singoli, non vengono interpretate.

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    23

    si ma..

    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Questo '$user' non funzionerà mai, non puoi mettere variabili dentro agli apici singoli, non vengono interpretate.
    si ma la configurazione sono solo queste 2 righe.. dunque come posso fare???
    Codice PHP:
    <?php $user="Admin"
    $pass="Prova";  ?>

  9. #9
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    basta che togli gli apici da intorno alle variabili...
    Codice PHP:
    <?php
    session_start
    ();
    include(
    "config.php");
    if (isset(
    $_POST['username'], $_POST['password']))
        {
            if (
    trim($_POST['username']) == $user && trim($_POST['password']) == $pass)
            {
                
    $_SESSION['username'] = $user;
                 
    $_SESSION['password'] = $pass;

                
    // Successful login, send them home!
                
    header('Location: /');
                exit;
            }
            else
            {
                echo 
    'Invalid login credentials, try again.';
            }
        }
    ?>
    ricorda: le variabili vengono interpretate se racchiuse tra apici doppi("$var"), non vengono interpretate se racchiuse tra apici singoli ('$var'). piccolo esempio che puoi usare per testare come funzionano gli apici:

    Codice PHP:
    <?php

    $var 
    "il contenuto della variabile";

    echo 
    "questo stamperà $var <br />";
    echo 
    'questo stamperà: $var <br />';

    ?>

  10. #10
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Ma se nel file di configurazione hai solo quelle due variabili lì, che te ne fai?
    Mettile direttamente nel file che verifica il login

    if ( $_POST['username'] == 'Admin' && $_POST['password'] == 'Prova' )

    il risultato è lo stesso ed eviti di includere un file inutile.

Tag per questa discussione

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.