Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 39
  1. #1

    pagina .php che interagische database

    Ciao a tutti, devo fare un progetto per la scuola, ma sono alle prime armi col PHP, e non riesco a capire come avvine un passaggio di parametri, qualcuno può gentilmente aiutarmi a capire?

    Vi spiego meglio, con phpmyadmin, ho costruito il mio database, nello specifico sto lavorando sulla tabella login, ornaizzata in questo modo:

    -- Struttura della tabella `login`
    --

    CREATE TABLE IF NOT EXISTS `login` (
    `id_login` int(1) NOT NULL AUTO_INCREMENT,
    `username_login` varchar(10) NOT NULL,
    `password_login` varchar(40) NOT NULL,
    PRIMARY KEY (`id_login`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

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

    INSERT INTO `login` (`id_login`, `username_login`, `password_login`) VALUES
    (1, 'admin', 'admin'),
    (2, 'user', 'user');
    Ora questa è la mia pagina di login da browser:

    <html>
    <head>
    <title> Login </titel>
    Multimedia Casa Login



    </head>
    <body>
    <form action="login2.php" method="login">
    Username:&nbsp
    <input type="text" name="User" size="20">

    Password:&nbsp
    <input type="text" name="Pass" size="20">

    <input type="submit" value="Entra">
    </form>
    </body>
    </html>
    E questa la pagina a cui reindirizzo, login2:

    <?php
    include("Conessione_Db.PHP");
    ?>

    <?php
    $user=$_REQUEST['User'];
    $pass=$_REQUEST['Pass'];


    $query = mysql_query("select * from login");
    $row = mysql_fetch_array($query);
    $row['username_login'];
    $row['passwird_login'];

    Print("$user");
    Print("$row['username_login']");

    ?>
    Ora nell ultimo file(login2) se faccio: Print("$user"); funziona perfettamente, mentre Print("$row['username_login']"); inserendo questa istruzione non funziona più la pagina.

    Non riesco a capire come mettere i valori che richiamo dal database in una variabile, che poi posso usare per fare i confronti con i valori che inserisco dalla pagina precedente per vedere su username e password coincidono con quelle della tabella.

    Qualcuno potrebbe spiegarmi come si dovrebbero passare le variabili per poterle utilizzare in questo modo?

    grazie mille

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Nel form che crei, questo è sbagliato
    <form action="login2.php" method="login">

    il method può essere post o get, non un'altra cosa, essendo un login usa post.

    Nella pagina php poi invece di
    $_REQUEST['...'];

    usa
    $_POST['...'];
    questo perché specificherai post nel method del form (se specificassi get dovresti usare $_GET['...'])

    Tu fai così
    Codice PHP:
    $query mysql_query("select * from login");
    $row mysql_fetch_array($query);
    $row['username_login'];
    $row['passwird_login']; 
    ma quella query ritorna 2 record, quello dell'admin e quello dell'utente, devi ciclare sull'array per stampare i dati che contiene, ad esempio cos
    Codice PHP:
    $query mysql_query("select * from login");
    while(
    $row mysql_fetch_row($query)) {
       echo 
    $row['username_login'] . "
    "
    ;
       echo 
    $row['passwird_login'] . "
    "
    ;

    Edit: mancavano anche le istruzioni per stampare i dati presi dal db.

  3. #3
    Nel form che crei, questo è sbagliato <form action="login2.php" method="login">
    Hai ragione, è stato un errore di scrittura, ma funzionava lo stesso

    Non capisco una cosa in questo pezzo di codice:

    Codice PHP:
    $query mysql_query("select * from login"); 
    while(
    $row mysql_fetch_row($query)) {    
    $row['username_login'];   
     
    $row['passwird_login']; } 
    io così metto in $row sia username che la password giusto? ma me cicla per tutti i capi della tabella o per solo un username e una password?

  4. #4
    è ma io non voglio stamparli, voglio usarli come variabili, per confrontarli con i dati che inserisco per il login

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Se vuoi mantenere questa struttura
    Codice PHP:
    $query mysql_query("select * from login");
    $row mysql_fetch_array($query);
    $row['username_login']; //questa non fa niente
    $row['passwird_login']; //questa non fa niente

    Print("$user");
    Print(
    "$row['username_login']"); 
    devi fare così
    Codice PHP:
    $query mysql_query("select * from login");
    $row mysql_fetch_array($query);

    Print(
    "$user");
    Print(
    "$row[0]['username_login']"); // stamperà il campo username_login del primo record trovato 

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Originariamente inviato da Enry2108
    Non capisco una cosa in questo pezzo di codice:

    Codice PHP:
    $query mysql_query("select * from login"); 
    while(
    $row mysql_fetch_row($query)) {    
       
    $row['username_login'];   
       
    $row['passwird_login'];

    io così metto in $row sia username che la password giusto? ma me cicla per tutti i capi della tabella o per solo un username e una password?
    Cicla su tutti i risultati recuperati dal db.

  7. #7
    la stampa era una prova per vedere cosa c'era all'interno delle variabili, se io uso questa dicitura: $row[0]['username_login'].
    senza utilizzare il ciclo while, all'interno della variabile avro solo un valore presente in un capo della tabella giusto? e lo potro usare per confrontarlo con il valore dell'username che inserisco io nella prima pagina. il mio ragionamento è corretto?

  8. #8
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Si, e precisamente per come hai creto la tabella login:
    Codice PHP:
    $row[0]['username_login'//contiene l'username dell'admin
    $row[0]['password_login'//contiene la password dell'admin
    $row[1]['username_login'//contiene l'username dell'utente
    $row[1]['password_login'//contiene la password dell'utente 

  9. #9
    Originariamente inviato da Enry2108
    la stampa era una prova per vedere cosa c'era all'interno delle variabili, se io uso questa dicitura: $row[0]['username_login'].
    senza utilizzare il ciclo while, all'interno della variabile avro solo un valore presente in un capo della tabella giusto? e lo potro usare per confrontarlo con il valore dell'username che inserisco io nella prima pagina. il mio ragionamento è corretto?
    ok, ma perchè sei faccio una prova per vedere cosa c'è all'interno cioè:
    Codice PHP:
    Print("$row[0]['username_login']"); 
    mi stampa a video solo: ['username_login']???

  10. #10
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Togli i doppi apici, così
    Print($row[0]['username_login']);

    Stai trattando una variabile, non una stringa, gli apici non servono.

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.