Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    15

    Errore inserimento dati in un DB

    Ciao a tutti
    ho un problema che non capisco come risolverlo!
    ho creato 4 file
    1) config_inc.php

    <?
    // parametri del database
    $db_host = "localhost";
    $db_user = "root";
    $db_password = "PSW
    $db_name = "negozio";
    //password per inserimento articoli
    $password = "PSW";
    ?>

    2) top_foot.inc.php

    <? function top() { ?>
    <html>
    <head>
    <meta name=generator content="Script di freephp.it">
    </head>
    <body bgcolor=ffffff text=000000>
    <font face=verdana,tahoma,arial size=-1>
    <h1>FREEPHP.IT</h1>

    <? }

    function foot() { ?>
    </font>
    </body>
    </html>
    <? } ?>

    3)insert.php

    <?
    include ("config_inc.php");
    include ("top_foot.inc.php");

    //intestazione
    top();
    ?>

    <form method="post" action="save.php">
    Titolo:

    <input type="text" size="40" name="titolo" />



    Data:


    <select name="giorno">
    <?
    for ($i=1; $i<=31; $i++)
    echo "<option value=\"$i\">$i</option>";
    ?>
    </select>

    <select name="mese">
    <option value="1">Gennaio</option>
    <option value="2">Febbraio</option>
    <option value="3">Marzo</option>
    <option value="4">Aprile</option>
    <option value="5">Maggio</option>
    <option value="6">Giugno</option>
    <option value="7">Luglio</option>
    <option value="8">Agosto</option>
    <option value="9">Settembre</option>
    <option value="10">Ottobre</option>
    <option value="11">Novembre</option>
    <option value="12">Dicembre</option>
    </select>

    <select name="anno">
    <option value="2001">2001</option>
    <option value="2002">2002</option>
    <option value="2003">2003</option>
    <option value="2004">2004</option>
    <option value="2005">2005</option>
    <option value="2003">2006</option>
    <option value="2004">2007</option>
    </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="Invia2" />
    </form>
    <?
    // chiusura pagina
    foot();
    ?>

    4)save.php

    <?
    $titolo=$_REQUEST['titolo'];
    $autore=$_REQUEST['autore'];
    $mail=$_REQUEST['mail'];
    $testo=$_REQUEST['testo'];
    $pass=$_REQUEST['pass'];
    $giorno=$_REQUEST['giorno'];
    $mese=$_REQUEST['mese'];
    $anno=$_REQUEST['anno'];
    include("top_foot.inc.php");
    include("config_inc.php");
    top();

    if ($pass != $password): echo "Password errata";
    elseif (trim($titolo) == "" OR trim($testo) == ""):
    echo "I campi Titolo e Testo devono essere riempiti!";
    else :
    $titolo = addslashes(stripslashes($titolo));
    $autore = addslashes(stripslashes($autore));
    $mail = addslashes(stripslashes($mail));
    $testo = addslashes(stripslashes($testo));
    $titolo = str_replace("<", "&lt;", $titolo);
    $titolo = str_replace(">", "&gt;", $titolo);
    $autore = str_replace("<", "&lt;", $autore);
    $autore = str_replace(">", "&gt;", $autore);
    $testo = str_replace("<", "&lt;", $testo);
    $testo = str_replace(">", "&gt;", $testo);
    $testo = nl2br($testo);
    $data = mktime("0", "0", "0", $mese, $giorno, $anno);
    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config_inc.php");

    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
    $query = "INSERT INTO news (titolo, testo, data, autore, mail) VALUES ('$titolo', '$testo', '$data', '$autore', '$mail')";
    if (mysql_query($query, $db))
    echo "L'articolo è stato inserito correttamente";
    else
    echo "Errore durante l'inserimento";

    //endif;
    mysql_close($db);
    endif; // chiude la verifica della presenza dei dati
    foot();
    ?>


    lancio insert.php ... dove ci sono delle normalissime caselle di testo in cui scrivo i dati che vorrei memorizzare nel DB
    cliko il pulsante....con il quale dovrebbe aprirsi la pagina save.php
    ed effettivamente la pagina si apere ma mi spunta questo errore e i dati ne DB non li inserisce:

    ", ">", $titolo); $autore = str_replace("<", "<", $autore); $autore = str_replace(">", ">", $autore); $testo = str_replace("<", "<", $testo); $testo = str_replace(">", ">", $testo); $testo = nl2br($testo); $data = mktime("0", "0", "0", $mese, $giorno, $anno); $db = mysql_connect($db_host, $db_user, $db_password); if ($db == FALSE) die ("Errore nella connessione. Verificare i parametri nel file config_inc.php"); mysql_select_db($db_name, $db) or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php"); $query = "INSERT INTO news (titolo, testo, data, autore, mail) VALUES ('$titolo', '$testo', '$data', '$autore', '$mail')"; if (mysql_query($query, $db)) echo "L'articolo è stato inserito correttamente"; else echo "Errore durante l'inserimento"; //endif; mysql_close($db); endif; // chiude la verifica della presenza dei dati foot(); ?>

    DOVE ho sbagliato?????????
    qualcuno mi aiuti, perchè sto impazzendo

    ahhh....la tabella in cui voglio inserire i dati l'ho creata con phpmyadmin cosi':

    CREATE TABLE news (id INT (5) UNSIGNED not null AUTO_INCREMENT, titolo VARCHAR (255) not null, testo TEXT not null, data INT (11), autore VARCHAR (50), mail VARCHAR (50), PRIMARY KEY (id))

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    204
    Invece del tag <? usa <?php e vedrai che funziona...

    Ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    15
    Non ci posso credere!!!!!!!!!!!!!!!!!!!
    ti adoroooooooooooooooooooooooooooooooo!

    era un errore cosi' stupido...e io ci ho perso mezza giornata!



    grazie veramente tantissimo!

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    204
    E' semplicemente perché nel file php.ini hai disabilitato (non tu ma di default) gli short open tags. Cerca "short_open_tag" nel file php.ini e dovrebbe essere impostato su Off, se lo imposti ad On ti accetta anche <? (è sconsigliato perché è meglio usare <?php, però puoi fare delle prove per vedere...)

    Ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    15
    un ultima cosa:

    ho creato un'altra pagina per effettuare la ricerca dei dati dentro il DB e stampare a video i risultati, tramite questa pagina che ho chiamto result.php

    <?php
    include("top_foot.inc.php");
    include("config_inc.php");
    top();

    $db = mysql_connect($db_host, $db_user, $db_password);

    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");

    mysql_select_db($db_name, $db) or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

    // MA NON MANCA IL $keys=$_POST['chiave']; ????
    $keys = explode (",", $chiave);

    $query = "";
    reset ($keys);

    while (list(,$parola) = each ($keys))
    {
    $parola = trim($parola);
    if ($parola != "")
    $query .= "titolo LIKE '%$parola%' OR testo LIKE '%$parola%' OR autore LIKE '%$parola%' OR ";
    }

    $query .= "0";

    $query = "SELECT id, titolo, data FROM news WHERE " . $query;

    $result = mysql_query($query, $db);

    while ($row = mysql_fetch_array($result))
    {
    echo "" . date("j/n/y", $row[data]) . " - $row[titolo]
    ";
    }

    foot()
    ?>


    quando la eseguo, mi da questo errore:

    Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in C:\xampp\htdocs\php_db\result.php on line 34

    che ho combinato? :master:

  6. #6
    Utente di HTML.it L'avatar di echoweb
    Registrato dal
    Sep 2008
    Messaggi
    419
    Se vai in linea 34, c'è un errore di apici.

    Cambia
    Codice PHP:
    echo "[url="view.php?id=$row[id]"]" date("j/n/y"$row[data]) . " - $row[titolo][/url]
    "

    in

    Codice PHP:
    echo "[url='view.php?id=".$row[id]."']" date("j/n/y"$row[data]) . " - ".$row[titolo]."[/url]
    "



    "Non soffocare la tua ispirazione e la tua immaginazione,
    non diventare lo schiavo del tuo modello"

    Vincent van Gogh

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.