• User Newbie

    php: if ed else capricciosi...

    Prima di tutto... Un ciao a tutti, è il mio primo messaggio su questo forum u.u'
    In secundis... Houston, abbiamo un problema.
    Siccome ho iniziato a programmare in php da pochi giorni, in modo totalmente amatoriale e sì, un pò limitato e semplicistico, è probabile che la soluzione del problema sia estremamente banale, ma... Sto dannando su questo codice e non riesco a venirne fuori.
    Lo riporto qui sotto, riducendolo ai minimi termini...


    *<? session_start();

    include "db.php";

    if (!$_SESSION['first_name']) {

    echo "Non sei autorizzato!";

    exit();
    }

    else

    $user = $_SESSION['first_name'];
    $modpg = $_POST['modpg'];
    $gestore = 'Arminius';

    if($user == $modpg){exit("Non puoi modificare il tuo stesso Personaggio!");}

    else {
    if($modpg == $gestore){exit("Questo pg non è modificabile");}

    else {

    echo("Fin qui tutto bene...");

    include "refreshstanza.php";

    }
    }
    ?>


    *La pagina che sto cercando di fare si compone di un codice più vasto, ho riportato qui solo il frammento in cui ho scovato il problema, perchè tutto il resto funziona... Queste poche righe no.
    Devo evitare che $modpg sia uguale a $user e/o a $gestore, e ho pensato di poter risolvere la cosa con una serie concatenata di funzioni if else, come vedete... Solo che non và.
    E non riesco ad inquadrare l'errore perchè il codice fà quello che gli pare... Quando gli pare. Se a un tentativo di collaudo, inserendo un $modpg uguale ad $user mi dà il rispettivo messaggio di errore e non avanza oltre, in un tentativo successivo fila liscio come se i due valori fossero diversi, cosa che invece non è... Idem per il secondo if, a volte và, a volte no...
    Non riesco a racapezzarmici, i valori che vengono assegnati a tutte e tre le variabili sono giusti, l'ho controllato, eppure non funziona...
    Forse sbaglio ad utilizzare gli if e gli else?
    Vi ringrazio anticipatamente per la risposta é_è'


  • User Newbie

    non so se posso essere utile...se hai riportato il codice correttamente a primo colpo manca almeno una parentesi graffa dopo il primo else


  • User Newbie

    non si finisce mai d'imparare...pensavo che dopo
    else
    fosse obbligatorio aprire la graffa mentre oggi scopro che non lo è scusami...
    ho provato il tuo codice a me sembra che funzioni... mi dispiace non esserti utile


  • User Newbie

    Ho trovato l'errore, era una miserrima sciocchezza >.<'''
    Praticamente nell'attributo 'values' del form che mi manda il dato $modpg a questo codice aveva lasciato come valore di default " " anzichè ""... Quindi c'era un antipatico spazio vuoto che non sempre veniva cancellato quando si riempiva il campo >_<''' Sono imbranata ç_ç'' Però almeno ora funziona u.ù