Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. non inserisce i dati nel db
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • K
      krisincrediblegirl User • ultima modifica di

      Hai ragione, ma ero solo per leggere se la modifica era andata a buon fine...al posto di quello ho inserito...

      [PHP]$m=mysql_query("UPDATE annunci_cerco SET title='$title',body='$body' WHERE id=$id_ann");
      if($m){

      echo"modifica ok";
      }else{

          echo"impossibile modificare";}
      

      [/PHP]

      Però le modifiche non vanno a buon fine..perchè leggo impossibile modificare...come è possibile?

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • T
        thedarkita ModSenior • ultima modifica di

        La query genera un qualche errore, aggiungi mysql_error() per mostrarlo.

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • K
          krisincrediblegirl User • ultima modifica di

          @Thedarkita said:

          La query genera un qualche errore, aggiungi mysql_error() per mostrarlo.

          Mi da questo messaggio fallitaQuery was empty

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • T
            thedarkita ModSenior • ultima modifica di

            Devi fare in questo modo:
            [php]
            $m=mysql_query("UPDATE annunci_cerco SET title='$title',body='$body' WHERE id=$id_ann") or die(mysql_error());
            if($m){

            echo"modifica ok";
            }else{

                echo"impossibile modificare";} 
            

            [/php]

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • K
              krisincrediblegirl User • ultima modifica di

              ecco l'errore che mi da..

              You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

              la seconda olta che ho provato mi dice sempre fallitaQuery was empty

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • T
                thedarkita ModSenior • ultima modifica di

                Avrai il carattere ' in una delle 3 variabili che passi alla query, devi usare addslashes.
                TI consiglio inoltre una lettura di questa guida:
                http://www.giorgiotave.it/forum/scripting-e-risorse-utili/189074-guida-sql-injection.html

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • K
                  krisincrediblegirl User • ultima modifica di

                  Mi puoi spiegare cosa significa?

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • T
                    thedarkita ModSenior • ultima modifica di

                    Dovresti leggere la guida per capire, li è tutto spiegato sui problemi che derivano dagli apici e determinate configurazioni di php.

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • K
                      krisincrediblegirl User • ultima modifica di

                      Adesso funziona tutto!!!mi è bastato cambiare questo della pag contenente i dati inviati dal form
                      $id_ann=$_POST['id'];
                      al postodi $id_ann=$_GET['id'];

                      graazie dell'aiuto!!!

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • K
                        krisincrediblegirl User • ultima modifica di

                        volevo chiedere ancora una volta..vorrei verificare prima di una modifica e di una cancellazione l'esistenza del messaggio..come posso fare?

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • T
                          thedarkita ModSenior • ultima modifica di

                          Fai una query select e controlli con mysql_num_rows se c'è il record.

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • K
                            krisincrediblegirl User • ultima modifica di

                            Tipo una cosa del genere?

                            [PHP]if($title!="" && $body !=""){
                            $risultato = mysql_query("SELECT * FROM annunci_offro WHERE autore='".$_SESSION['utente']."'")or die(mysql_error("query annunci fallita"));
                            mysql_num_rows($risultato);

                            $modifica=mysql_query("UPDATE annunci_offro SET title='$title',body='$body' WHERE id=$id_ann") or die(mysql_error("query modifica fallita"));

                            echo"modifica ok";
                            header("refresh:2;URL=annunci_offro.php");
                            }else{

                                echo"impossibile modificare";
                                header("refresh:2;URL=annunci_offro.php");
                                } 
                            

                            }
                            mysql_close();

                            ?>
                            [/PHP]

                            dove prima della query update ho messo select con il num_rows

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • T
                              thedarkita ModSenior • ultima modifica di

                              [php]
                              mysql_num_rows($risultato);
                              [/php]
                              Restituisce il numero di record quindi tu dovresti fare una cosa del tipo:
                              [php]
                              if(mysql_num_rows($risultato) == 0)
                              die('ID non presente');
                              [/php]

                              0 Miglior Risposta Ringrazia Cita Rispondi

                                1 Risposta Ultima Risposta
                              • K
                                krisincrediblegirl User • ultima modifica di

                                [PHP]
                                if($title!="" && $body !=""){
                                $risultato = mysql_query("SELECT * FROM annunci_offro WHERE autore='".$_SESSION['utente']."'")or die(mysql_error("query annunci fallita"));
                                if(mysql_num_rows($risultato) == 0)
                                die('ID non presente');

                                $modifica=mysql_query("UPDATE annunci_offro SET title='$title',body='$body' WHERE id=$id_ann") or die(mysql_error("query modifica fallita"));

                                echo"modifica ok";
                                header("refresh:2;URL=annunci_offro.php");
                                }else{

                                    echo"impossibile modificare";
                                    header("refresh:2;URL=annunci_offro.php");
                                    } 
                                

                                }
                                mysql_close();

                                ?>

                                [/PHP]

                                Mi diresti se va bene così?

                                0 Miglior Risposta Ringrazia Cita Rispondi

                                  1 Risposta Ultima Risposta
                                • T
                                  thedarkita ModSenior • ultima modifica di

                                  Si va bene cosi, ma la funzione mysql_error non ha come primo parametro una stringa.

                                  0 Miglior Risposta Ringrazia Cita Rispondi

                                    1 Risposta Ultima Risposta
                                  • K
                                    krisincrediblegirl User • ultima modifica di

                                    @Thedarkita said:

                                    Si va bene cosi, ma la funzione mysql_error non ha come primo parametro una stringa.

                                    Quindi dovrei togliere il mysql_error?

                                    0 Miglior Risposta Ringrazia Cita Rispondi

                                      1 Risposta Ultima Risposta
                                    • T
                                      thedarkita ModSenior • ultima modifica di

                                      Dovrebbe diventare una cosa di questo tipo:
                                      [php]
                                      or die("query annunci fallita: ".mysql_error())
                                      [/php]

                                      0 Miglior Risposta Ringrazia Cita Rispondi

                                        1 Risposta Ultima Risposta
                                      • K
                                        krisincrediblegirl User • ultima modifica di

                                        @Thedarkita said:

                                        Dovrebbe diventare una cosa di questo tipo:
                                        [php]
                                        or die("query annunci fallita: ".mysql_error())
                                        [/php]

                                        [PHP]$q="SELECT * FROM utenti WHERE username='$username'";
                                        $ris=mysql_query($q) or die("fallita");
                                        if(mysql_affected_rows()== 0){
                                        echo"non presente";

                                        }else{
                                        $c = isset($_GET['cancella']) ? $_GET['cancella'] : "";
                                        if ($_POST["canc"]=="si") { // se sceglie si

                                        //eseguo la query per la cancellazione dell'account
                                            $query="DELETE FROM utenti WHERE username='$username'";
                                            $res=mysql_query($query) or die(" query cancellazione account fallita"); // in caso di problemi con la query
                                            
                                            
                                            $messaggio="dati cancellati";
                                            header("refresh:; URL=home.php");
                                        

                                        }else{ //altrimenti se sceglgo no i dati non vengono cancellati
                                        if($_POST["canc"]=="no")

                                        $messaggio="i dati non sono stati cancellati";
                                        $username=$_SESSION['utente'];

                                        }

                                        echo $messaggio;
                                        }
                                        }[/PHP]

                                        Mi dici se può andare il controllo per verificare prima della cancellazione se l'utente è presente?

                                        0 Miglior Risposta Ringrazia Cita Rispondi

                                          1 Risposta Ultima Risposta
                                        • T
                                          thedarkita ModSenior • ultima modifica di

                                          No, mysql_affected_rows serve per query di update/delete/insert.

                                          0 Miglior Risposta Ringrazia Cita Rispondi

                                            1 Risposta Ultima Risposta
                                          • K
                                            krisincrediblegirl User • ultima modifica di

                                            Quindi per cancellare un utente, verifico la sua esistenza se c'è lo cancello...correggo così?
                                            [php]
                                            $q="SELECT * FROM utenti WHERE username='$username'";
                                            $ris=mysql_query($q) or die("fallita");
                                            if(mysql_num_rows()== 0){
                                            echo"user non presente";

                                            }else{
                                            $c = isset($_GET['cancella']) ? $_GET['cancella'] : "";
                                            if ($_POST["canc"]=="si") { // se sceglie si

                                            //eseguo la query per la cancellazione dell'account
                                                $query="DELETE FROM utenti WHERE username='$username'";
                                                $res=mysql_query($query) or die(" query cancellazione account fallita"); // in caso di problemi con la query
                                                
                                                
                                                $messaggio="dati cancellati";
                                                header("refresh:; URL=home.php");
                                            

                                            }else{ //altrimenti se sceglgo no i dati non vengono cancellati
                                            if($_POST["canc"]=="no")

                                            $messaggio="i dati non sono stati cancellati";
                                            $username=$_SESSION['utente'];

                                            }

                                            echo $messaggio;
                                            }
                                            }
                                            [/php]

                                            0 Miglior Risposta Ringrazia Cita Rispondi

                                              1 Risposta Ultima Risposta
                                            Caricamento altri post
                                            Rispondi
                                            • Topic risposta
                                            Effettua l'accesso per rispondere
                                            • Da Vecchi a Nuovi
                                            • Da Nuovi a Vecchi
                                            • Più Voti