Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it L'avatar di Vash SD
    Registrato dal
    Sep 2006
    Messaggi
    502

    [MySQL] Problema con query - update

    Codice PHP:
    <?php

    //Variabili prese precedentemente
    $id=$_GET['id'];
    $titolo $_POST['titolo'];
    $autore $_POST['autore'];
    $descrizione $_POST['descrizione'];
    $contenuto $_POST['contenuto'];
    $categoria $_POST['categoria'];
    $data_news date();

    // Connessione al db
    $db mysql_connect("localhost","AAA","AAA") or die("Connessione non riuscita: " mysql_error());
        
    mysql_select_db("my_razers"$db);
        
    $query "UPDATE news SET titolo = '$titolo' AND autore = '$autore' AND descrizione = '$descrizione' AND contenuto = '$contenuto' AND categoria = '$categoria' AND data_news = '$data_news' WHERE id_news='$id'";
        if (
    mysql_query($query$db))
    {echo 
    ?>
    [B]BLABLABLABLABLABLABLABLABLABLABLABLABLABLABLABLABLABLABLABLABLABLABLABLA[/B] 
    <?php
            
    }
        else 
            {print(
    "Errore nella modifica dei dati!");}
        
    mysql_close($db);
    ?>
    ?>
    La sintassi è corretta.... ma non me li modifica Dove sbaglio?
    Personal Home Page

  2. #2
    usa la virgola e non l'AND nella query

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

  3. #3
    Utente di HTML.it L'avatar di Vash SD
    Registrato dal
    Sep 2006
    Messaggi
    502
    Codice PHP:
    $query "UPDATE news SET titolo = '$titolo', autore = '$autore', descrizione = '$descrizione', contenuto = '$contenuto', categoria = '$categoria', data_news = '$data_news' WHERE id_news='$id'"
    Non funziona uguale
    Personal Home Page

  4. #4
    Ciao,
    Codice PHP:
    $id=$_GET['id']; 
    $titolo $_POST['titolo'];
    ... 
    ...passi l'ID via GET e gli altri dati via POST?
    Full Stack Developer presso Advice Lab
    Bonus Bitcoin
    Moon Bitcoin

  5. #5
    Utente di HTML.it L'avatar di Vash SD
    Registrato dal
    Sep 2006
    Messaggi
    502
    I dati li passa da un form, mentre l'id lo prende dall'URL... sbaglio?
    Personal Home Page

  6. #6
    Dipende... non mi sembra il massimo mischiare get e post anche se per quel che so non dovrebbe far casino se fatto bene. Puoi postare il codice del form?

    Comunque, se lo script non ti segnala un errore nella query, ma semplicemente non aggiorna i dati, l'unica cosa che mi viene in mente è, appunto, che non riceva il valore dell'ID e quindi cercando di aggiornare una news con id_news='' non aggiorna nulla.
    Full Stack Developer presso Advice Lab
    Bonus Bitcoin
    Moon Bitcoin

  7. #7
    $data_news = date();

    forse volevi scrivere time()

    date() senza parametri ti da un errore di sicuro.

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

  8. #8
    Utente di HTML.it L'avatar di Vash SD
    Registrato dal
    Sep 2006
    Messaggi
    502
    modulo.php
    Codice PHP:
    <?php
    $cookie 
    $_COOKIE['accesso_effettuato'];
    $username=$_POST['user'];
    $password=$_POST['pass'];
    $id=$_GET['id'];

    if (
    $cookie == "accesso_effettuato")
        {
        
    //Mi connetto al db
        
    $db mysql_connect("localhost","AAA","AAA") or die("Connessione non riuscita: " mysql_error());    
        
    mysql_select_db("my_razers"$db);    
        
    $query "SELECT * FROM `news` WHERE id_news='$id'";
        
        
    $result mysql_query($query);
        
    $row mysql_fetch_array($result);
        
        if(!isset(
    $id))
        {
    header("location: errore.php"); }
        else {echo 
    ?>
    <html>
     <head>
      <title><?php echo $row['titolo'?> | Razers</title>
      <link rel="stylesheet" type="text/css" href="style.css" />
     </head>
     <body>
     <div class="container">
      <div class="header">
       <div align="right">
        [url="#"][img]img/i.jpg[/img][/url]
        [url="#"][img]img/puntointerrogativo.jpg[/img][/url]
       </div>
      </div>
      <div class="sottoheader">
       
       <?php 
       
        
    include 'menutend.php'
       
       
    ?>
       
      </div>
      <div class="gestione_generale">
       <div class="gestione_titolo">
        <center>Documento: <?php echo $row['titolo']?></center>
       </div>
       <div class="gestione_contenuti">
       [url="index.php"]Home[/url] > [url="cp.php"]Amministrazione Globale[/url] > [b]<?php echo $row['titolo']?>[/b]
       <hr>

        <form method="post" action="edit_dati.php" name="nuova_news">
         <fieldset style="border: 1px solid #D1D1D1;"><legend>[b]Modifica il modulo:[/b]</legend>
          <table>
           <tr>
            <td colspan="2">
             Qui puoi modificare eventuali errori digitati nel modulo:


            </td>
           </tr>
           <tr>
            <td>
             [b]Categoria:[/b]
            </td>
            <td align="right">
             <select name="categoria" style="width: 200px;">
              <option value="News" selected>News</option>
              <option value="Avviso">Avviso</option>
             </select>
            </td>
            <td rowspan="4" align="center">
             

             <input type="submit" value="Salva" style="width: 120px;" />
             <input type="reset" value="Resetta i campi" style="width: 120px;" />


            </td>
           </tr>
           <tr>
            <td>
             [b]Titolo:[/b]
            </td>
            <td>
             <input type="text" name="titolo" style="width: 300px;" value="<?php echo $row['titolo']?>" />

            </td>
           </tr>
           <tr>
            <td>
             [b]Descrizione:[/b]
            </td>
            <td>
             <input type="text" name="descrizione" style="width: 300px;" value="<?php echo $row['descrizione']?>" />
            </td>
           </tr>
           <tr>
            <td>
             [b]Autore:[/b]
            </td>
            <td>
             <input type="text" name="autore" style="width: 300px;" value="<?php echo $row['autore']?>" />
            </td>
           </tr>
           <tr>
            <td>
             
    [b]Contenuto:[/b]
            </td>
           </tr>
           <tr>
            <td colspan="2">
             <textarea type="text" name="contenuto" style="width: 390px; height: 100px;" /><?php echo $row['contenuto']?></textarea>


            </td>
           </tr>
          </table>
         </fieldset>
        </form>
       </div>
       <div class="gestione_footer1">
       </div>
       <div class="gestione_footer2">
       </div>
      </div>
     </body>
    </html>
    <?php
            
    }
        
    mysql_close($db);
        }

    else{
        
    header("location: login.php");
        }
    ?>
    modulo.php
    Codice PHP:
    <?php

    //Variabili prese precedentemente
    $id=$_GET['id'];
    $titolo $_POST['titolo'];
    $autore $_POST['autore'];
    $descrizione $_POST['descrizione'];
    $contenuto $_POST['contenuto'];
    $categoria $_POST['categoria'];
    $data_news time();

    // Connessione al db
    $db mysql_connect("localhost","AAA","AAA") or die("Connessione non riuscita: " mysql_error());
        
    mysql_select_db("my_razers"$db);
        
    $query "UPDATE news SET titolo = '$titolo', autore = '$autore', descrizione = '$descrizione', contenuto = '$contenuto', categoria = '$categoria', data_news = '$data_news' WHERE id_news='$id'";
        if (
    mysql_query($query$db)) 
            {echo 
    ?>
    <html>
     <head>
      <title><?php echo $titolo ?> | Razers</title>
      <link rel="stylesheet" type="text/css" href="style.css" />
     </head>
     <body>
     <div class="container">
      <div class="header">
       <div align="right">
        [url="#"][img]img/i.jpg[/img][/url]
        [url="#"][img]img/puntointerrogativo.jpg[/img][/url]
       </div>
      </div>
      <div class="sottoheader">
       
       <?php 
       
        
    include 'menutend.php'
       
       
    ?>
       
      </div>
      <div class="gestione_generale">
       <div class="gestione_titolo">
        <center>Documento: <?php echo $titolo ?></center>
       </div>
       <div class="gestione_contenuti">
       [url="index.php"]Home[/url] > [url="cp.php"]Amministrazione Globale[/url] > [b]<?php echo $titolo ?>[/b]
       <hr>

        <form method="post" action="gestione_dati.php" name="nuova_news">
         <div class="successo">
          [img]img/succes.png[/img]I dati sono stati modificati con successo!
         </div>
         

         <fieldset style="border: 1px solid #D1D1D1;"><legend>[b]Riepilogo del modulo:[/b] <?php echo $titolo ?></legend>
          <table>
           <tr>
            <td colspan="2">
             Ti preghiamo di ricontrollare i dati modificati e, se opportuno, modificarli.


            </td>
           </tr>
           <tr>
            <td>
             [b]Categoria:[/b]
            </td>
            <td>
             <?php echo $categoria ?>

            </td>
           </tr>
           <tr>
            <td>
             [b]Titolo:[/b]
            </td>
            <td>
             <?php echo $titolo ?>

            </td>
           </tr>
           <tr>
            <td>
             [b]Descrizione:[/b]
            </td>
            <td>
             <?php echo $descrizione ?>

            </td>
           </tr>
           <tr>
            <td>
             [b]Autore:[/b]
            </td>
            <td>
             <?php echo $autore ?>

            </td>
           </tr>
           <tr>
            <td>
             
    [b]Contenuto:[/b]
            </td>
           </tr>
           <tr>
            <td colspan="2">
             <?php echo $contenuto ?>


            </td>
           </tr>
          </table>
         </fieldset>
        </form>
       </div>
       <div class="gestione_footer1">
       </div>
       <div class="gestione_footer2">
       </div>
      </div>
     </body>
    </html>
    <?php
            
    }
        else 
            {print(
    "Errore nella modifica dei dati!");}
        
    mysql_close($db);
    ?>
    Per quanto riguarda date(), non mi restituisce nessun errore, ma mi salva comunque mi salva sempre 0000-00-00.
    Personal Home Page

  9. #9
    Come ti ha già segnalato piero.mac la funzione date() ha bisogno di un parametro obbligatorio. Non ti viene visualizzato il Warning perchè le impostazioni di server/php sono settate per non mostrartelo. Resta il fatto che la funzione non restituisce alcun valore e la variabile $data_news è uguale a ''. Ciò è confermato dal dato che ti ritrovi inserito ovvero '0000-00-00'.

    Per inserire la data attuale non è necessario passare tramite PHP, puoi farlo direttamente nella query MySql sostituendo a:
    codice:
    ... data_news = '$data_news' WHERE ...
    questo:
    codice:
    ... data_news = NOW() WHERE ...
    Per quanto riguarda il form per passare il valore ID tramite GET evi modificare l'action così:
    Codice PHP:
    <form method="post" action="edit_dati.php?id=<?php echo $id?>" name="nuova_news">
    Io però ti consiglierei di passarlo tramite POST inserendo un campo nascosto all'interno del form
    Codice PHP:
    <input type='hidden' name='id' value='<?php echo $id?>' />
    Full Stack Developer presso Advice Lab
    Bonus Bitcoin
    Moon Bitcoin

  10. #10
    Utente di HTML.it L'avatar di Vash SD
    Registrato dal
    Sep 2006
    Messaggi
    502
    EDIT: Perfetto... funziona tutto!
    Personal Home Page

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.