Visualizzazione risultati 1 fino 3 di 3

Discussione: if dentro else..come???

  1. #1
    Guest

    Predefinito if dentro else..come???

    salve a tutti ho questo codice:

    Codice PHP:


    if (trim($titolo) == "" OR trim($genere) == "")
    {
    echo
    "<p align=\"center\">I campi titolo, genere e il numero delle stagioni di cui è composta la serie sono obbligatori, pertanto devono essere compilati.<br /><a href=\"javascript:history.back()\">&gt;&gt; Torna indietro</a> e riprova.</p>";
    }
    else
    {
    $titolo = addslashes(stripslashes($titolo));
    $titolo = str_replace("<", "&lt;", $titolo);
    $titolo = str_replace(">", "&gt;", $titolo);


    $query = "INSERT INTO series (titolo, modo, sta, crea, pro, an, naz, type) VALUES ('$titolo', '$ge', '$Stai', '$cre', '$proe', '$an', '$naz ', '$type)' ";

    if (
    mysql_query($query))
    {
    echo
    "<p align=\"center\">OK va tt bn</p>";
    }
    else
    {
    echo
    "<p align=\"center\">No ci sono errori</p>";
    }
    }
    Naturalmente le variabili sono dichiarate nel pezzo di codice prima.. :D
    io devo aggiungere questo:
    Codice PHP:

    if($tipo == "nothing")
    {
    $type = '';
    }
    elseif(
    $tipo == "terminato")
    {
    $type = 'terminato';
    }
    else
    {
    $type = 'menusx';
    }
    come faccio?? ho provato a metterlo dopo else, ma da errore..qualcuno potrebbe dirmelo pf??

    dovrebbe essere una cavolata, per chi conosce tt le funzioni else, elseif etc..:D


    thx in anticipo..ciaoo

  2. #2
    Guest

    Predefinito

    se intendi dopo l'ultimo blocco istruzione else che compare, allora prova a inserire tutto prima dell'ultima parentesi graffa...
    (il tuo codice non è molto bene indentato)

  3. #3
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Provo a ricordarti brevemente le regole per la costruzione di un blocco if / elseif / else... anche perché non riesco davvero a capire dove possa essere inserito quel blocco.

    - la sintassi generale è questa:
    Codice PHP:
    if (condizione1) {
    // istruzioni caso 1
    }
    else if (
    condizione2) {
    // istruzioni caso 2
    }
    ...
    else {
    // ultime istruzioni
    }
    - puoi omettere il blocco else se il tuo script, quando non si verifica alcuna delle condizioni che hai impostato, non deve eseguire nulla
    - allo stesso modo puoi omettere il blocco elseif se la condizione da verificare è una sola. Altrimenti puoi ripeterli quante volte vuoi, tenendo conto che in questo modo ogni condizione esclude tutte le altre (le precedenti perché non si verificano, le successive perché vengono ignorate).
    - puoi nidificare strutture if / elseif / else, inserendole così come sono al posto di un'istruzione.
    - se per ogni condizione devi eseguire una sola istruzione, puoi anche omettere le parentesi graffe. In questo caso, però, stai attento alla "trappola dell'else sospeso": te ne porto un esempio di seguito.

    Supponi che devi realizzare un sito di spedizioni. La spedizione in Italia costa 10 euro, però spedire in Sardegna è più difficile (c'è tutto il mare da attraversare), e quindi il costo sale a 20 euro. Per gli altri stati il costo di spedizione è 30 euro. Metti che vuoi inserirlo così nel tuo codice:
    Codice PHP:
    $costo_sped = 10;
    if (
    $stato == 'Italia')
    if (
    $regione == 'Sardegna')
    $costo_sped = 20;
    else
    $costo_sped = 30;
    Scritto così, sembra che funzioni tutto... in realtà ogni else viene associato all'ultimo if scritto e il risultato sarà questo:
    - le spedizioni in Italia (esclusa Sardegna) costano 30 euro
    - le spedizioni in Sardegna costano 20 euro
    - le spedizioni all'estero costano 10 euro
    Per rimediare, basta usare un paio di parentesi graffe (in questo caso, obbligatorie):
    Codice PHP:
    $costo_sped = 10;
    if (
    $stato == 'Italia')
    {
    if (
    $regione == 'Sardegna')
    $costo_sped = 20;
    }
    else
    $costo_sped = 30;
    Spero di averti dato qualche dritta... stammi bene...
    Ultima modifica di dementialsite : 06-12-2007 alle ore 10.59.37
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

Regole di scrittura

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