Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2015
    Messaggi
    83

    Potete per caso aiutarmi a creare un form di verifica login da un form di registrazione?

    ho preso da questo sito http://www.mtxweb.ch/php_learn/?p=389 un form di registrazione e funziona correttamente.
    Ora vorrei creare un form anche di login che funzioni sulle registrazioni create in quel form.
    Potete aiutarmi?

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Dove ti sei bloccato?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2015
    Messaggi
    83
    mi manca proprio la sezione li login una volta che mi registro devo accedere quindi come devo creare il file di login.php?

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    vedi qui
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2015
    Messaggi
    83
    ho creato questo file di login :

    <?php
    include('db_config.php');
    if(isset($_POST['login'])) {
    $username = isset($_POST['username']) ? clear($_POST['username']) : false;
    $password = isset($_POST['password']) ? clear($_POST['password']) : false;
    if(empty($username) || empty($password)) {
    echo 'Riempi tutti i campi.<br /><br /><a href="javascript:history.back();">Indietro</a>';
    } elseif(mysql_num_rows(mysql_query("SELECT * FROM users WHERE username LIKE '$username'")) == 0) {
    echo 'Username non trovato.<br /><br /><a href="javascript:history.back();">Indietro</a>';
    } else {
    $password = md5($password);
    $ip = $_SERVER['REMOTE_ADDR'];
    if(mysql_num_rows(mysql_query("SELECT * FROM users WHERE username LIKE '$username' AND password='$password'")) > 0) {
    $username = mysql_result(mysql_query("SELECT username FROM users WHERE username LIKE '$username'"), 0);
    $userid = mysql_result(mysql_query("SELECT id FROM users WHERE username LIKE '$username'"), 0);
    mysql_query("UPDATE users SET last_login='".time()."', last_ip='$ip' WHERE id='$userid'") or die(mysql_error());
    $_SESSION['username'] = $username;
    $_SESSION['userid'] = $userid;
    header('Location: index.php');
    }
    }
    } else {
    ?>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
    <label>Username: <input type="text" name="username" required maxlength="16" /></label><br />
    <label>Password: <input type="password" name="password" required maxlength="20" /></label><br />
    <input type="submit" name="login" value="Accedi" />
    </form>
    <?php
    }
    ?>

    quando provo ad effettuare un accesso non accade nulla va in una pagina bianca e vuota (test sul mio server Locale) puoi aiutarmi

    ti allego da scaricare ,lo zip con tutto il mio form di registrazione che puoi visualizzare

    http://www.alessiobiscotto.com/scaricare.html

    Se per caso il lavoro richiede troppo tempo, contattatmi e ci metteremo d'accordo x un prezzo

    info@alessiobiscotto.com



    questo è il mio DATABASE:


    -- phpMyAdmin SQL Dump
    -- version 4.4.9
    -- http://www.phpmyadmin.net
    --
    -- Host: localhost
    -- Creato il: Lug 28, 2015 alle 10:26
    -- Versione del server: 5.5.42
    -- Versione PHP: 5.6.10


    SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
    SET time_zone = "+00:00";


    --
    -- Database: `miodb`
    --


    -- --------------------------------------------------------


    --
    -- Struttura della tabella `users`
    --


    CREATE TABLE `users` (
    `id` int(4) NOT NULL,
    `username` varchar(20) NOT NULL,
    `email` varchar(60) NOT NULL,
    `password` varchar(50) NOT NULL,
    `key_control` varchar(50) NOT NULL,
    `ver` int(1) NOT NULL
    ) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;


    --
    -- Dump dei dati per la tabella `users`
    --


    INSERT INTO `users` (`id`, `username`, `email`, `password`, `key_control`, `ver`) VALUES
    (1, 'bisco11', 'susylove87@live.it', 'a0a3913e79d9cb716f5bcdaebd2456b1', 'WwsYaq24k5s3xRG9HKU0PPzYhajTXWHpoZloJfKw', 0),
    (2, 'mariogardini', 'mariogardini@gardini.it', 'e10adc3949ba59abbe56e057f20f883e', 'OHPp4B0XQ1yC38pCqDGHPHxhOFnxt9udHEsEGn4x', 0);


    --
    -- Indici per le tabelle scaricate
    --


    --
    -- Indici per le tabelle `users`
    --
    ALTER TABLE `users`
    ADD PRIMARY KEY (`id`);


    --
    -- AUTO_INCREMENT per le tabelle scaricate
    --


    --
    -- AUTO_INCREMENT per la tabella `users`
    --
    ALTER TABLE `users`
    MODIFY `id` int(4) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=3;
    Ultima modifica di bisco11; 28-07-2015 a 10:27

  6. #6
    Utente di HTML.it L'avatar di brodik
    Registrato dal
    Jan 2009
    Messaggi
    764
    Perchè nella query usi LIKE anzichè = ?

    Comunque ho modificato leggermente il tuo script in quanto non avevo tempo/voglia di utilizzare il tuo script.. a me così funziona...
    Mancava un ELSE nel caso non trovi l'accoppiamento user - password
    Codice PHP:
    <?php 

    ERROR_REPORTING
    (E_ALL);

    function 
    clear($clear){
        return 
    $clear;
    }

    if(isset(
    $_POST['login'])) {
        
    $username = isset($_POST['username']) ? clear($_POST['username']) : false;
        
    $password = isset($_POST['password']) ? clear($_POST['password']) : false;
        if(empty(
    $username) || empty($password)) {
            echo 
    'Riempi tutti i campi.<br /><br /><a href="javascript:history.back();">Indietro</a>';
        } else {
            
    //$password = md5($password);
            
    $ip $_SERVER['REMOTE_ADDR'];
            if(
    $username == "olo" && $password == "lol") {
                
    $_SESSION['username'] = $username;
                
    $_SESSION['ip'] = $ip;
                
    header('Location: index.php');
            }else{
                
    header('Location: error.php');
            }
        }
    } else {

    echo <<<EOF
        <form action="{$_SERVER['PHP_SELF']}" method="POST">
        <label>Username: <input type="text" name="username" required maxlength="16" /></label><br />
        <label>Password: <input type="password" name="password" required maxlength="20" /></label><br />
        <input type="submit" name="login" value="Accedi" />
        </form>
    EOF;

    }

    ?>
    eXvision

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2015
    Messaggi
    83
    ciao, ti ringrazio per vaermi dedicato tempo.
    Comunque ho sostituito il mio login.php con questo script che ha postato tu, ma non funziona, quando provo ad accedere mi apre la pagina error-defination.php tu avevi messo solo error.php.... in questo script manca il riferimento al database anke giusto?

  8. #8
    Utente di HTML.it L'avatar di brodik
    Registrato dal
    Jan 2009
    Messaggi
    764
    certo, come ti avevo scritto per evitare di dover creare db ho eliminato tutti i riferimenti a mysql.
    Questo per verificare che il login avvenisse correttamente.
    Per gli altri file da te citati (vedi error-defination.php) non sapevo neanche dell'esistenza in quanto ho guardato solo quello che hai scritto nel primo post.
    Se vuoi far la prova di login, come vedi dallo script, username = olo e password = lol
    Una volta che hai verificato che il tutto funziona devi riscrivere lo script reinserendo i riferimenti al db
    eXvision

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.