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

    Problema con piccolo e stupido script php

    Ciao ragazzi, è il mio primo post e premetto che sono un niubbo completo del php . Ho usato la vostra guida principianti, per cominciare a capire il funzionamento del php e subito ho riscontrato un problema, vi incollo il codice:


    <? 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 "Erorre durante l'inserimento";
    mysql_close($db);}
    foot();
    ?>


    Basta leggere le prime righe, nelle quali si fa un confronto tra password e subito dopo si usa la funzione trim e si verifica che i campi testo e titolo siano non vuoti. Ovviamente questo script è parte di un "progettino", illustrato per l'appunto sul sito www.html.it. Ho semplicemente provato a riprodurlo, ma quando inserisco i dati con il form di inserimento e viene richiamato questo script, ottengo due errori:

    1) "password errata" : anche se la password è giusta, continua a darmi questo errore, alla fine ho risolto momentaneamente lasciando una password vuota
    2) Risolto il suddetto problema, se ne è verificato un altro: lo script continua a dirmi che titolo e testo devono essere non vuoti, come se io non inserissi nulla nei campi.

    Ho verificato il nome delle variabili in questo script e nello script dal quale viene richiamato e sono identici (nello specifico: titolo e testo), quindi non è questo il problema...

    Mi appello a voi per una risoluzione, grazie per le eventuali risposte e scusatemi se mi sono spiegato da cani .

  2. #2
    La guida è un po' vecchitta e si rifà ad una versione di php nella quale le global_vars erano settate ad on. Non sto qui a spiegarti cosa faccia questa impostazione e come modifichi il comportamento del motore (basta una ricerca sul forum per saperno di più ). Ti basti sapere che per risolvere il tuo problema devi fare riferimento all'array $_POST (nel caso in cui i dati vengano passati con metodo post; $_GEt se vengono passati con metodo get).

    Il nome delle tue vars, quindi, diventerà $_POST['pass'] o, in generale, $_POST['nome_del_campo_del_form'].

    Una cosa molto importante è inserire il nome del campo tra apici ' se si tratta di stringhe. Ciao!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  3. #3
    grazie infinite, per la risposta, appena posso, più tardi, proverò e ti farò sapere

  4. #4
    Di niente! Ciao!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

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.