Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    346

    insert sbagliata...dove sbaglio?

    come avete capite dal titolo, devo fare una insert, ma non va a buon fine, ma non mi da nemmeno errore!!

    pagina inserimento
    Codice PHP:
    <table width="700" border="0" align="center" cellpadding="10" cellspacing="0">
                 <
    form name="insert" action='insert.php?ins=1'  method="post" enctype="multipart/form-data">
                 <
    tr>
                 <
    td width=\"100\">Titolo</td>
                 <td width=\"600\"><textarea name="
    titolo" value="" rows="1" cols="60" ></textarea></td>
                 </tr>
                 <tr>
                 <td width=\"100\">Straccio</td>
                 <td width=\"600\"><textarea name="
    straccio" value="" rows="3" cols="60" ></textarea></td>
                 </tr>
                 <td width=\"100\">Testo</td>
                 <td width=\"600\"><textarea name="
    testo" value="" rows="3" cols="60"></textarea></td>
                 </tr>
                 <td width=\"100\">Data (inserirla nel formato YYYY-MM-DD)</td>
                 <td width=\"600\"><textarea name="
    data" value="" rows="3" cols="60" ></textarea></td>
                 </tr>
                 <tr>
                 <td width=\"100\"><input type="
    submit" name="store" value="Memorizza" /></td>
                 <td width=\"600\"><input type="
    reset" name="reimposta" /></td>
                 </tr>
                 <input type="
    hidden" name="id" value="id" />
                 </form>
                   </table> 
    pagina funzione:

    Codice PHP:
    include ("connessione.php");
    $id intval($id); 
    echo 
    $titolo;

    if (
    ins==1) {

    $sql "INSERT INTO news (id, titolo, straccio, testo, data) VALUES ($id$titolo$straccio$testo$data)";
    $result mysql_query($sql)
    or die(
    mysql_error());
    //mysql_query("INSERT INTO news VALUES ('', '$titolo', '$straccio', '$testo', '$data')");
    //$result = $db->Execute($sqlins) or die("Errore nella QUERY: $sqlins. " . $db->ErrorMsg());

    header ("Location: ins_new.php");
    exit();

    ho provato un paio di metodi.
    Scusate la domanda stupida, ma sono alle prime armi con questo codice...stò cercando di imparare
    grazie

  2. #2

    Re: insert sbagliata...dove sbaglio?

    prova a stampare il valore di $sql

    codice:
    echo $sql;
    return;
    prude il dito, lui sdraiato
    ha giocato a guardie e ladri col ladro sbagliato

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    346
    non mi stampa nulla

    Codice PHP:
    $id intval($id); 
    echo 
    $titolo;

    if (
    ins==1) {

    $sql "INSERT INTO news (id, titolo, straccio, testo, data) VALUES ($id$titolo$straccio$testo$data)";
    $result mysql_query($sql)
    or die(
    mysql_error());
    //mysql_query("INSERT INTO news VALUES ('', '$titolo', '$straccio', '$testo', '$data')");
    //$result = $db->Execute($sqlins) or die("Errore nella QUERY: $sqlins. " . $db->ErrorMsg());
    echo $sql;
    return;

    header ("Location: ins_new.php");
    exit();

    è come se non si riporta dietro nella nuova pagina i valori passati nell'inserimento

  4. #4
    Così dovrebbe andare:

    Codice PHP:
    $sql "INSERT INTO news (id, titolo, straccio, testo, data) VALUES ('$id', '$titolo', '$straccio', '$testo', '$data')";
    $result mysql_query($sql) or die (mysql_error()); 
    Realizzazione script php/mysql, per info:
    delrossofabio@gmail.com

    http://forum.html.it/forum/showthread.php?s=&threadid=1478962

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    346
    niente...il db non ne vuole sapere di inserire i dati nella tabella!!forse sbaglio il modo di passare i dati dalla prima pagina alla seconda?

  6. #6
    codice:
    $sql = "INSERT INTO news (id, titolo, straccio, testo, data) 
    VALUES 
    (".$id.", '".$titolo."' ...............
    prude il dito, lui sdraiato
    ha giocato a guardie e ladri col ladro sbagliato

  7. #7
    non capisco come sono distribuiti script e paginenel senso di ordine ex: form->pagina_inserimento->pagina ritorno
    cmq io la query la scrivere così
    Codice PHP:
    $sql "INSERT INTO news (id, titolo, straccio, testo, data) VALUES ('".intval($id)."', '".$_POST['titolo']."', '".$_POST['straccio']."', '".$_POST['testo']."', '".$_POST['data']."')"
    non sono sicuro del valore di id perchè non so come è impostato il campo
    Planet Earth is blue and there's nothing I can do

  8. #8
    Si, non me ne sono accorto!

    Quando fai il controllo:

    Codice PHP:
    if (ins==1) { 
    ci sono due errori:

    1) Sembra che non lo prendi ne con il GET ne con il POST ($_GET['ins'] - $_POST['ins'])
    2) Non hai messo la variabile ($)

    Ad una prima occhiati ti suggerirei di fare così:

    Codice PHP:
    // catturo la variabile
    $ins $_GET['ins'];
    $id intval($id);
    echo 
    $titolo;

    // inserita la variabile
    if ($ins==1) {

    $sql "INSERT INTO news (id, titolo, straccio, testo, data) VALUES ($id$titolo$straccio$testo$data)";
    $result mysql_query($sql)
    or die(
    mysql_error());
    //mysql_query("INSERT INTO news VALUES ('', '$titolo', '$straccio', '$testo', '$data')");
    //$result = $db->Execute($sqlins) or die("Errore nella QUERY: $sqlins. " . $db->ErrorMsg());
    echo $sql;
    return;

    header ("Location: ins_new.php");
    exit();

    Comunque sia adesso dovrebbe funzionare ma lo script non è per niente sicuro...Ti consiglio di leggere qualche guida su questo sito
    Realizzazione script php/mysql, per info:
    delrossofabio@gmail.com

    http://forum.html.it/forum/showthread.php?s=&threadid=1478962

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    346
    ho modificato come mi hai detto, riportando i valori delle variabili come erano originariamente,
    e l'echo mi restitutisce questo: INSERT INTO news (id, titolo, straccio, testo, data) VALUES ('', '', '', '', '')
    nel db mi inserisce una nuova riga, ma con tutti i campi vuoti.
    Codice PHP:
    //$id = intval($id); 
    //echo $titolo;
    $ins $_GET['ins']; 
    if (
    $ins==1) {

    $sql "INSERT INTO news (id, titolo, straccio, testo, data) VALUES ('$id', '$titolo', '$straccio', '$testo', '$data')"
    $result mysql_query($sql) or die (mysql_error());

    //mysql_query("INSERT INTO news VALUES (' ', '$titolo', '$straccio', '$testo', '$data')");
    //$result = $db->Execute($sqlins) or die("Errore nella QUERY: $sqlins. " . $db->ErrorMsg());
    echo $sql;
    return;

    //header ("Location: ins_new.php");
    //exit();

    ho tolto la sintassi di prima:
    Codice PHP:
    $sql "INSERT INTO news (id, titolo, straccio, testo, data) VALUES (".$id.", '".$titolo."','".$straccio."','".$testo."','".$data."')"
    perchè mi dava errore : 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

    grazie per l'avvertenza, cmq per ora sono soltanto delle semplici prove per prendere un pò mano con il codice

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    346
    il codice parte dalla prima pagina dove ho:

    Codice PHP:
     <form name="insert" action='insert.php?ins=1'  method="post" enctype="multipart/form-data">
                 <
    tr>
                 <
    td width=\"100\">Titolo</td>
                 <td width=\"600\"><textarea name="
    titolo" value="" rows="1" cols="60" ></textarea></td>
                 </tr>
                 <tr>
                 <td width=\"100\">Straccio</td>
                 <td width=\"600\"><textarea name="
    straccio" value="" rows="3" cols="60" ></textarea></td>
                 </tr>
                 <td width=\"100\">Testo</td>
                 <td width=\"600\"><textarea name="
    testo" value="" rows="3" cols="60"></textarea></td>
                 </tr>
                 <td width=\"100\">Data (nel formato YYYY-MM-DD)</td>
                 <td width=\"600\"><textarea name="
    data" value="" rows="3" cols="60" ></textarea></td>
                 </tr>
                 <tr>
                 <td width=\"100\"><input type="
    submit" name="store" value="Memorizza" /></td>
                 <td width=\"600\"><input type="
    reset" name="reimposta" /></td>
                 </tr>
                 <input type="
    hidden" name="id" value="id" />
                 </form>
                   </table> 
    e dovrebbe mandare i dati alla pagina successiva dove fà l'inserimento e successivamente dovrebbe ritornare ad una pagina di amministrazione( quello lo faccio con : header ("Location: ins_new.php"); no??? sbaglio?

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.