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

    miglioramento e correzione script

    Ciao a tutti sono un novizio, è ho appena iniziato a scrivere qualcosina in php, allora volevo dei suggerimenti su come, innanzi tutto far funzionare (perchè non funziona naturalmente) e poi migliorare questo script grazie

    Codice PHP:
    <?php

    echo"<form name=form1 method=post action=es18bis.php>";
    echo
    "  <label>";
     echo
    " Come si chiamano Paperino?
    "
    ;
     echo
    " <input type=text name=paolino>";
     echo
    " </label>";
     echo
    " <label> 
    "
    ;
     echo

    "
    ;
      echo
    "Dove &egrave; nato Zio Paperone ?
    "
    ;
      echo
    "<input type=text name=scozia>";
      echo
    "</label>";
     echo
    " <label> 
    "
    ;
     echo

    "
    ;
     echo
    " Chi &egrave; l'intellettuale di Paperopoli ?
    "
    ;
     echo
    " <input type=text name=pico>";
     echo

    "
    ;
     echo

    "
    ;
     echo
    " Chi &egrave; il pi&ugrave; fortunato di paperopoli  ?
    "
    ;
     echo
    " </label>";
     echo
    " <label>";
      echo
    "<input type=text name=gastone>";
      echo
    "</label>";
     echo


    Quanti nipoti ha paperino? </p>"
    ;
     echo


    "
    ;
       echo
    " <label>";
       echo
    " <input name=radio3 type=radio value=1>";
       echo
    " </label>";
     echo
    " 1</p>";
     echo


    "
    ;
      echo
    "  <label>";
       echo
    " <input name=radio3 type=radio value=2>";
       echo
    " </label>";
     echo
    " 2</p>";
     echo


    "
    ;
        echo
    "<label>";
        echo
    "<input name=radio3 type=radio value=3>";
        echo
    "</label>";
     echo
    " 3</p>";
     echo


    "
    ;
       echo
    " <label>";
       echo
    " <input name=radio3 type=radio value=4>";
       echo
    " </label>";
     echo
    " 4</p>";
     echo
    "<input type=submit name=Submit value=Invia>";
    echo
    "</form>";

    ?>
    Codice PHP:
    <?php
    $paolino
    =$_REQUEST[paolino];
    $scozia=$_REQUEST[scozia];
    $pico=$_REQUEST[pico];
    $gastone=$_REQUEST[gastone];
    $radio=$_REQUEST[radio3];
    $risultato=$paolino+$scozia+$pico+$gastone+$radio;
    $percentuale=($risultato*100)/5;

    if (
    $paolino==paolino)
    {
    print(
    "Bravo Paperino si chiama Paolino

    "
    );
    }
    else
    print(
    "ignorante Paperino si chiama Paolino

    "
    );

    if (
    $scozia==scozia)
    {
    print(
    "Bravo Zio Paperone è Scozzese

    "
    );
    }
    else
    print(
    "ignorante Zio Paperone è scozzese

    "
    );

    if (
    $pico==pico)
    {
    print(
    "Bravo era Pico

    "
    );
    }
    else
    print(
    "ignorante è Pico

    "
    );

    if (
    $gastone==gastone)
    {
    print(
    "Bravo è Gastone

    "
    );
    }
    else
    print(
    "ignorante Gastone

    "
    );

    if (
    $radio==3)

    print(
    "Ok Zio Paperino ha 3 nipoti

    "
    );

    else
    print(
    "Gnurent Zio Paperino ha Tre nipoti

    "
    );


    if (
    $paolino==paolino)
    $paolino=1;
    else
    $paolino=0;

    if (
    $scozia==scozia)
    $scozia=1;
    else
    $scozia=0;

    if (
    $pico==pico)
    $scozia=1;
    else
    $scozia=0;

    if (
    $gastone==gastone)
    $gastone=1;
    else
    $gastone=0;

    if (
    $radio==3)
    $radio=1;
    else
    $radio=0;

    print(
    "Hai indovinato $risultato domande su 5

    "
    );

    print(
    "ha indovinato il $percentuale % delle domande");
    ?>

  2. #2
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220
    Prima cosa devo dire che il concetto di questo script è molto contorto. La percentuale viene calcolata erroneamente e non capisco l'utilità di fare il form usando l'echo invece di HTML pulito.
    Poi...tu e gli apostrofi (o virgolette) avete litigato di brutto
    Sia nel codice HTML che in quello PHP ti consiglio di delimitare opzioni del TAG (per l'HTML) e le stringhe e nomi di index degli array (in PHP) con le virgolette o apostrofi (nel caso del PHP più che un consiglio è un obbligo).
    Poi...non usare $_REQUEST, ma $_POST nel caso in cui il method del form sia appunto POST.
    Per chiudere direi che lo script puo' stare tranquillamente in un file solo:

    Codice PHP:
    <?php

    if(!isset($_GET['action']) || $_GET['action'] == "")
    {

    echo
    "<form name=form1 method=post action='?action=1'>";
    echo
    "  <label>";
    echo
    " Come si chiamano Paperino?
    "
    ;
    echo
    " <input type=text name=paolino>";
    echo
    " </label>";
    echo
    " <label> 
    "
    ;
    echo

    "
    ;
      echo
    "Dove &egrave; nato Zio Paperone ?
    "
    ;
      echo
    "<input type=text name=scozia>";
      echo
    "</label>";
    echo
    " <label> 
    "
    ;
    echo

    "
    ;
    echo
    " Chi &egrave; l'intellettuale di Paperopoli ?
    "
    ;
    echo
    " <input type=text name=pico>";
    echo

    "
    ;
    echo

    "
    ;
    echo
    " Chi &egrave; il pi&ugrave; fortunato di paperopoli  ?
    "
    ;
    echo
    " </label>";
    echo
    " <label>";
      echo
    "<input type=text name=gastone>";
      echo
    "</label>";
    echo


    Quanti nipoti ha paperino? </p>"
    ;
    echo


    "
    ;
       echo
    " <label>";
       echo
    " <input name=radio3 type=radio value=1>";
       echo
    " </label>";
    echo
    " 1</p>";
    echo


    "
    ;
      echo
    "  <label>";
       echo
    " <input name=radio3 type=radio value=2>";
       echo
    " </label>";
    echo
    " 2</p>";
    echo


    "
    ;
        echo
    "<label>";
        echo
    "<input name=radio3 type=radio value=3>";
        echo
    "</label>";
    echo
    " 3</p>";
    echo


    "
    ;
       echo
    " <label>";
       echo
    " <input name=radio3 type=radio value=4>";
       echo
    " </label>";
    echo
    " 4</p>";
    echo
    "<input type=submit name=Submit value=Invia>";
    echo
    "</form>";

    }
    else 
    {
        
    $paolino=$_POST['paolino'];
        
    $scozia=$_POST['scozia'];
        
    $pico=$_POST['pico'];
        
    $gastone=$_POST['gastone'];
        
    $radio=$_POST['radio3'];
        
    $risultato=$paolino+$scozia+$pico+$gastone+$radio;
        
    $percentuale=($risultato*100)/5;
        
        if (
    $paolino=="paolino")
        {
            print(
    "Bravo Paperino si chiama Paolino

    "
    );
            
    $paolino=1;
        }
        else
        {
            print(
    "ignorante Paperino si chiama Paolino

    "
    );
            
    $paolino=0;
        }
        
        if (
    $scozia=="scozia")
        {
            print(
    "Bravo Zio Paperone è Scozzese

    "
    );
            
    $scozia=1;
        }
        else
        {
            print(
    "ignorante Zio Paperone è scozzese

    "
    );
            
    $scozia=0;
        }
        
        if (
    $pico=="pico")
        {
            print(
    "Bravo era Pico

    "
    );
            
    $pico=1;
        }
        else
        {
            print(
    "ignorante è Pico

    "
    );
            
    $pico=0;
        }
        
        if (
    $gastone=="gastone")
        {
            print(
    "Bravo è Gastone

    "
    );
            
    $gastone=1;
        }
        else
        {
            print(
    "ignorante Gastone

    "
    );
            
    $gastone=0;
        }
        
        if (
    $radio==3)
        {
            print(
    "Ok Zio Paperino ha 3 nipoti

    "
    );
            
    $radio=1;
        }
        else
        {
            print(
    "Gnurent Zio Paperino ha Tre nipoti

    "
    );
            
    $radio=1;
        }
        
        print(
    "Hai indovinato $risultato domande su 5

    "
    );
        
        print(
    "ha indovinato il $percentuale % delle domande"); 
    }



    ?>

  3. #3
    Domanda collaterale: se invece del costrutto if-else bonzer1 avesse usato solo una serie di if

    Codice PHP:
     if ($paolino=="paolino")
        {
            print(
    "Bravo Paperino si chiama Paolino

    "
    );
            
    $paolino=1;
        }

        if (
    $scozia=="scozia")
        {
            print(
    "Bravo Zio Paperone è Scozzese

    "
    );
            
    $scozia=1;
        }

    ecc... 
    Il programma avrebbe dovuto scorrere tutte le opzioni? Ovvero gli else a cascata permettono, una volta trovato il segnale "true" di uscire dal ciclo?

  4. #4
    Ok grazie per gli utili consigli
    Sapresti anche risolvermi il problema della percentuale e del quiz a opzione multipla; è quello che mi fa sbagliare completamente siao la percentuale che le domande indovinate

  5. #5
    Ciao Tobler io ho usato gli if - else così in caso di risposta sbagliata potevo scrivere un messaggio di errore personalizzato

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.