Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Problema switch

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2015
    Messaggi
    205

    Problema switch

    Salve a tutti,

    sto sviluppando un codice in cui sto riscontrando diversi problemi, uno dei tanti è causato da questo switch xD.

    Io ho questa pagina, che riceve tramite le sessioni dei dati, e fino a qui tutto bene. Devo effettuare dei controlli, in modo da far risultare delle cose diverse ogni volta, ovviamente che dipende dai dati ricevuti tramite le sessioni.
    La pagina è già "completa" l'unica cosa che non riesco a sistemare è quello switch, che ovviamente non prende i dati corretti, qualcuno riesce ad aiutarmi??

    codice:
    <?php
    
        session_start();
        
        echo ' <link rel="icon" href="favicon.ico" /> ';
        echo ' <title> Lista per folder </title>';
        echo '<style> a{text-decoration: none;} *{ font-size: 15;} b{ font-size: 0.844em;} .testo{ border-bottom: 1px solid #c0c0c0; }</style>';
        //connessione al server DB
        $link_connessione = mysql_connect("localhost","xxxx","") or die ("Connessione impossibile");
    
        //Selezione del database
        $db = mysql_select_db ("xxx", $link_connessione) or die ("Database inesistente!");
        
        
        $Utente = $_SESSION['Utente']; 
        $Folder = $_SESSION['Folder'];
        $Capsule = $_SESSION['Capsule'];
        $Report = $_SESSION['Report'];
        
        
        switch ( ) {
        
        case !isset($Utente):
        
            echo ' L\'utente inserito è  ' .$Utente. '';
            break;
            
        case !isset($Folder):
        
        echo ' La folder selezionata è ' .$Folder.'';
        break;
        
        default:
        
         $query= "SELECT * FROM `test` ORDER BY `IDFolder`,`IDCapsule`,`IDReport`,`utente`  ASC";
         $tabella= mysql_query($query, $link_connessione) or die ("Attenzione: errore nella query");
         
         echo '<a href="index.html"><input type="button" value="Torna alla pagina principale" href="index.html"></a>';
         
         
    
        
         
         while ($riga = mysql_fetch_array($tabella)) {
    
        $utente = $riga ['utente'];
        $folder = $riga ['IDFolder'];
        $capsule = $riga ['IDCapsule'];
        $report = $riga ['IDReport'];
        $descrizione = $riga ['Descrizione'];
        
        echo (' <p class="testo" name="dati">' .$utente. ' - ' .$folder. ' - ' .$capsule. ' - ' .$report. ' - <b>' .$descrizione.' </b></p> ');
        
        }
        
        
        
        }
        
        
        
        
    unset($_SESSION['Utente']);
    unset($_SESSION['Folder']);
    unset($_SESSION['Capsule']);
    unset($_SESSION['Report']);
    ?>
    Sito Modellismo (Non ancora completo)

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    lo switch prevede un parametro, tu non lo hai messo
    secondo me devi cambiare strada, tipo usare degli if

  3. #3
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    per forza, non puoi usare lo switch così,lo switch controlla una sola variabile,tu vuoi che ne controlli diverse.
    Se non ho capito male quello che devi fare ti serve una concatenazione di if, una cosa di questo tipo:

    Codice PHP:
        if(!isset($Utente)) {
            echo 
    ' L\'utente inserito è  ' .$Utente'';
     }else{
         if(!isset(
    $Folder)){
             echo 
    ' La folder selezionata è ' .$Folder.'';
         }else{
           
    $query"SELECT * FROM `test` ORDER BY `IDFolder`,`IDCapsule`,`IDReport`,`utente`  ASC";
         
    $tabellamysql_query($query$link_connessione) or die ("Attenzione: errore nella query");
         
          echo 
    '<a href="index.html"><input type="button" value="Torna  alla pagina principale" href="index.html"></a>';
         
         

        
         
         while (
    $riga mysql_fetch_array($tabella)) {

        
    $utente $riga ['utente'];
        
    $folder $riga ['IDFolder'];
        
    $capsule $riga ['IDCapsule'];
        
    $report $riga ['IDReport'];
        
    $descrizione $riga ['Descrizione'];
        
         echo (
    ' <p class="testo" name="dati">' .$utente' - ' .$folder'  - ' .$capsule' - ' .$report' - <b>' .$descrizione.'  </b></p> ');
        
        }
         }

    Tra l'altro credo sia meglio che ti controlli la logica dello script, ti segnalo solo due cosette che ho notato:

    Codice PHP:
     
        $Utente 
    $_SESSION['Utente']; 
    // Qui stai settando $Utente .... magari vuoto, ma lo stai settando, quindi è inutile che dopo controlli se è settato
        
    $Folder $_SESSION['Folder'];
        
    $Capsule $_SESSION['Capsule'];
        
    $Report $_SESSION['Report'];
        
        
        switch ( ) {
        
        case !isset(
    $Utente): // come dire se non è settato $Utente stampa $Utente???
    echo ' L\'utente inserito è  ' .$Utente'';
    ... 

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

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2015
    Messaggi
    205
    Grazie mille ad entrambi per la risposta

    Ho "rubato" il codice che ha scritto las con gli if concatenati e modificato, sostituendo !isset con !empty.

    Adesso la parte dell'utente (il primo controllo) non funziona ancora, mentre il secondo controllo funziona in modo corretto, devo solo controllare che ci siano le variabili settate in modo corretto e tutti i nomi corrispondono

    Adesso il codice è in questo modo

    Codice PHP:
    <?php

        session_start
    ();
        
        echo 
    ' <link rel="icon" href="favicon.ico" /> ';
        echo 
    ' <title> Lista per folder </title>';
        echo 
    '<style> a{text-decoration: none;} *{ font-size: 15;} b{ font-size: 0.844em;} .testo{ border-bottom: 1px solid #c0c0c0; }</style>';
        
    //connessione al server DB
        
    $link_connessione mysql_connect("localhost","xxxx","") or die ("Connessione impossibile");

        
    //Selezione del database
        
    $db mysql_select_db ("xxx"$link_connessione) or die ("Database inesistente!");
        
        
        
    $Utente $_SESSION['Utente']; 
        
    $Folder $_SESSION['Folder'];
        
    $Capsule $_SESSION['Capsule'];
        
    $Report $_SESSION['Report'];
        
        
        if(!empty(
    $Utente)) {
            
            
    $query"SELECT * FROM `test` WHERE utente='$Utente'";
            
    $tabellamysql_query($query$link_connessione) or die ("Attenzione: errore nella query");
             
            echo 
    '<a href="index.html"><input type="button" value="Torna alla pagina principale" href="index.html"></a>';
        }else{
         if(!empty(
    $Folder)){
            
    $query"SELECT * FROM `test` WHERE IDFolder='$Folder' ORDER BY `IDFolder`,`IDCapsule`,`IDReport`,`utente`  ASC";
            
    $tabellamysql_query($query$link_connessione) or die ("Attenzione: errore nella query");
             
            echo 
    '<a href="index.html"><input type="button" value="Torna alla pagina principale" href="index.html"></a>';
        }else{
         
            
    $query"SELECT * FROM `test` ORDER BY `IDFolder`,`IDCapsule`,`IDReport`,`utente`  ASC";
            
    $tabellamysql_query($query$link_connessione) or die ("Attenzione: errore nella query");
             
         echo 
    '<a href="index.html"><input type="button" value="Torna alla pagina principale" href="index.html"></a>';
         
         
        }
        
         
         while (
    $riga mysql_fetch_array($tabella)) {

        
    $utente $riga ['utente'];
        
    $folder $riga ['IDFolder'];
        
    $capsule $riga ['IDCapsule'];
        
    $report $riga ['IDReport'];
        
    $descrizione $riga ['Descrizione'];
        
        echo (
    ' <p class="testo" name="dati">' .$utente' - ' .$folder' - ' .$capsule' - ' .$report' - <b>' .$descrizione.' </b></p> ');
        
        }
        
        
        
        }
        
        
        
        
    unset(
    $_SESSION['Utente']);
    unset(
    $_SESSION['Folder']);
    unset(
    $_SESSION['Capsule']);
    unset(
    $_SESSION['Report']);
    ?>
    Ultima modifica di WottaFacca; 15-06-2015 a 10:10
    Sito Modellismo (Non ancora completo)

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.