Visualizzazione dei risultati da 1 a 7 su 7

Discussione: undefined index

  1. #1

    undefined index

    ciao!
    sto cercando di scrivere un codice che trasformi un dato inserito in un form in un carattere ascii e viceversa, usando un form con un radio button per scegliere il tipo di trasformazione che quindi invia alla pag stessa il dato che verra elaborato.il codice mi da degli errori pero
    Codice PHP:
     <?php
     
    echo "<form name=\"trasforma\" method=\"post\" action=".$_SERVER['PHP_SELF'].">";
     echo 
    "dato--> ";
     echo 
    "<input type=\"text\" name=\"dato\">";
     echo 
    "
    "
    ;
     echo 
    "trasformare in carattere ascii";
     echo 
    "<input type=\"radio\"  value=\"carattere\" name=\"ascii\">";
     echo 
    "
    "
    ;
     echo 
    "trasformare in codice ascii";
     echo 
    "<input type=\"radio\" value=\"codice\" name=\"ascii\">";
     echo 
    "
    "
    ;
     echo 
    "<center><input type=\"submit\" value=\"ok\" name=\"submit\"></center>";
     
    ?>
     </form>
     <?php
     $dato
    =$_POST['dato'];
      if (isset(
    $_dato))
     {
      if (
    $ascii=="carattere")
      { IF ((
    $_dato>32)&&($_dato<=255))
           { echo 
    $dato."-->".chr($_dato);
            }
        else
        { echo 
    "ERRORE";
         }
       }
       else 
       { if (
    strlen($_dato)==1)
           { echo 
    $_dato."-->".ord($_dato);
            }
         else 
         {echo 
    "ERRORE";
      }
    }
    }
    ?>
    </body>
    </html>
    errore-->:Undefined index: dato in ...on line16
    Codice PHP:
    $dato=$_POST['dato']; 
    dove ho sbagliato?
    ci sono degli altri errori oltre a quello su linea16?

  2. #2
    la prima volta che esegui lo script $_POST non e' ancora popolato dal form.

    Comunque dovresti usare isset() su $_POST['dato'] e non sulla variabile, cioe' a priori e non a posteriori il passaggio da array a variabile.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    OK NON HO PIU USATO LA VARIABILE MA HO USATO $_POST['DATO'] IN TUTTE LE ISTRUZIONI. IL PROBLEMA ADESSO E CHE DOPO SUBMIT NON SUCCEDE NULLA ?
    QQUALCHE IDEA?

  4. #4
    Originariamente inviato da fiorelina21
    OK NON HO PIU USATO LA VARIABILE MA HO USATO $_POST['DATO'] IN TUTTE LE ISTRUZIONI. IL PROBLEMA ADESSO E CHE DOPO SUBMIT NON SUCCEDE NULLA ?
    QQUALCHE IDEA?
    un paio.... la prima che ti e' rimasto incastrato il caps lock ed il secondo bisogna vedere come hai fatto le modifiche allo script.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Codice PHP:
     <?php
     
    echo "<form name=\"trasforma\" method=\"post\" action=".$_SERVER['PHP_SELF'].">";
     echo 
    "dato--> ";
     echo 
    "<input type=\"text\" name=\"dato\">";
     echo 
    "
    "
    ;
     echo 
    "trasformare in carattere ascii";
     echo 
    "<input type=\"radio\"  value=\"carattere\" name=\"ascii\">";
     echo 
    "
    "
    ;
     echo 
    "trasformare in codice ascii";
     echo 
    "<input type=\"radio\" value=\"codice\" name=\"ascii\">";
     echo 
    "
    "
    ;
     echo 
    "<center><input type=\"submit\" value=\"ok\" name=\"submit\"></center>";
     
    ?>
     </form>
     <?php
     $dato
    =$_POST['dato'];
      if (isset(
    $_dato))
     {
      if (
    $ascii=="carattere")
      { IF ((
    $_dato>32)&&($_dato<=255))
           { echo 
    $dato."-->".chr($_dato);
            }
        else
        { echo 
    "ERRORE";
         }
       }
       else 
       { if (
    strlen($_dato)==1)
           { echo 
    $_dato."-->".ord($_dato);
            }
         else 
         {echo 
    "ERRORE";
      }
    }
    }
    ?>
    </body>
    </html>

  6. #6
    cerca da te le differenze. Copia e incolla e prova il seguente.
    Codice PHP:
    <?php
    echo "<form name=\"trasforma\" method=\"post\" action=".$_SERVER['PHP_SELF'].">";
    echo 
    "dato--> ";
    echo 
    "<input type=\"text\" name=\"dato\">";
    echo 
    "
    "
    ;
    echo 
    "trasformare in carattere ascii";
    echo 
    "<input type=\"radio\"  value=\"carattere\" name=\"ascii\">";
    echo 
    "
    "
    ;
    echo 
    "trasformare in codice ascii";
    echo 
    "<input type=\"radio\" value=\"codice\" name=\"ascii\">";
    echo 
    "
    "
    ;
    echo 
    "<center><input type=\"submit\" value=\"ok\" name=\"submit\"></center></form>";
    ?>

    <?php
    if(isset($_POST['dato'])) {
       
    $dato $_POST['dato'];
       
    $ascii $_POST['ascii']; 


      if (
    $ascii=="carattere")
      { IF ((
    $dato>32)&&($dato<=255))
           { echo 
    $dato."-->".chr($dato);
            }
        else
        { echo 
    "ERRORE";
         }
       }
       else
       { if (
    strlen($dato)==1)
           { echo 
    $dato."-->".ord($dato);
            }
         else
         { echo 
    "ERRORE";
         }
       }
    }
    ?>
    </body>
    </html>

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    grazie! L'avevo pensato anch'io piu o meno cosi, pero sono ancora nella fase di studio di php e seguo un libro in cui fin' ora la maggior parte degli script sono errati.Quindi, nell dubio chiedo a voi .
    Ciao!!!

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.