Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17

Discussione: Errore PHP

  1. #1

    Errore PHP

    Salve a tutti,

    Codice PHP:
    <?PHP $Key $_POST["Password"]; $Connessione mysql_connect ("localhost","root","") or die ("Connessione al DB fallita"); mysql_select_db("utenti"); $query "Select Username, Password      FROM registrazione          WHERE Key = $Key$Result = mysql_query($query); if ($Result == $Key) {      echo ('Key Corretta'); } else {  echo ('Key errata'); }      mysql_close(); ?>
    Scrivendo questo codice appena lo provo mi da un errore strano :

    Parse error: parse error, unexpected $end in C:\Program Files\EasyPHP 2.0b1\www\Sito\Passdim_files\Reg.php on line 15

    Perchè?
    Poi un altra cosa : questo dovrebbe controllare l'uguaglianza tra un valore preso da un form e un valore del database.
    E corretto?
    Grazie dell'aiuto.

  2. #2
    Non chiudi le virgolette della query...

    Codice PHP:
    <?php 

    $key 
    $_POST["Password"]; 

    $connessione mysql_connect ("localhost","root","") or die ("Connessione al DB fallita"); 

    mysql_select_db("utenti"); 

    //non è molto sicuro passare un valore proveniente da un form senza controlli, stai attento usa mysql_escape_string!
    $query "SELECT Username, Password FROM registrazione WHERE Key = ".mysql_escape_string($key).""

    $result mysql_query($query); 

    if (
    $result == $key) {      
    echo (
    'Key Corretta');

    else {  
    echo (
    'Key errata'); 
    }      
    mysql_close(); 
    ?>
    Disegnatori e romanzieri d'Italia, visitate il mio sito, cerchiamo favolieri dark ed illustratori dark fantasy... http://www.neilgaimania.it

  3. #3
    Grazie gentilissimo...Ma c'è un altro problema ovvero che quando do la key in input nel form come risultato vorrei l'username e la password richiesta con la query ma mi da come risultato solo "key errata" il ramo falso.
    Perchè?
    Grazie ancora.

    Codice PHP:
    <?php  $key $_POST["Password"];  $connessione mysql_connect ("localhost","root","") or die ("Connessione al DB fallita");  mysql_select_db("utenti");  //non è molto sicuro passare un valore proveniente da un form senza , stai attento usa mysql_escape_string! $query = "SELECT Username, Password FROM registrazione WHERE Key = ".mysql_escape_string($key)."";  $result = mysql_query($query);  if (! $result) {       echo ('Key Errata'); } mysql_close(); echo ("$result"); ?>

  4. #4
    $result non contiene nessun dato analizzabile nel modo che vorresti fare tu, $result è una risorsa che ti da accesso a delle informazioni tramite altre funzioni.

    Cosa vuoi fare? vuoi verificare che $key sia uguale a cosa?
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  5. #5
    Voglio confrontare che $key (valore preso dal form) sia uguale a key (valore nel database) e se sono uguali visualizzare una username e password della key corrispondente data in input se non sono uguali dare in output "key errata".
    Spero di essere stato chiaro.
    Grazie degli aiuti.

  6. #6
    allora se trova key nel database $result sarà TRUE, dunque:

    Codice PHP:
    if ($result) {      
    echo (
    'Key Corretta');
    }
    else {  
    echo (
    'Key errata');

    Ma se quando é corretta vuoi stampare username e password dovrai anche estrarli, dunque

    Codice PHP:
    if ($result) {      
    echo (
    'Key Corretta');
    $row mysql_fetch_array($result);
    echo 
    $row['Username'];
    echo 
    $row['Password'];
    }
    else {  
    echo (
    'Key errata');

    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  7. #7
    Fatto come mi hai detto tu ma mi dice solo "key errata"...Come mai?

    Codice PHP:
    <?php  $key $_POST["Password"];  $connessione mysql_connect ("localhost","root","") or die ("Connessione al DB fallita");  mysql_select_db("utenti");  //non è molto sicuro passare un valore proveniente da un form senza , stai attento usa mysql_escape_string! $query = "SELECT Username, Password FROM registrazione WHERE Key = ".mysql_escape_string($key)."";  $result = mysql_query($query);  if ($result) {       echo ('Key Corretta'); } else {   echo ('Key errata'); } ?>
    Grazie ancora.

  8. #8
    WHERE Key .....

    non devi usare key come nome di campo, e' una parola riservata. Meglio cambiarla anche se e' possibile racchiuderla da backtick (alt + 96) `key`

    Meglio evitare ambiguita'.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    Key è il nome del campo nel database...
    Quindi che dovrei fare?che dovrei utilizzare?
    Grazie.

  10. #10
    Originariamente inviato da ShevaMarco
    Key è il nome del campo nel database...
    Quindi che dovrei fare?che dovrei utilizzare?
    Grazie.
    cambiare il nome. key e' una parola riservata di mysql. Usa un nome che non sia riservato. Qui trovi l'elenco delle reserved words, da non usare per i vari nomi:

    http://dev.mysql.com/doc/refman/5.0/...ved-words.html

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.