Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    script php inserimento dati nel database non funzionante (non viene eseguito)

    Salve. Ho un problema con uno script in php:

    <?php include("config.inc.php");
    include ("top_foot.inc.php");
    //inseriamo il top (header) top();
    //controlliamo che la password inserita sia corretta
    if($pass!=$password)
    echo("Password errata. Torna indetro e riprova");
    //controlliamo che i campi titolo e testo non siano vuoti
    elseif (trim($titolo) == "" OR trim($testo) == "")
    echo "I campi Titolo e Testo devono essere riempiti!";
    $titolo = addslashes(stripslashes($titolo));
    $autore = addslashes(stripslashes($autore));
    $mail = addslashes(stripslashes($mail));
    $testo = addslashes(stripslashes($testo));
    //sostituiamo i simboli con i corrispettivi in html
    $titolo = str_replace("<", "<", $titolo);
    $titolo = str_replace(">", ">", $titolo);
    $autore = str_replace("<", "<", $autore);
    $autore = str_replace(">", ">", $autore);
    $testo = str_replace("<", "<", $testo);
    $testo = str_replace(">", ">", $testo);
    $testo = nl2br($testo); //serve a inserire nel testo i tag di fine riga

    //trasformiamo la data nel formato mese-giorno-anno
    $data = mktime("0", "0", "0", $mese, $giorno, $anno);

    //connettiamoci al database
    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri");
    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri");
    //inseriamo i dati nel database
    $query = "INSERT INTO news (titolo, testo, data, autore, mail) VALUES ('$titolo', '$testo', '$data', '$autore', '$mail')";

    //controlliamo che tutto abbia funzionato
    if (mysql_query($query, $db))
    echo "L'articolo è stato inserito correttamente";
    else echo "Erorre durante l'inserimento";
    mysql_close($db);
    foot();
    ?>

    Questo è l'output:




    Chiedo solo che qualcuno dia un' occhiata al codice per vedere se ci sono errori, visto che io non ne vedo

    Grazie

    P.S. lo script l'ho eseguito sul server con php

  2. #2
    Utente di HTML.it L'avatar di oronze
    Registrato dal
    Jun 2001
    Messaggi
    3,543
    else if non elseif

    No ai layout tabellari!

    Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872

  3. #3
    Originariamente inviato da oronze
    else if non elseif
    Perchè posti boiate figliuolo?

    Prova a cambiare i < e > con &lt; e &gt; (negli str_replace)
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

  4. #4
    Utente di HTML.it L'avatar di oronze
    Registrato dal
    Jun 2001
    Messaggi
    3,543
    Originariamente inviato da 0-c00l
    Perchè posti boiate figliuolo?

    Prova a cambiare i < e > con &lt; e &gt; (negli str_replace)
    perchè mi sono sbagliato effettivamente era na boiata mega galattica
    pardon!

    No ai layout tabellari!

    Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872

  5. #5
    Cosa dovrebbe fare questo codice?

    Codice PHP:
    ...
    $titolo str_replace("<""<"$titolo);
    $titolo str_replace(">"">"$titolo);
    $autore str_replace("<""<"$autore);
    $autore str_replace(">"">"$autore);
    $testo str_replace("<""<"$testo);
    $testo str_replace(">"">"$testo); 
    ... 
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  6. #6
    Originariamente inviato da 0-c00l
    Perchè posti boiate figliuolo?

    Prova a cambiare i < e > con &lt; e &gt; (negli str_replace)
    Provato ma problema nn risolto ancora.

    Cosa dovrebbe fare questo codice?

    $titolo = str_replace("<", "<", $titolo); $titolo = str_replace(">", ">", $titolo); $autore = str_replace("<", "<", $autore); $autore = str_replace(">", ">", $autore); $testo = str_replace("<", "<", $testo); $testo = str_replace(">", ">", $testo);
    L'ho preso su un sito. In pratica dovrebbe dire che se ci sono quelle freccette nel campo deve considerarle come freccette e non come apertura/chiusura tag (Il che potrebbe compromettere lo script). Così mi è stato detto....

    a questo punto vi allego anche la pagina che contiene il form, forse il problema è lì:

    Codice PHP:
    <html>  
    <head>   
    <title>
    </title>
     </head>
      <body> 
    <? include ("config.inc.php");
     include (
    "top_foot.inc.php"); 
    //intestazione 
    top();
     
    ?> 
    <form method="post" action="script.php"> 
    Titolo:
     
    <input type="text" size="40" name="titolo">
     
     
    Data:
     
    <select name="giorno"> 
    <? for ($i=1$i<=31$i++) echo "<option value=$i>$i"?> 
    </select> 
    <select name="mese"> 
    <option value=1>Gennaio <option value=2>Febbraio <option value=3>Marzo <option value=4>Aprile <option value=5>Maggio <option value=6>Giugno <option value=7>Luglio <option value=8>Agosto <option value=9>Settembre <option value=10>Ottobre <option value=11>Novembre <option value=12>Dicembre </select> <select name="anno"> <option value=2009>2009 <option value=2010>2010 <option value=2011>2011 
    </select>
     
     
    Autore:
     
    <input type="text" size="40" name="autore">
     
     
    E-mail:
     
    <input type="text" size="40" name="mail">
     
     
    Testo:
     
    <textarea cols="60" rows="40" name="testo"></textarea>
     
     
    Password:
     
    <input type="password" size="40" name="pass">
     
     

    <input type="submit" value="Invia"> 
    </form>
     <? // chiusura pagina 
    foot();
     
    ?> 
      </body> 
     </html>

  7. #7
    Originariamente inviato da starsdust
    ...
    L'ho preso su un sito. In pratica dovrebbe dire che se ci sono quelle freccette nel campo deve considerarle come freccette e non come apertura/chiusura tag (Il che potrebbe compromettere lo script). Così mi è stato detto....
    In pratica, invece, sostituisce un simbolo con se stesso!
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  8. #8
    LOL vero, se vuoi eliminare quei caratteri usa htmlspecialchars()
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

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 © 2024 vBulletin Solutions, Inc. All rights reserved.