Visualizzazione dei risultati da 1 a 10 su 10

Discussione: form prova

  1. #1

    form prova

    ciao a tutti,
    alura ho un ennessimo "compitino" da svolgere, utilizzando le mie pochissime conoscenze, (quasi nulle direi) di php

    questo e' il compito
    devo creare un form dove
    ci sono due variabili A e B
    inserendo nelle due variabili dei valori numerici, e quindi premendo su INVIA dovrebbe uscire la fra A E' MAGGIORE DI B
    oppure A E' MINORE DI B
    oppure A E' UGUALE A B.
    io come 4 soluzione ho inserito anche una 4 frase ovvero
    IL DATO INSERITO NN E' UN NUMERO.


    ho scritto il codice, ma andando al link della pagina, (www.delpy.it/form2.php) non mi si presente la pagina con la possibilita' di inserire i numeri, ma dice solo
    "Il dato inserito non è un numero" nn ho capito cosa sbaglio.. :master:

    Codice PHP:
    <?php

    if ($A and $B == ".")

       print (
    "
             <form name='form1' method='get' action='form2.php'>
         </form>
             

    [b]A
             <input type='text' name='A'>[/b]</p>

    [b]B
             <input type='text' name='B'>[/b]</p>

    [b]
             <input type='submit' name='Submit' value='Invia'> [/b]</p>
             <form name='form2' method='get' action='form2.php'>
           </form>
       "
    );
       
        elseif ( 
    $A>$B )
               {print (


    A è maggiore di B</p> "
    );}

        elseif (
    $A<$B)
               {print (


    A è minore di B</p> "
    );}
            
        elseif (
    $A=$B)
               {print (


    A è uguale a B</p> "
    );}

          else {print (
    "

    Il dato inserito non è un numero</p>"
    );}


     
    ?>

  2. #2
    Utente di HTML.it L'avatar di buba88
    Registrato dal
    Feb 2004
    Messaggi
    538

    Re: form prova

    [supersaibal]Originariamente inviato da Dany Delpy
    Codice PHP:

    if ($A and $B == "."
    [/supersaibal]
    sostituiscilo con

    Codice PHP:

    if (!isset($A) and !isset($B)) 
    Inoltre c'è qualche errore di sintassi. ecco il codice riscritto per bene:

    Codice PHP:
    <?php

    if (!isset($A) and !isset($B))

       print (
    "
             <form name='form1' method='get' action='form1.php'>
             

    [b]A
             <input type='text' name='A'>[/b]</p>

    [b]B
             <input type='text' name='B'>[/b]</p>

    [b]
             <input type='submit' name='Submit' value='Invia'> [/b]</p>
           </form>
       "
    );
       
        elseif ( 
    $A>$B )
               {print (


    A è maggiore di B</p> "
    );}

        elseif (
    $A<$B)
               {print (


    A è minore di B</p> "
    );}
            
        elseif (
    $A=$B)
               {print (


    A è uguale a B</p> "
    );}

          else {print (
    "

    Il dato inserito non è un numero</p>"
    );}


    ?>

  3. #3
    ciaoo.
    grazie mille..
    mettendo
    Codice PHP:
    if (!isset($A) and !isset($B)) 
    si visualizza il form www.delpy.it/form2.php
    ma inserendo i dati e premendo "invia" nn funziona..

    poi.. ho anche un altro problema, essendo da poco nel mondo di php
    ho solo poche funzione a mia disposizione da poter utilizzare, in pratica devo far questi compiti in base a cio' che mi viene spiegato

    per ora so solo queste funzioni
    if elseif else, ciclo for, isset, e l'and e l'or

    quindi nn posso utilizzare !isset perche nn mi e' stato indicato da chi mi sta spiegando php..

    :master: :master:

  4. #4
    ho rifatto..
    ora e' cosi..
    pero' nn mi spiego perche funziona..

    Codice PHP:
    <?php

    if ($A=="")
      {
       print (
    "
       <form method='get' action='form2.php'>
       <p align='left'>[b]<font face='Verdana' size='3'>A: <input type='text' name='A'
       size=' 30'></font>[/b]</p>
      <p align='left'>
      [b]<font face='Verdana' size='3'>B: <input type='text' name='B' size='30'></font>[/b]</p>
      <p align='left'>
      <p align='left'><input type='submit' value='Submit' name='INVIA'></p>
       </form>
       "
    );}
       
        elseif ( 
    $A>$B ){print (

     è maggiore di B</p> "
    );}

        elseif (
    $A<$B){print (

    A è minore di B</p> "
    );}
            
        else {print (


    A è uguale a B</p> "
    );}

     
    ?>
    il link e' sempre lo stesso www.delpy.it/form2.php

    cosi funziona, ma nn mi spiego perche inserendo solo la if per la variabile A

    quindi nn so se e' realmente corretto far cosi..
    :master: :master:

  5. #5
    Utente di HTML.it L'avatar di buba88
    Registrato dal
    Feb 2004
    Messaggi
    538
    beh quello che avevi usato prima:

    if ($A and $B == ".")

    nn ha molto senso come istruzione....

    prima di tutto perchè invece di mettere == "" hai messo == "."
    poi per quel che ne so nn puoi fare $A and $B == "", ma devi fare:
    ($A = "" and $b == "")

    poi ti volevo dire che !isset nn è una funzione diversa da isset, è la stesa ma "negata" sarebbe come dire:

    se nn è settata $A e nn è settata $B... etc

    potevi nn usare il ! "invertendo" il costrutto if.



    si visualizza il form www.delpy.it/form2.php
    ma inserendo i dati e premendo "invia" nn funziona..
    sei sicuro di aver copiato anche il codice che ho postato dopo? perchè c'erano altri errori di sintassi che t ho corretto.

  6. #6
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Hai provato con una cosa tipo:
    Codice PHP:
    <?php
    //se i dati sono stati inviati li recupero con $_GET eliminado eventuali spazi all'inizio ed alla fine
    if(isset($_GET['submit'])) {
    $A trim($_GET['A']);
    $B trim($_GET['B']);

    //controllo che i campi non sono vuoti e che $A e $B siano numeri e se è così,
    //attraverso lo switch verifico le vari condizioni e stampo un msg appropriato
    //altrimenti mostro un errore...
    if($A != "" && is_numeric($A) && $B != "" && is_numeric($B)) {
      switch(
    $A) {
        case (
    $A == $B): echo "Risultato: (A) $A e (B) $B sono uguali"; break;
        case (
    $A $B): echo "Risultato: (A) $A è minore di (B) $B"; break;
        case (
    $A $B): echo "Risultato: (A) $A è maggiore di (B) $B"; break;
      }
    } else {
      echo 
    "Errore. Controlla che i campi non siano vuoti e che contengano solo numeri.";
      }
    //se i dati non sono stati inviati /click su "Calcola" stampo il form
    } else {
    ?>
    <form method="get" action="dany.php">
    A: <input type="text" name="A">
     
    B: <input type="text" name="B">

    <input type="submit" name="submit" value="Calcola">
    </form> 
    <?php
    }
    ?>
    (i commenti dovrebbero chiarire il tutto)

  7. #7
    ehm vista la mia poca "cultura" in php, cosi e' un po complicato da fare...sono ancora ai primi passi..


    buba, ok capito, si probabilmente ho copiato male il codice.. mancava un >,

    domanda in base a cio che hai detto per quanto riguarda l'and.
    se dovessi usare piu and.. viene fuori cosi?
    Codice PHP:
    if
    (
    $citta=="" and $cap=="" and $Prov=="")

    print.... 
    :master:

  8. #8
    Utente di HTML.it L'avatar di buba88
    Registrato dal
    Feb 2004
    Messaggi
    538
    si!

  9. #9
    daii suu nn far quella faccia lii
    sn una povera fanciulla inespertaa


  10. #10
    Utente di HTML.it L'avatar di buba88
    Registrato dal
    Feb 2004
    Messaggi
    538
    eheh

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.