Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    225

    Invio dati ad una classe esterna

    Come si inviano dei dati ad una classe esterna php?
    ad es:

    index.html
    Codice PHP:
    <form method="get" action="server.php">
    Inserisci dato <input type="text" name="testo"><input type="submit" value="invio">
    //Come dovrei modificarlo?
    </form

    server.php
    Codice PHP:
    <?php
    class ricezione

    $nome=$_GET['testo'];
    echo 
    "Hai inserito ".$nome;
    }
    ?>

  2. #2
    così non riesci!

    devi chiamare uno script inermedio che usi la classe:

    chiamata :

    Codice PHP:

    <form method="get" action="intermedio.php">
    Inserisci dato <input type="text" name="testo"><input type="submit" value="invio" name="invia">
    //Come dovrei modificarlo?
    </form
    intermedio.php
    Codice PHP:
    <?
      
    require_once('server.php');
      
    $classe = new ricezione;
      
    //controlla se è stato premuto il tasto invia
      
    if (isset($_GET['invia']))
         
    $classe->ricevi($_GET['testo']);
    ?>
    server.php
    Codice PHP:
    <?php
    class ricezione
    {
        ...
         public function 
    ricevi($testo)
        {
          
    //controllo se il testo è vuoto
          
    if ($testo<>"")
            echo 
    "Hai inserito ".$testo;
          else
             echo 
    "Non hai inserito nulla";
        }
    }
    ?>
    capito?

    N.B.
    ho inserito qualche controllo in più per arricchire l'esempio!!

    (modificato un errorino di battitura )
    "Due cose riempiono l’animo di ammirazione e venerazione sempre nuova e crescente, quanto piú spesso e piú a lungo la riflessione si occupa di esse: il cielo stellato sopra di me, e la legge morale in me..." Immanuel Kant

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    225
    ma il codice intermedio.php, non lo posso inserire direttamente dentro la chiamata?

  4. #4
    Originariamente inviato da Danelius
    ma il codice intermedio.php, non lo posso inserire direttamente dentro la chiamata?
    si potresti fare una chiamata alla stessa pagina nella quale è presente il form dove fai un controllo se è stato premuto il tasto invia e in quel caso crei l'oggetto e usi la classe che ti serve...(in sostanza sarebbe da incollare, con qualche piccola modifichina il codice che sta su intermedio.php nell'index.php)

    Questo perchè le classi "sono delle astrazioni degli oggetti", se non crei un oggetto non puoi usarne i metodi!!

    In alternativa dovresti fare una collection (senza scomodare le classi) di funzioni messe in file .php in questa maniera:

    funzioni_utili.php

    Codice PHP:
    <?
      
    function a($par1)
      {
        echo 
    'Hai scritto '.$par1;
      }
      function 
    b($par2)
      {
        ..
      }
      .
      .
      .
      function 
    n($par3)
      {
        ..
      }
      switch (
    $_GET['op'])
      {
        case 
    'a' 
          
    a($_POST['testo']);
        break;
        case 
    'b' : ...;
        break;
        .
        .
        case 
    'n' :
          ....;
        break;
      }
    ?>
    mentre il codice dell' index.php (da dove parte la chiamata) sarebbe:
    Codice PHP:
      require_once('funzioni_utili.php');
     <
    form method="post" action="funzioni_utili.php?op=a">
      
    Inserisci dato <input type="text" name="testo">
      <
    input type="submit" value="invio" name="invia">
    </
    form
    capito?
    "Due cose riempiono l’animo di ammirazione e venerazione sempre nuova e crescente, quanto piú spesso e piú a lungo la riflessione si occupa di esse: il cielo stellato sopra di me, e la legge morale in me..." Immanuel Kant

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    225
    Scusa se t rispondo adesso...grazie 1000 Whitecrowsrain!!!

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.