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

    Problemino stupido con le variabili

    So che per molti di voi sembrerà una banalità, ma passando da .net a php mi sto trovando molto "spaesato". Se ho:
    codice:
    $stringa='ciao';
    if (<condizione>) $stringa='bentornato';
    Se faccio così, la variabilie fuori dall'if non viene toccata. Come faccio per modificare quella all'esterno dall'if?

  2. #2
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    non so se ho capito cosa vuoi dire, ma se per 'quella all'esterno del'if' intendi il caso in cui la condizione non si verifichi, allora devi usare un else:

    Codice PHP:
    $stringa='ciao';
    if (<
    condizione> ) {
        
    $stringa='bentornato';
    }else{
        
    $stringa='Quello che vuoi';

    Il calcolatore è straordinariamente veloce, accurato e stupido.
    L'uomo è incredibilmente lento, impreciso e creativo.
    L'insieme dei due costituisce una forza incalcolabile.
    (Albert Einstein)

  3. #3
    No non è quello. Pensavo fosse colpa dell'if, ma mi sa che è colpa dell'include
    codice:
    pag1.php
    <?php
    $cmd=$_GET['cmd'];
    $loggato=false;
    if (....) {
    $loggato=true;
    header(.../pag2.php); }
    ...
    ?>
    
    pag2.php
    <?php
    include 'pag1.php';
    echo $loggato;
    ...
    ?>
    E praticamente mi stampa false invece di true

  4. #4
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    ma così rischi di creare un loop:


    pag2.php
    Codice PHP:
    include 'pag1.php'// qui includi pag1
    echo $loggato;
    ... 
    pag1.php
    Codice PHP:
    $cmd=$_GET['cmd'];
    $loggato=false;
    if (....) {
    $loggato=true;
    header(.../pag2.php); // se la condizione si verfica ricarichi pag2 ... che poi includera pag1 e cosi via all'infinito fino a che la condizione è vera
    }
    ... 
    quindi alla fine si ferma solo quando la condione è falsa e in quel momento ovviemente restituisce false
    Il calcolatore è straordinariamente veloce, accurato e stupido.
    L'uomo è incredibilmente lento, impreciso e creativo.
    L'insieme dei due costituisce una forza incalcolabile.
    (Albert Einstein)

  5. #5
    O_O E quindi? Come posso risolvere?

  6. #6
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    dipende da quale controllo devi fare
    Il calcolatore è straordinariamente veloce, accurato e stupido.
    L'uomo è incredibilmente lento, impreciso e creativo.
    L'insieme dei due costituisce una forza incalcolabile.
    (Albert Einstein)

  7. #7
    pag1
    codice:
    <?php
    $cmd=$_GET['cmd'];
    $loggato=false;
    if ($cmd=='logga')
    {
    		$nick=$_POST['nickname'];
    		$pass=$_POST['password'];
    		if (login ($nick, $pass))
    		{
    			$loggato=true;
    			header('location:http://127.0.0.1/pag2.php'); 
    		}
                    header('location:http://127.0.0.1/login.php');
    }
    ...
    ?>
    login() fa la query di select e ritorna true o false.
    pag2
    codice:
     
    <?php
    include 'pag1.php';
    echo $loggato."</br>";
    ?>
    Con aspx era molto più comodo perchè facevo Context.Items["loggato"]=loggato e poi potevo prenderlo da qualsiasi pagina.

  8. #8
    Utente di HTML.it L'avatar di Laxus
    Registrato dal
    Oct 2010
    Messaggi
    251
    darkplane, devi usare le sessioni

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.