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

    [HELP] Inserimento dati php mysql error

    Salve a tutti,
    Assodato che ormai mysql ce l'ha con me e io con la mia ignoranza, mi accingo ad esporre il problema:

    Il form è:
    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Documento senza titolo</title>
    </head>
    
    <body>
    <fieldset>
    <legend>Inserisci Articolo</legend>
    <form action="elabora_form_articoli.php" method="get">
    <table width="500" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <th scope="row"><label for="titolo">Titolo: </label></th>
        <td><h5>
          <input name="titolo" type="text" id="titolo" value="" maxlength="200" />      
          (max 200 caratteri)</h5></td>
      </tr>
      <tr>
        <th scope="row"><label for="testo">Testo: </label></th>
        <td>
          <textarea name="testo" cols="55" rows="15" id="testo"></textarea>
          <h5>(Max 255 caratteri)</h5></td>
      </tr>
      <tr>
        <th scope="row">Categoria:</th>
        <td> 
          <table width="200">
          <tr>
              <td><label>
                <input type="radio" name="categoria" value="fiction" id="categoria_0" />
                Fiction</label></td>
            </tr>
            <tr>
              <td><label>
                <input type="radio" name="categoria" value="gossip" id="categoria_1" />
                Gossip</label></td>
            </tr>
            <tr>
              <td><label>
                <input type="radio" name="categoria" value="miniserie" id="categoria_2" />
                Miniserie</label></td>
            </tr>
            <tr>
              <td><label>
                <input type="radio" name="categoria" value="musica" id="categoria_3" />
                Musica</label></td>
            </tr>
            <tr>
              <td><label>
                <input type="radio" name="categoria" value="palinsesto" id="categoria_4" />
                Palinsesto</label></td>
            </tr>
            <tr>
              <td><label>
                <input type="radio" name="categoria" value="reality" id="categoria_5" />
                Reality Show</label></td>
            </tr>
            <tr>
              <td><label>
                <input type="radio" name="categoria" value="serietv" id="categoria_6" />
                Serie Tv</label></td>
            </tr>
            <tr>
              <td><label>
                <input type="radio" name="categoria" value="spettacolo" id="categoria_7" />
                Spettacolo</label></td>
            </tr>
            <tr>
              <td><label>
                <input type="radio" name="categoria" value="sport" id="categoria_8" />
                Sport</label></td>
            </tr>
            <tr>
              <td><label>
                <input type="radio" name="categoria" value="gossip" id="categoria_9" />
                Talent Show</label></td>
            </tr>
            <tr>
              <td><label>
                <input type="radio" name="categoria" value="teatro" id="categoria_10" />
                Teatro</label></td>
            </tr>
            <tr>
              <td><label>
                <input type="radio" name="categoria" value="telefilm" id="categoria_11" />
                Telefilm</label></td>
            </tr>
            <tr>
              <td><label>
                <input type="radio" name="categoria" value="tg" id="categoria_12" />
                TG</label></td>
            </tr>
            <tr>
              <td><label>
                <input type="radio" name="categoria" value="tv" id="categoria_13" />
                TV</label></td>
            </tr>
          </table></td>
      </tr>
      <tr>
        <th scope="row">Metatag:</th>
        <td><label for="meta1"></label>
          <input type="text" name="meta1" id="meta1" />
          <label for="meta2"></label>
          <input type="text" name="meta2" id="meta2" />
          <label for="meta3"></label>
          <input type="text" name="meta3" id="meta3" />
          <label for="meta4"></label>
          <input type="text" name="meta4" id="meta4" />
          <label for="meta5"></label>
          <input type="text" name="meta5" id="meta5" />
          <label for="meta6"></label>
          <input type="text" name="meta6" id="meta6" />
          <label for="meta7"></label>
          <input type="text" name="meta7" id="meta7" />
          <label for="meta8"></label>
          <input type="text" name="meta8" id="meta8" />
          <label for="meta9"></label>
          <input type="text" name="meta9" id="meta9" />
          <label for="meta10"></label>
          <input type="text" name="meta10" id="meta10" /></td>
      </tr>
      <tr>
        <th scope="row">Autore:</th>
        <td><input name="autore" type="text" /></td>
      </tr>
      <tr>
        <th scope="row"></th>
        <td><input name="Invia" type="submit" value="Inserisci" /></td>
      </tr>
    </table>
    </form>
    </fieldset>
    </body>
    </html>
    Il file elabora_form_articoli.php è questo:
    Codice PHP:

    <?php
    //attivo la sessione i modo tale da salvare l'id dell'articolo da associare all'id della foto che verrà inserita successivamente
    session_start();

    //connessione database
    include '../connect_db.php';
        
    //preleva le info dal form
    $titolo =         $_GET['titolo'];
    $testo =         $_GET['testo'];
    $categoria =     $_GET['categoria'];
    $meta1 =         $_GET['meta1'];
    $meta2 =         $_GET['meta2'];
    $meta3 =         $_GET['meta3'];
    $meta4 =         $_GET['meta4'];
    $meta5 =         $_GET['meta5'];
    $meta6 =         $_GET['meta6'];
    $meta7 =         $_GET['meta7'];
    $meta8 =         $_GET['meta8'];
    $meta9 =         $_GET['meta9'];
    $meta10 =         $_GET['meta10'];
    $autore =         $_GET['autore'];
    // verifica se tutti i campi sono stati compilati
    if (empty ($titolo)){
        echo 
    "Non hai inserito il titolo, torna indietro e compila i campi mancanti!";    
    }elseif (empty (
    $testo)){
        echo 
    "Non hai inserito il testo, torna indietro e compila i campi mancanti!";    
    }elseif (empty(
    $categoria)){
        echo 
    "Non hai inserito la cetegoria, torna indietro e compila i campi mancanti!";    
    }elseif (empty (
    $meta1)){
        echo 
    "Non hai inserito i metatag, torna indietro e compila i campi mancanti!";
    }elseif (empty (
    $autore)){
        echo 
    "Non hai inserito il nome dell'autore, torna indietro e compila i campi mancanti!";
    }else{

    //Inserisci i dati nel database
        
    $query 'INSERT INTO articolo SET(
                 articolo_titolo        = "'
    $titolo .'",
                 articolo_testo            = "'
    $testo .'",
                 articolo_categoria        = "'
    $categoria .'",
                 articolo_meta1            = "'
    $meta1 .'",
                 articolo_meta2            = "'
    $meta2 .'",
                 articolo_meta3            = "'
    $meta3 .'",
                 articolo_meta4            = "'
    $meta4 .'",
                 articolo_meta5            = "'
    $meta5 .'",
                 articolo_meta6            = "'
    $meta6 .'",
                 articolo_meta7            = "'
    $meta7 .'",
                 articolo_meta8            = "'
    $meta8 .'",
                 articolo_meta9            = "'
    $meta9 .'",
                 articolo_meta10        = "'
    $meta10 .'",
                 articolo_autore        = "'
    $autore .'")';
        
    mysql_query ($query$db) or die ("ERRORE: L'articolo non &eacute; stato inserito, contattare il webmuster!" mysql_error($db));

    //salvo in sessione l'id dell'articolo da inserire nella tabella articolo_img 
    $_SESSION['articolo_id'] = mysql_insert_id();

    //faccio procedere all'inserimento foto
    echo "L'articolo &eacute; stato inserito correttamente " '
    '
    ;
    echo 
    "Procedi inserendo l'immagine al tuo articolo: " '[url="carica_foto_articolo.php"]Avanti[/url]';
    }
    ?>
    L'errore è questo:
    codice:
    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 '(articolo_titolo = "titolo", articolo_testo = "Salve a tutti, Assordato ' at line 2

    La domanda orma nota è:

    PERCHèèèèèèèèè??????!!!!......

    Ringrazio tutte quelle divinità che vorranno aiutarmi..!!

  2. #2
    premesso il metodo get non è adatto... meglio il metodo POST
    - le validazioni sono insufficienti
    - devi assolutamente utilizzare mysql_real_escape_string()

  3. #3
    il metodo get lo sto usando solo per verificare come passavano i valori, concordo con te per quanto riguarda il metodo post.
    Invece potresti chiarirmi l'uso di mysql_real_escape_string()?

    cosa fa di preciso e dove dovrei usarlo?

  4. #4

  5. #5
    Nella query inserisci uno spazio tra il SET e la parentesi tonda "SET (".
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  6. #6
    corretto:
    Codice PHP:
    $query 'INSERT INTO articolo SET (
                 articolo_titolo        = "'
    $titolo .'",
                 articolo_testo            = "'
    $testo .'",
                 articolo_categoria        = "'
    $categoria .'",
                 articolo_meta1            = "'
    $meta1 .'",
                 articolo_meta2            = "'
    $meta2 .'",
                 articolo_meta3            = "'
    $meta3 .'",
                 articolo_meta4            = "'
    $meta4 .'",
                 articolo_meta5            = "'
    $meta5 .'",
                 articolo_meta6            = "'
    $meta6 .'",
                 articolo_meta7            = "'
    $meta7 .'",
                 articolo_meta8            = "'
    $meta8 .'",
                 articolo_meta9            = "'
    $meta9 .'",
                 articolo_meta10        = "'
    $meta10 .'",
                 articolo_autore        = "'
    $autore .'")';
        
    mysql_query ($query$db) or die ("ERRORE: L'articolo non &eacute; stato inserito, contattare il webmuster!" mysql_error($db)); 
    ma il problema persiste aiutoooooo

  7. #7
    Magari invertendo le virgolette con gli apici sarebbe meglio. I varchar in SQL vogliono gli apici e non le virgolette.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  8. #8
    Originariamente inviato da satifal
    Nella query inserisci uno spazio tra il SET e la parentesi tonda "SET (".
    che ne diresti se invece le parentesi (di apertura e chiusura) non le mettessimo proprio... eeeeh?

  9. #9
    Mi sa che siamo andati un po' tutti nel pallone. E' stata mischiata la sintassi dell'INSERT e dell'UPDATE:

    INSERT:
    codice:
    INSERT INTO tabella (colonna1, colonna2, ...) VALUES ('valore1', 'valore2', ...)
    UPDATE:
    codice:
    UPDATE tabella SET colonna1='valore1', colonna2='valore2', ... WHERE condizione
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  10. #10
    Originariamente inviato da satifal
    Mi sa che siamo andati un po' tutti nel pallone. E' stata mischiata la sintassi dell'INSERT e dell'UPDATE:

    INSERT:
    codice:
    INSERT INTO tabella (colonna1, colonna2, ...) VALUES ('valore1', 'valore2', ...)
    UPDATE:
    codice:
    UPDATE tabella SET colonna1='valore1', colonna2='valore2', ... WHERE condizione
    satifal... non dire minch***

    Manuale mysql:
    codice:
    INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
        [INTO] tbl_name [(col_name,...)]
        {VALUES | VALUE} ({expr | DEFAULT},...),(...),...
        [ ON DUPLICATE KEY UPDATE
          col_name=expr
            [, col_name=expr] ... ]
    Or:
    
    INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
        [INTO] tbl_name
        SET col_name={expr | DEFAULT}, ...
        [ ON DUPLICATE KEY UPDATE
          col_name=expr
            [, col_name=expr] ...
    Deve demplicemente togliere quelle diamine di parentesi tonde

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.