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

    Non ho capito questo codice?

    Salve ragazzi sono alle prime armi col php ed ho un problema oggi in classe ci hanno fatto vedere questo codice per realizzare una calcolatrice col php ma non ho ben capito tutte le parti qualcuno può gentilmente spiegarmelo ?





    codice:
    <?php
    
    if(isset($_GET['valUno'])){
      $valUno=$_GET['valUno'];
    }
    if(isset($_GET['op'])){
      $op=$_GET['op'];
    }
    
    $currentNum = "";
    if( isset($_GET["display"]) && ctype_digit($_GET["display"]) ){
      $currentNum .= $_GET["display"];
    }
    if(isset($_GET['num'])
    {
      if( ctype_digit($_GET["num"]) )
      {
        $currentNum .= $_GET["num"];
      }
    
      switch($_GET["num"]) {
        case '*':
        case '/':
        case '+':
        case '-':
          $op=$_GET['num'];
          $valUno=$currentNum;
          $currentNum="";
          break;
        case 'C':
          $currentNum="";
          break;
        case '=':
          $valDue=$currentNum;
          switch($op){
            case '*':
              $currentNum=$valUno * $valDue;
              break;
            case '/':
              $currentNum=$valUno / $valDue;
              break;
            case '+':
              $currentNum=$valUno + $valDue;
              break;
            case '-':
              $currentNum=$valUno - $valDue;
              break;
          }
          break;
      }
    }
    ?>
    <html>
    <head>
        
        <title>Esempio calcolatrice</title>
    </head>
    <body>
        <form  method="get" action="" >
            <?php if(isset($valUno)): ?>
            <input type="hidden" name="valUno" value="<?php echo $valUno; ?>" />
            <?php endif; ?>
            <?php if(isset($op)): ?>
            <input type="hidden" name="op" value="<?php echo $op; ?>" />
            <?php endif; ?>
            <p><input type="text" name="display" value="<?php echo $currentNum; ?> "/></p>
            <p>
                <input type="submit" name="num" value="7"/>
                <input type="submit" name="num" value="8"/>
                <input type="submit" name="num" value="9"/>
                <input type="submit" name="num" value="*" /><br/>
                <input type="submit" name="num" value="4"/>
                <input type="submit" name="num" value="5"/>
                <input type="submit" name="num" value="6"/>
                <input type="submit" name="num" value="+"/><br/>
                <input type="submit" name="num" value="1"/>
                <input type="submit" name="num" value="2"/>
                <input type="submit" name="num" value="3"/>
                <input type="submit" name="num" value="/"/><br/>
                <input type="submit" name="num" value="C" />
                <input type="submit" name="num" value="0"/>
                <input type="submit" name="num" value="="/>
                <input type="submit" name="num" value="-"/>
            </p>
        </form>
    </body>
    </html>

  2. #2
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    Che cosa non hai capito di preciso? Quale pezzo?

  3. #3
    Questi passaggi qua
    codice:
    if(isset($_GET['valUno'])){
      $valUno=$_GET['valUno'];
    }
    if(isset($_GET['op'])){
      $op=$_GET['op'];
    }
    
    $currentNum = "";
    if( isset($_GET["display"]) && ctype_digit($_GET["display"]) ){
      $currentNum .= $_GET["display"];
    }
    if(isset($_GET['num'])
    {
      if( ctype_digit($_GET["num"]) )
      {
        $currentNum .= $_GET["num"];
      }
    codice:
      $op=$_GET['num'];
          $valUno=$currentNum;
          $currentNum="";
          break;
    codice:
    <?php if(isset($valUno)): ?>
            <input type="hidden" name="valUno" value="<?php echo $valUno; ?>" />
            <?php endif; ?>
            <?php if(isset($op)): ?>
            <input type="hidden" name="op" value="<?php echo $op; ?>" />
            <?php endif; ?>
            <p><input type="text" name="display" value="<?php echo $currentNum; ?> "/></p>
            <p>

  4. #4
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    `isset` controlla semplicemente se la variabile esiste (cioè, non è NULL), quindi la prima parte la puoi leggere così:
    codice:
    if(isset($_GET['valUno'])) { // se $_GET['valUno'] esiste
      $valUno=$_GET['valUno']; // assegno alla variabile $valUno il valore contenuto nella variabile $_GET['valUno']}
    Le stesse considerazioni le puoi fare sia con $_GET['op'] e $_GET['num'].

    In php `$_GET` ha un particolare significato: è una variabile superglobale (cioè è disponibile ovunque), e le informazioni contenute in esso sono automaticamente popolate da php con i dati della query string. Ad esempio, inviando il form in questione, richiederai una pagina tipo: pagina.php?valUno=xx&op=yy&display=zz&num=1. Tutto ciò che vedi dopo il punto interrogativo è la query string. Con `$_GET['nome_key']` puoi recuperare il valore che ti interessa.

    `ctype_digit` controlla se la stringa contiene esclusivamente caratteri numerici. `&&` è un operatore logico, sono sicuro che li hai visti in classe. `.=` è per concatenare una stringa.
    Puoi quindi leggere la seconda parte così:
    codice:
    if( isset($_GET["display"]) && ctype_digit($_GET["display"]) ){ // se $_GET["display"] esiste E $_GET["display"] è un numero,
      $currentNum .= $_GET["display"]; // concatena $_GET["display"] a$currentNum.}
    Non riesco ad immaginare quale problema hai con gli altri pezzi di codice che hai indicato, puoi essere più preciso?

  5. #5
    Nella 3 parte non capisco cosa dovrebero farei 2 input type cè if isset $valuno input type hydden e value <?php echo valuo cosa dovrebbero fare?so che se è hidden è perche deve essere nascosto ma il resto non capisco(non ho mai visto degli input type fatti cosi)


    io lo interpreto cosi:
    codice:
    <?php if(isset($valUno)): ?>//se esiste $valuno
            <input type="hidden" name="valUno" value="<?php echo $valUno; ?>" />//l'input type valUno ha value $valuno (ma se è hidden come fa a stamparlo?)
            <?php endif; ?>//fine if

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.