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

    php/mysql non "CAPISCO" l'errore

    salve a tutti! voi non mi conoscete ma io vi conosco bene da anni!!!

    se vi dico che sono 3 anni che cerco di fare sta cosa mi menate?

    in pratica, stavo leggendo la guida quella per creazione delle news con php mysql. l'ho seguita tutta e funziona tutto a meraviglia. e mi sono detto:

    bhe... se funziona cosi è facile. mi metto giu e faccio quello che voglio.

    ho usato come base l'esempio delle news. ma poi, quando vado a inserire le informazioni, non funziona mai. la cosa brutta è che non riesco a capire l'errore.

    vi faccio vedere:

    codice:
    <?
    include("top_foot.inc.php");
    include("config.inc.php");
    top();
    
    if ($pass != $password): echo "Password errata";
    
    $nome=$_REQUEST['nome'];
    $pass=$_REQUEST['pass'];
    
    $db = mysql_connect($db_host, $db_user, $db_password);
      if ($db == FALSE)
        die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
    
      mysql_select_db($db_name, $db)
        or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
    
     $query = "INSERT INTO villaggi (nome) VALUES ('$nome')";
    
     mysql_close($db);
    foot();
    endif;
    ?>
    cosi a occhio sembra una cosa "stupida" e allora perche non riesco a capire???

    se questo lo lancio, quello che ottengo è la pagina bianca, con solo l'header e niente nel mysql.
    ho anche provato a mettere qualche: echo "$nome"; in giro per il codice, per vedere se passava la variabile. la variabile passa ma non succede niente.
    poi prendo il tutorial e zap! funziona tutto. modifico le variabili e zap! non funziona piu niente!!!
    considerate che alla fine nn mi serve a niente sta cosa, pero oramai voglio capire!!!
    se c'è qualche anima buona.... Vi ringrazio
    ..::Gentoo powered::..

  2. #2
    verifichi la password prima di recuperarla e non esegui la query

    Codice PHP:
    <?
    include("top_foot.inc.php");
    include(
    "config.inc.php");
    top();

    // qui non hai ancora recuperato $pass !!!!

    $nome=$_REQUEST['nome'];
    $pass=$_REQUEST['pass'];

    if (
    $pass != $password)
    {
      echo 
    "Password errata";
      die; 
    // se non blocchi l'esecuzione del codice, quando la password è sbagliata ti scriverà
      // password errata ma esegiurà comunque il codice
    }

    $db mysql_connect($db_host$db_user$db_password);
      if (
    $db == FALSE)
        die (
    "Errore nella connessione. Verificare i parametri nel file config.inc.php");

      
    mysql_select_db($db_name$db)
        or die (
    "Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

    $query "INSERT INTO villaggi (nome) VALUES ('$nome')";

    mysql_query($query$db); // devi eseguire la query 

     
    mysql_close($db);
    foot();

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

  3. #3
    Ciao!

    innanzi tutto grazie di avermi risposto.

    ho modificato il codice seguendo le tue direttive, ma purtroppo non è cambiato niente

    il dato nn viene inserito nel database!

    la prima volta che l'ho inserito, mi ha dato un'errore a riga 30. in pratica la penultima, quella con l'endif; prima di ?>

    l'ho tolto e non mi da piu errori. la pagina la carica bene.

    la mia tabella è cosi composta: (non so se puo essere utile)

    codice:
    id  	int(5)  	 	UNSIGNED  	 notnull  	 	auto_increment
    nome  	varchar(255)  	latin1_swedish_ci
    Grazie
    ..::Gentoo powered::..

  4. #4
    Modifica la parte della connessione così:

    Codice PHP:
    $db mysql_connect($db_host$db_user$db_password) OR die ("Errore nella connessione. Verificare i parametri nel file config.inc.php"); 

      
    mysql_select_db($db_name$db) or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php"); 
    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
    vuoto!!!!

    ho inserito quelle righe ma nada!
    non inserisce niente!

    ma nn è una cosa strana? in pratica quello è il comando di base per l'interazione con il db giusto?

    cmq il controllo degli errori funziona. ho provato a mettere una passwd errata del db mysql sul conf e mi da effettivamente l'errore.

    ho pure pensato... vuoi vedere che nn passano bene le variabili? e cosi ho aggiunto random, degli echo "$nome";
    e la variabile passa intatta!

    Grazie per l'aiuto :=)
    ..::Gentoo powered::..

  6. #6
    Ma non è che la variabile contiene caratteri strani, tipo apici singoli e/o doppi???
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  7. #7
    Originariamente inviato da alcio74
    Ma non è che la variabile contiene caratteri strani, tipo apici singoli e/o doppi???
    no, per la prova ho usato nomi tipo: asd, prova ecc. ecc.
    ..::Gentoo powered::..

  8. #8
    Originariamente inviato da elbambolo
    no, per la prova ho usato nomi tipo: asd, prova ecc. ecc.
    Sarebbe opportuno tu stampassi la query per vedere cosa risolvi con la variabile.
    echo $query;

    Rimane sempre che sarebbe meglio tu usassi il tag esteso di php ( <?php ) e anche rivedere come hai implementato i suggerimenti ricevuti.

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

  9. #9
    mettendo echo $query; ottengo questo:

    INSERT INTO villaggi (nome) VALUES ('prova')

    nn dovrebbe esserci il ; alla fine della query?
    se io provo a entrare nel mysq da shell e eseguo una query senza ; non me la inserisce.

    attualmente il file save.php è cosi composto,:
    codice:
    <?php
    include("top_foot.inc.php");
    include("config.inc.php");
    top();
    
    
    $nome=$_REQUEST['nome'];
    $pass=$_REQUEST['pass'];
    
    if ($pass != $password)
    {
      echo "Password errata";
      die; // se non blocchi l'esecuzione del codice, quando la password � sbagliata ti scriver�
      // password errata ma esegiur� comunque il codice
    }
    
    
    $db = mysql_connect($db_host, $db_user, $db_password) OR die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
    
      mysql_select_db($db_name, $db) or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
    
    
    
    
    
    
     $query = "INSERT INTO villaggi (nome) VALUES ('$nome')";
    
     mysql_close($db);
    
    
    echo $query;
    foot();
    ?>
    Grazie a tutti per l'aiuto
    ..::Gentoo powered::..

  10. #10
    guarda che gia' ti e' stato detto: Devi eseguire la query....

    $query = "INSERT INTO villaggi (nome) VALUES ('$nome')";

    mysql_query($query, $db) or die(mysql_error()); // devi eseguire la query

    mysql_close($db);

    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.