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

    [PHP & MySQL] Errore funzione

    Ciao a tutti,

    sto creando la mia prima funzione, ma come mi aspettavo c'é qualcosa che non ma mi potete dare una mano a capire come devo fare?

    Codice PHP:
    <?php 
    function checkLogin(){
        include
    "config.inc.php";
        
    $user $_POST['usr'];
        
    $pass $_POST['pwd'];
        
    $loginOk "protected.php";
        
    $loginFail "login.php";
    mysql_select_db($database_name$conn) or die ("Errore nel selezionare il database: " mysql_error());
        
    $sql "SELECT * FROM tb_login WHERE lg_usr = '$user' AND lg_pwd = '$pass'";
        
    $query mysql_query($sql);
            
        if(
    mysql_num_rows 
        {
            
    header("Location: " $loginOk);
            exit();
        } else {
            
    header("Location: " $loginFail);
            exit();
        }
        }
        
    ?>

    <html>
    <head>
    <title>Area Riservata</title>
    </head>

    <body>
    <form name="login" method="post" action="<?php echo $_SERVER['PHP_SELF'];?>" onSubmit="return checkLogin(this)">
    <table width="400" border="0" cellpadding="0" cellspacing="0">
    <tr>
        <td width="200">Username:</td>
        <td width="200"><input name="usr" type="text" id="usr" /></td>
    </tr>
    <tr>    
        <td>Password:</td>
        <td><input name="pwd" type="password" id="pwd" /></td>
    </tr>
    <tr>
        <td></td>
        <td><input type="Submit" value="Submit" name="Submit"></td>
    </tr>
    </table>
    </form>
    </body>
    </html>
    Grazie Michel
    PHP THE BEST

  2. #2
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    mettere l'errore mai vero?

    Comunque:

    1) perché l'esecuzione della query non ha la clausola "or die()" come la selezione del db?

    2) "mysql_num_rows" scritto in quel modo significa niente. "mysql_num_rows($query)"

    3) se quello che hai pubblicato è tutto il file, definisci la funzione checkLogin() ma non esegui nulla

  3. #3
    ops si mi sono accordo errori di distrazione ora li ho corretti.

    ora lo script si presenta cosi:

    Codice PHP:
    <?php 
    function checkLogin($user$pass){
        include
    "config.inc.php";
        
    $user $_POST['usr'];
        
    $pass $_POST['pwd'];
        
    $loginOk "protected.php";
        
    $loginFail "login.php";
    mysql_select_db($database_name$conn) or die ("Errore nel selezionare il database: " mysql_error());
        
    $sql "SELECT * FROM tb_login WHERE lg_usr = '$user' AND lg_pwd = '$pass'";
        
    $query mysql_query($sql) or die ("Errore nella query" mysql_error());
            
        if(
    mysql_num_rows($query) > 
        {
            
    header("Location: " $loginOk);
            exit();
        } else {
            
    header("Location: " $loginFail);
            
    $msg "Errore";
            exit();
        }
        }
        
    ?>
    pero non capisco se richiamo la funzione in modo corretto?

    Grazie Michel
    PHP THE BEST

  4. #4
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    ma dov'è che la richiami, 'sta funzione?

  5. #5
    a richiamo dal form se é corretto:

    Codice PHP:
    <html>
    <head>
    <title>Area Riservata</title>
    </head>

    <body>
    <form name="login" method="post" action="<?php echo $_SERVER['PHP_SELF'];?>" [COLOR=red]onSubmit="return checkLogin()[/COLOR]">
    <table width="400" border="0" cellpadding="0" cellspacing="0">
    <tr>
        <td width="200">Username:</td>
        <td width="200"><input name="usr" type="text" id="usr" /></td>
    </tr>
    <tr>    
        <td>Password:</td>
        <td><input name="pwd" type="password" id="pwd" /></td>
    </tr>
    <tr>
        <td><?php echo $msg;?></td>
        <td><input type="Submit" value="Submit" name="Submit"></td>
    </tr>
    </table>
    </form>
    </body>
    </html>
    la richiamo cosi onsubmit="return checkLogin();"

    Grazie Michel
    PHP THE BEST

  6. #6
    aiutatemi a rinfrescarmi le idee so che non sono in chiaro!!!
    PHP THE BEST

  7. #7
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da Sbarboff2005
    <form name="login" method="post" action="<?php echo $_SERVER['PHP_SELF'];?>" onSubmit="return checkLogin()">
    oh sant'iddio VVoVe: VVoVe:

    Non mi ero accorto di quell'orrore

    Non so chi ti abbia messo in testa di poter chiamare da javascript una funzione php, ma sarà meglio togliertela in fretta.

    Fai così
    Codice PHP:
    <?php
       
    include"config.inc.php";
    if (! empty(
    $_POST)) {
        
    $user $_POST['usr'];
        
    $pass $_POST['pwd'];
        
    $loginOk "protected.php";
        
    $loginFail "login.php";
    mysql_select_db($database_name$conn) or die ("Errore nel selezionare il database: " mysql_error());
        
    $sql "SELECT * FROM tb_login WHERE lg_usr = '$user' AND lg_pwd = '$pass'";
        
    $query mysql_query($sql) or die ("Errore nella query" mysql_error());
            
        if(
    mysql_num_rows($query) > )
        {
            
    header("Location: " $loginOk);
            exit();
        } else {
            
    header("Location: " $loginFail);
            
    $msg "Errore";
            exit();
        }
        }
        
    ?>
    e TOGLI l'onSubmit dal tag form

  8. #8
    Alla fine ho sono riuscito facendo cosi:

    Pagina form login login.php:

    Codice PHP:
    <?php
    error_reporting 
    (E_ALL);

    if(isset(
    $_GET['action']) && $_GET['action'] == "LoginFail") {
        
    $msg "Errore! Immettere nome utente e password corretti!";
    }
    if(isset(
    $_GET['action']) && $_GET['action'] == "LogOut") {
        
    $msg "Logout effettuato con successo!";
    }
    if(isset(
    $_POST['Submit']) && $_GET['action'] == "Login") {
    include
    "config.inc.php";
    include
    "function.inc.php";
    $user $_POST['usr'];
    $pass $_POST['pwd'];
    checkLogin($user$pass);
    }
    ?>

    <html>
    <head>
    <title>Area Riservata</title>
    </head>

    <body>
    <form name="login" method="post" action="<?php echo $_SERVER['PHP_SELF'] . "?action=Login";?>">
    <table width="400" border="0" cellpadding="0" cellspacing="0">
    <tr>
        <td width="200">Username:</td>
        <td width="200"><input name="usr" type="text" id="usr" /></td>
    </tr>
    <tr>    
        <td>Password:</td>
        <td><input name="pwd" type="password" id="pwd" /></td>
    </tr>
    <tr>
        <td></td>
        <td><input type="Submit" value="Submit" name="Submit"></td>
    </tr>
    </table>
    <?php 
    if(isset($msg)) { 
        echo 
    $msg
            }
    ?>
    </form>
    </body>
    </html>
    Pagina admin admin.php

    Codice PHP:
    <?php
    session_start
    ();
    include
    "function.inc.php";
    verifyAuth();
    if(isset(
    $_GET['exit']) && $_GET['exit'] = "yes") {
        
    logOut();
    }


    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Admin Area</title>
    </head>


    Benvenuto <?php echo $_SESSION['username'];?> ora puoi amministrare il il sito.</p>


    </p>


    [url="admin.php?exit=yes"]LogOut[/url]</p>
    </body>
    </html>
    Pagina funzioni function.php

    Codice PHP:
    <?php

    // Funzione controlla username e password

    function checkLogin($user$pass) {
        
    session_start();
        
    $_SESSION['auth'] = 0;
        include
    "config.inc.php";
    mysql_select_db($database_name$conn) or die ("Errore nel selezionare il database: " mysql_error());
        
    $sql "SELECT * FROM tb_login WHERE lg_usr = '$user' AND lg_pwd = '$pass'";
        
    $query mysql_query($sql) or die ("Errore nella query" mysql_error());
            
        if(
    mysql_num_rows($query) > 
        {
            
    $_SESSION['username'] = $user;
            
    $_SESSION['auth'] = 1;
            
    header("Location: admin.php?action=LoginOk");
            exit();
        } else {
            
    header("Location: login.php?action=LoginFail");
            exit();
        }
        }
        
    // Funzione verifica se si é loggati
    function verifyAuth() {
    if(isset(
    $_SESSION['auth']) && $_SESSION['auth'] = 1){
        } else {
        
    header("Location: login.php?action=LoginFail");
        exit();
        }
        }

    // Funzione per il logout    
    function logOut() {
        
    session_start();
        
    session_unset();
        
    session_destroy();
        
    header("Refresh:5; URL=login.php?action=LogOut");
        echo 
    "Logout in corso ...";
        exit();
        }
    ?>
    Qualcuno mi puo gentilmente controllare se quello che ho fatto va bene o potrei migliorare il tutto? Per esempio le funzioni sono corrette? è la prima volta che uso le funzioni e non so se sono giuste!!
    Funziona tutto senz errori pero volevo un parere da qualcuno più esperto di me!!

    Grazie Michel
    PHP THE BEST

  9. #9
    Nessuno é così gentile di darmi uno sguardo al mio script per trovare vari errori che mi sfuggono?

    Grazie Michel
    PHP THE BEST

  10. #10
    up
    PHP THE BEST

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.