Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    106

    Invio variabili tra pagine

    Salve a tutti; stavo realizzando il tutorial dedicato alla guida pratica PHP/MYSQL di HTML, ma sono rimasto bloccato in questa parte:
    Ho realizzato due pagine, una per l'inserimento dell'articolo nel Database, e una per il salvataggio dei dati sul Database: ecco le due Pagine:

    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";
    ?>
    </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=2001>2001
    <option value=2002>2002
    <option value=2003>2003
    <option value=2004>2004
    <option value=2005>2005
    </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();
    ?>


    quest invece č la pagina deicata al salvataggio:

    save.php

    <? 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";
    mysql_close($db); endif;
    foot();
    ?>


    quando riempio la pagina insert.php e clicco su invia mi da sempre lo stesso errore ovvero:
    I campi Titolo e Testo devono essere riempiti!
    Non capisco se il problema sorge dal fatto che il passaggio delle variabili non česatto o da qualcos'altro...
    Spero nella vostro aiuto.
    Grazie a tutti
    Il sapere appartiene al mondo

  2. #2
    potrebbe dipendere dalle register_global
    prova con $titolo=$_POST['titolo'] e $testo=$_POST['testo'] e poi fai il controllo se sono vuote o no

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    106
    Sembra che funzioni, controllo meglio e ti faccio sapere.
    A domani
    Il sapere appartiene al mondo

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.