Visualizzazione risultati 1 fino 5 di 5

Discussione: problema con condizione "if"

  1. #1
    Guest

    Predefinito problema con condizione "if"

    torno a disturbare :)
    allora, stavo cercando di creare un form per i commenti sul mio sito e fin qui tutto tranquillo, lo script funziona bene e non da errori.


    veniamo al dunque, il mio script funziona così:

    c'è un form che raccoglie i dati del commento e quando si clicca sul pulsante che invia i dati 'submit', scrive nell'url una variabile(get) a cui assegno un ok:
    Codice HTML:
    ...url.php?invia=ok
    e quindi subito dopo ho una condizione in php che controlla la variabile get "invia" se vale "ok" e nel caso inserisce il commento nel database, ecco il codice:
    Codice PHP:
    if ($_GET[invia]='ok'){

    $nome=$_SESSION[nome];
    $commento=$_POST[commento];
    $commento= wordwrap($commento,75, "<br>");
    $data= date('d M y - H:i');
    mysql_query("INSERT INTO commenti (id, nome, data, commento) VALUES ('','$nome','$data','$commento')") or die('errore');
    }

    poi seguendo c'è il codice che visualizza i commenti e lì non ci sono problemi.
    Il punto è che quando vado a provare la pagina e quindi la carico, mi ignora completamente la condizione, quindi basta appunto caricarla e mi posta un commento vuoto. Avete qualche idea su quale possa essere il problema? perchè io non sono riuscito a capirlo .
    Un grazie anticipato.

  2. #2
    Guest

    Predefinito

    Fai attenzione. In una parte usi $_GET e poi $_POST.

    I dati li puoi spedire o con l'uno o con l'altro metodo. Scegli tu quale, ma uno solo.

  3. #3
    Guest

    Predefinito

    si lo so.... il form mi manda i dati tramite post ma l'azione che compie è
    Codice HTML:
     action="?invia=ok"
    quindi se non vado errato quando premo il pulsante submit aggiunge all'url della pagina l'assegnazione che ho fatto ad invia e sempre se non sbaglio, con l'if controllo se la variabile che mi appare nell'url è settata e con il post estrapolo i dati del form.

    è giusto? perchè in altre parti del sito l'ho fatto e funziona o.O....

  4. #4
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    L'operatore = serve solamente ad effettuare assegnazioni, tu stai assegnando alla variabile nel primo operando (a sinistra dell'operatore) il valore espresso dal secondo operando.
    Quello che vuoi fare tu è verificare se il valore assegnato alla variabile sia uguale a quello della stringa, per questo devi usare l'operatore ==.
    Inoltre leggi questo estratto del manuale PHP: http://www.php.net/manual/en/languag...es.array.donts

  5. #5
    Guest

    Predefinito

    problema risolto :) ho confuso l'assegnazione con l'uguaglianza.... e non è la prima volta :) grazie mille!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •