Visualizzazione risultati 1 fino 16 di 16

Discussione: Utilizzo di MYSQL con PHP

  1. #1
    gabriele97 non è connesso Utente
    Data registrazione
    28-12-2009
    Messaggi
    134

    Predefinito Utilizzo di MYSQL con PHP

    salve,
    sto creando un'area riservata in cui si ci può accedere conoscendo solo la password.
    voglio che questa password sia salvata in un database, ecco allora cosa ho fatto.
    ho creato un mysql di altervista, una tabella chiamata gabriele97_user nel database my_gabriele97. in questa tabella ho creato dei campi



    bene, mi interessa per'ora il campo password, che devo andare a riempire con una password. per farlo, ho questo codice

    Codice PHP:
    <?php
    echo "$d_pwd";
    $connessione = mysql_connect("localhost","user","pwd")or die("Connessione non riuscita: " . mysql_error());
    echo(
    "Connesso con successo");
    mysql_select_db("my_gabriele97", $connessione) or die("Errore nella selezione del database");
    mysql_close($connessione);
    $var_pwd = $_POST['d_pwd'];
    if(
    $var_pwd == ""){header("Location: ok/error_pwd.html");exit(); }
    else {
    mysql_query("INSERT INTO gabriele97_user (name, surname, username, paswword) VALUES
    ('test', 'test', 'test', '
    $d_pwd')");


    #metto la variabile all'id
    $ultimo_id = mysql_insert_id();

    #chiudo mysql
    mysql_close();
    }
    ?>
    bene, se vi interessa, $d_pwd è una variabile appartenente a un campo di testo di un'altra pagina html.

    bene, questo codice è esatto per inserire i dati?
    poi, come faccio a far visualizzare attraverso un echo, il valore in password, che è il campo nella tabella nel mio database?

    grazie.

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,744

    Predefinito

    invece di
    Codice:
    mysql_connect("localhost","user","pwd")
    , devi mettere:

    Codice:
    mysql_connect("localhost","gabriele97","")
    -----


    Prima di fare questo:
    Codice PHP:
    $var_pwd = $_POST['d_pwd'];
    , dovresti controllare se $_POST['d_pqd'] è dichiarato (cioè se esiste) con la funzione isset().

    Codice PHP:
    if($var_pwd == "")
    Va benissimo, ma esiste una funzione già fatta che fa questo: la empty().

    In definitiva, queste righe:
    Codice PHP:
    $var_pwd = $_POST['d_pwd'];
    if(
    $var_pwd == ""){header("Location: ok/error_pwd.html");exit(); }
    Le sostituirei con:

    Codice PHP:
    if(isset($_POST['d_pwd']))
    {
    if(empty(
    $_POST['d_pwd']))
    header("Location: ok/error_pwd.html");exit();
    else
    {
    #resto del sorgente...


    Sicuro che il campo password si chiami "paswword" e gli altri campi sono corretti?


    Per leggere, devi usare la query con la SELECT: guarda qui. Soprattutto gli esempi.




    Esempi di query per prelevare i dati:

    Prelevare il nome dell'utente "gabriele"
    Codice:
    SELECT name FROM gabriele97_user WHERE username='gabriele' LIMIT 1
    Prelevare tutti i dati di tutti gli utenti
    Codice:
    SELECT * FROM gabriele97_user WHERE 1

    p.s: forse è scontato, ma per usare il database, devi attivarlo (almeno di classe 1) dal pannello di controllo...

    Ciao!
    Ultima modifica di alemoppo : 22-02-2011 alle ore 18.43.56

  3. #3
    gabriele97 non è connesso Utente
    Data registrazione
    28-12-2009
    Messaggi
    134

    Predefinito

    ciao, e grazie per avermi risposto!!
    non ti preoccupare, ma ho un database di livello 3!!

    comunque, non ho capito come faccio a prelevare il, per esempio il nome che appartiene all'utente gabriele.
    E grazie per le correzioni.

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,744

    Predefinito

    Citazione Originalmente inviato da gabriele97 Visualizza messaggio
    comunque, non ho capito come faccio a prelevare il, per esempio il nome che appartiene all'utente gabriele.
    Hai letto il link che ti ho dato?

  5. #5
    gabriele97 non è connesso Utente
    Data registrazione
    28-12-2009
    Messaggi
    134

    Predefinito

    si, ma a cosa può servirmi quel metodo?

    ho provato

    Codice PHP:
    <?php

    $link
    = mysql_connect("localhost", "gabriele97", "");
    mysql_select_db("my_gabriele97", $link);

    $result = mysql_query("SELECT * FROM gabriele97_user", $link);
    $num_rows = mysql_num_rows($result);

    echo
    "$num_rows Rows\n";

    ?>
    mi viene fuori 0 rows

    non capisco

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,744

    Predefinito

    Hai eseguito il sorgente che hai scritto all'inizio con i dati di connessione corretti?
    Se sì, prova ad andare sul pannello di controllo -> tools -> phpmyadmin.

    Loggati con i tuoi dati di altervista. A sinistra dovrebbe apparirti la scritta gabriele97_user. Clicca e seleziona "mostra". Li viene visualizzato il contenuto della tabella. Da li vedi realmente se ci sono 0 righe. Quindi significa che c'é qualche errore nel codice sopra.

    Ciao!

  7. #7
    gabriele97 non è connesso Utente
    Data registrazione
    28-12-2009
    Messaggi
    134

    Predefinito

    be, credo che ce ne siano 0!!
    http://www.gabriele97.altervista.org...e97_db_img.png
    vero?

    se si, che faccio?
    Ultima modifica di andreafallico : 23-02-2011 alle ore 13.21.10

  8. #8
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,744

    Predefinito

    Ecco: quello che temevo: il campo è+ "password", e non "paswword".

    Quindi il primo sorgente non va bene. Correggilo, (ri)eseguilo e.. se ancora non ci sono risultati, scrivi il sorgente corretto che vediamo dove ci sono (eventuali) errori...

    Ciao!

  9. #9
    Guest

    Predefinito

    evitate di chiamare i campi del db "password"... è una parola riservata

  10. #10
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,744

    Predefinito

    Citazione Originalmente inviato da miniscript Visualizza messaggio
    evitate di chiamare i campi del db "password"... è una parola riservata
    E dove c'é scritto ???

    Ciao!

  11. #11
    gabriele97 non è connesso Utente
    Data registrazione
    28-12-2009
    Messaggi
    134

    Predefinito

    allora,
    ecco qui il codice del file php che in teoria e non pratica, dovrebbe inviare i dati al db.

    Codice PHP:
    <?php
    echo "$d_pwd";
    $connessione = mysql_connect("localhost","gabriele97","") or die("Connessione non riuscita: " . mysql_error());
    echo(
    "Connesso con successo \n");
    mysql_select_db("my_gabriele97", $connessione) or die("Errore nella selezione del database \n");
    mysql_close($connessione);
    $var_pwd = $_POST['d_pwd'];
    if(
    $var_pwd == ""){header("Location: ok/error_pwd.html");exit(); }
    else {
    echo
    "inizia la query";
    mysql_query("INSERT INTO gabriele97_user (name, surname, username, password) VALUES
    ('test', 'test', 'test', '
    $d_pwd')");


    #metto la variabile all'id
    $ultimo_id = mysql_insert_id();

    #chiudo mysql
    mysql_close();
    }
    ?>
    se ti interessa, la pagina è questa

    http://www.gabriele97.altervista.org/admin/

    N.B. la pagina web la puoi visualizzare con Mozilla Firefox o con Google chrome. Con IE no perchè jquery ui non è supportato. con altri non so.

    nel link che ti ho dato, clicca su esegui l'accesso. nel campo che compare, metti la password che andrà ad essere inserita nel db e conferma. il nome del campo di testo è d_pwd come ho detto. quando hai confermato, vai su logincheck.php che è lo script che dovrebbe mettere i dati nel db.

  12. #12
    gabriele97 non è connesso Utente
    Data registrazione
    28-12-2009
    Messaggi
    134

    Predefinito

    Citazione Originalmente inviato da miniscript Visualizza messaggio
    evitate di chiamare i campi del db "password"... è una parola riservata
    l'ho chiamato così, perchè per ora è una tabella provvisoria.

  13. #13
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,744

    Predefinito

    Strano... il sorgente sembra corretto. Devo ammettere che sarà più di un anno che ho lasciato mysql; comunque per quel che ricordo è corretto.

    Come ulteriore prova della corretta sintassi della query, potresti andare su phpmyadmin, poi su sql ed incolalrci (ed eseguire) direttamente:

    Codice:
    INSERT INTO gabriele97_user (name, surname, username, password) VALUES  
                                    ('test', 'test', 'test', '$d_pwd')
    Per vedere se da qualche errore.... Non vorrei che tutti quegli spazi siano un problema (non credo..)...

    ---

    Per quel che mi risulta, puoi chiamare benissimo un campo "password".. poi tra l'altro credo in ogni database ci sia un campo "password"

    Ciao!
    Ultima modifica di alemoppo : 22-02-2011 alle ore 23.17.44

  14. #14
    Guest

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    E dove c'é scritto ???

    Ciao!
    Al secondo rigo del link che mi hai dato ho letto
    This may also be true for the names of built-in functions.
    ...
    http://dev.mysql.com/doc/refman/4.1/...ction_password

    Vuoi un esempio?
    http://forum.it.altervista.org/php-m...tml#post787929

    come vedi non è esattamente riservata... ma scrivere le query con gli apici "storti" (non ricordo come si chiamano) `Password` non la vedo come una cosa positiva...
    Ultima modifica di miniscript : 23-02-2011 alle ore 00.05.34

  15. #15
    gabriele97 non è connesso Utente
    Data registrazione
    28-12-2009
    Messaggi
    134

    Predefinito

    allora,
    ho eseguito la query

    Codice PHP:
    INSERT INTO gabriele97_user (name, surname, username, password) VALUES
    ('test', 'test', 'test', '$d_pwd')
    direttamente su phpmyadmin

    http://www.gabriele97.altervista.org/sql_code_img.png

    ho cliccato su esegui, e il risultato è:

    http://www.gabriele97.altervista.org/sql_result_img.png
    andando poi ad eseguire lo script

    Codice PHP:
    <?php

    $link
    = mysql_connect("localhost", "gabriele97", "");
    mysql_select_db("my_gabriele97", $link);

    $result = mysql_query("SELECT * FROM gabriele97_user", $link);
    $num_rows = mysql_num_rows($result);

    echo
    "$num_rows Rows\n";

    ?>
    il risultato è: 1 rows ... quindi, il problema ora sta sullo script ad inizio post, che contiene la query per l'inserimento dei dati, no?

    ---------

    finalmente, sono riuscito a sistemare il tutto.
    l'errore era nello script che andava ad inserire i dati. praticamente, per sbaglio chiudevo la connessione al DB prima.
    Sono riuscito anche con il vostro aiuto. Quindi, grazie!!
    Ultima modifica di andreafallico : 23-02-2011 alle ore 13.23.15 Motivo: usa il tasto Edita

  16. #16
    Guest

    Predefinito

    salve a tutti io avrei un problema, ho acquistato un chat in php5 ma una volta che la carico nel dominio mi dice php5 supported (NO)
    php4 supported (YES)
    come posso risolvere il problema???
    ringrazio anticipatamente :)

    ribadisco la chat è acquistata per tanto funzionante! :)

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •