Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente bannato
    Registrato dal
    Apr 2004
    Messaggi
    87

    non riesco a inserire nel db

    ciao ho fatto un form html dove posso inserire il titolo, il testo e un immagina! po uso il seguente script per inserire tutti i dati nella db "test", nella tabella "tab_princ" nel id "1".

    <?
    $nome_db = "test";
    $nome_tab = "tab_princ";

    $connesione = mysql_connect(localhost, clim, clim) or die ("connesione non riuscita");
    $db = mysql_select_db($nome_db, $connesione) or die ("selezione db non riuscita");


    $id = 1;
    $sql = "INSERT INTO $nome_tab (id, titolo, testo, immagine) VALUES ($id, $titolo, $testo, $immagine)";
    $risultato = mysql_query($sql, $connesione);

    ?>

    solo che non so xche ma non va!! sapete aiutarmi? :metallica

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    fai un echo della query e vedi cosa nn funziona...xke molto probabilmente nn gli passi qualche valore ...

  3. #3
    clim e clim sono utente e password?nel mysql_connect metti i vari spezzoni tra virgolette:

    Codice PHP:
    $connessione mysql_connect("localhost""utente_mysql""password_mysql")or die("Connessione non riuscita: " mysql_error()); 
    e abituati a mettere la segnalazione dell'errore con mysql_error() che se c'è un errore ti dice esattamente di che errore si tratta, fallo per tutte le istruzioni mysql/php, idem quando esegui la query:

    Codice PHP:
    mysql_query($query)or die("Errore nell'esecuzione della query: ".mysql_error()); 
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  4. #4
    Utente bannato
    Registrato dal
    Apr 2004
    Messaggi
    87
    se faccio
    echo ("$sql");

    mi esce scritto cosi:

    INSERT INTO tab_princ (titolo, testo, immagine) VALUES (, , )

  5. #5
    vuol dire che non gli viene passato nessun valore...prima di tutto metti le virgolette alle variabili:

    codice:
    INSERT INTO tabella (nome, cognome) VALUES ('$nome','$cognome')
    poi, da dove le prendi le variabili che vuoi inserire?
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  6. #6
    Utente bannato
    Registrato dal
    Apr 2004
    Messaggi
    87
    questo é il file dove prendo le variabili:

    <html>
    <head>
    <title>Admin Home</title>

    </head>

    <body>


    <font size="5" face="Arial, Helvetica, sans-serif">Admin

    </font></p>

    <form name="form" method="post" action="admin.php">



    <font size="2" face="Arial, Helvetica, sans-serif">Titolo

    <input type="text" name="titolo" size="25">
    </font></p>



    <font size="2" face="Arial, Helvetica, sans-serif">Testo

    <textarea name="testo" cols="100" rows="15"></textarea>
    </font></p>



    <font size="2" face="Arial, Helvetica, sans-serif"> Immagine</font>

    <input type="file" name="immagine" value="">

    </p>



    <input type="submit" name="Submit" value="Invia">
    </p>
    </form>
    </body>
    </html>

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    1,141
    quando prendi i valori x inserirli nel db,fai una echo x vedere
    cosa gli passi...
    $file= $_FILES['immagine']['name'];
    $titolo = $_POST['titolo'];
    $testo = $_POST['testo'];

    echo $file."-"."$titolo"."-".$testo;
    e vedi cosa ti stampa...

  8. #8
    nella pagina che raccoglie i dati controllo sempre che esistano le variabili (salsa mai salsa)

    if (isset($HTTP_POST_VARS['variabile_via_post'])

    uso sempre la sintassi $HTTP_POST_VARS etc etc forse antica forse prolissa ma ormai mi ci sono affezionato che ci vuoi fare.

    una volta che hai tutti i dati controlla quali sono stringhe e passali da una funzione che sistema i caratteri.

    io uso queste:

    function stripcslashesandquote($x)
    {
    return str_quoted(stripcslashes($x));
    }

    function str_quoted( $x )
    {
    return "'" . str_replace ("'", "''", $x) . "'";
    }

    una volta finito fai un echo della query e controlla che sia corretta.

    ciao
    t.

  9. #9
    Allora è probabile che le variabili non ti vengano passate perché potresti avere il register_globals del php.ini a Off, quindi in admin.php per recuperare le variabili usa l'array $_POST[].
    Ad esempio:
    Codice PHP:
    $testo $_POST['testo']; 
    e poi fai l'inserimento. Ricordati la notazione dell'errore, non è per stresarti l'anima, ma a volte evita di farti perdere tempo inutilmente.

    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  10. #10
    Utente bannato
    Registrato dal
    Apr 2004
    Messaggi
    87
    mi stampa quello che ho inserito in titolo e quello che ho messo in testo

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.