Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    7

    Aiuto sulla guida pratica php mysql

    Ciao ho letto la guida praticasu php e msql che mi servirebbe per gestire le news nel mio sito.Quindi seguendo attentamente le varie lezioni l'ho scritta e l'ho provata in locale: bello funziona!
    Quindi allegro di poter utilizzare un gestore delle news semplice e perfetto per il mio sito l'ho trasferito sul mio server di hosting,ho cambiato i parametri del config e...sorpresa non funziona!!
    Praticamente una volta inserita la news mi dice password errata nonostaante la password sia corretta e provando a togliere dal codice la parte relativa al controllo password mi dice che l'articolo è stato inserito correttamente ma in realtà non è così!
    Allora ho contattato il servizio assistenza del mio server e mi hanno risposto in questo modo :

    Risposta del tecnico del Supporto di Primo Livello:
    Salve,
    abbiamo notato che lo script non fa uso corretto degli array superglobali $_POST, $_GET o $_REQUEST.

    Sui nostri server la direttiva register_globals è posta ad off ((http://it.php.net/register_globals)) e pertanto non è possibile richiamare le variabili passate tramite url con il loro nome (es. $titolo, $testo), ma bisogna far ricorso al relativo array superglobale (es. $_REQUEST['titolo'], $_REQUEST['testo'])

    dato che con il php sono alle prime armi credo che devo andare a sostituire nella pagina save.php così:

    <?
    include("config.inc.php");

    if ($_REQUEST['pass'] != $_REQUEST['password']):
    echo "Password errata";

    elseif (trim($_REQUEST['titolo']) == "" OR trim($_REQUEST['testo']) == ""):
    echo "I campi Titolo e Testo devono essere riempiti!";

    else:
    $_REQUEST['titolo'] = addslashes(stripslashes($_REQUEST['titolo']));
    $_REQUEST['autore'] = addslashes(stripslashes($_REQUEST['autore']));
    $_REQUEST['mail'] = addslashes(stripslashes($_REQUEST['mail']));
    $_REQUEST['testo'] = addslashes(stripslashes($_REQUEST['testo']));
    $_REQUEST['titolo'] = str_replace("<", "&lt;", $_REQUEST['titolo']);
    $_REQUEST['titolo'] = str_replace(">", "&gt;", $_REQUEST['titolo']);
    $_REQUEST['autore'] = str_replace("<", "&lt;", $_REQUEST['autore']);
    $_REQUEST['autore'] = str_replace(">", "&gt;", $_REQUEST['autore']);
    $_REQUEST['testo'] = str_replace("<", "&lt;", $_REQUEST['testo']);
    $_REQUEST['testo'] = str_replace(">", "&gt;", $_REQUEST['testo']);
    $_REQUEST['testo'] = nl2br($_REQUEST['testo']);

    $data = mktime("0", "0", "0", $_REQUEST['mese'], $_REQUEST['giorno'], $_REQUEST['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, categoria) VALUES ('$_REQUEST['titolo']', '$_REQUEST['testo']', '$_REQUEST['data']', '$_REQUEST['autore']', '$_REQUEST['mail']', '$_REQUEST['categoria']')";


    if (mysql_query($query, $db))
    echo "L'articolo è stato inserito correttamente.Grazie per il tuo contributo!";
    else
    echo "Errore durante l'inserimento dell'articolo";
    mysql_close($db); endif;

    ?>

    però facendo in questa maniera mi da questo errore:

    Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/mhd-01/www.k3k0.com/htdocs/esame/save.php on line 136

    controllando la riga 136 mi risulta quella evidenziata in grassetto.Qualcuno sai aiutarmi e dirmi dove sbaglio?
    'Che tu possa avere il vento in poppa e il sole ti risplenda in viso e che il vento del destino ti porti in alto a danzare con le stelle'

  2. #2
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Scrivendo l'istruzione in quel modo devi togliere gli apici dai nomi degli indici

    $query = "INSERT INTO news (titolo, testo, data, autore, mail, categoria) VALUES ('$_REQUEST[titolo]', '$_REQUEST[testo]', '$_REQUEST[data]', '$_REQUEST[autore]', '$_REQUEST[mail]', '$_REQUEST[categoria]')";

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    7
    questo l'avevo già provato però se scrivo così mi ritorna a dare l'errore iniziale cioè querllo della password errata.Può essere che ci sia un'errore da un'altra parte?
    'Che tu possa avere il vento in poppa e il sole ti risplenda in viso e che il vento del destino ti porti in alto a danzare con le stelle'

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.