Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di Necsus
    Registrato dal
    Oct 2006
    Messaggi
    87

    Richiamare funzione della classe nell'action di un form

    Salve a tutti volevo realizzare una cosa del tipo:
    • Una classe PHP con una funzione.
    • Un form che mi vada ad eseguire la funzione di quella classe.
    • Tutto nella stessa pagina.


    Ho fatto in questo modo:
    Codice PHP:
    <?php
    class insert {
    var 
    $time;
    function 
    inserimento($n,$m){
    $query "insert into conversazione(nick,messaggio,time) values ('$n','$m','$time')";
    $result mysql_query($query)
    or die (
    "Query failed");
    }
    function 
    insert(){
    $time date("(H:i:s)"time());
    }
    }
    include(
    "pages/dbconnect.php");
    $query "SELECT * FROM conversazione ORDER BY time DESC";
    $result mysql_query($query)
      or die(
    mysql_error());
    while (
    $row mysql_fetch_array($result))
    {
      
    $nick $row['nick'];
      
    $msg $row['messaggio'];
      
    $time $row['time'];
    $messaggio .=<<<EOD
    <input type="hidden" name="oldTime" value="$time">    
    <font id="nick">
    $time <b id="nick">$nick[/b]:</font> $msg 
        
    EOD;
    }
    $sql "SELECT * FROM conversazione ORDER BY time DESC";
    $risultato mysql_query($sql)
      or die(
    mysql_error());
    $riga mysql_fetch_array($risultato);
    $name $riga['nick'];


    ?>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
    <html>
       <head>
          <title>Power Chat</title>
          <style>
        @import url("css/style.css");
          </style>
       </head>
       <body>
       <form name="chat" method="POST" action="<?php insert.inserimento($nick,$msg); ?>">
    <table width="100%" height="90%" align="center">
    <tr>
    <td>
            <table align="center" cellspacing="0" cellpadding="0">
            <tr>
            <td>[img]img/logo.png[/img]</td>
            <td id="small">Powered by Planeta Nicolò Stefano</td>
            </tr>
            <tr>
            <td colspan="2" id="main">
       <table id="table" align="center">
          <tr>
             <td id="top" colspan="2">Nickname: <input id="input" type="text" name="nickname" value="<?php echo $name ?>" /></td>
          </tr>
          <tr>
             <td colspan="2" align="center">
    <?php
    echo "<div id='box'>".$messaggio."</div> ";
    ?>
             </td>
          </tr>
          <tr>
             <td id="option">
            [img]img/b.png[/img] [img]img/i.png[/img] [img]img/u.png[/img] [img]img/s.png[/img]
            


            <input type="text" name="message" id="textfield"></td>
            <td id="send">
            <input src="img/up.png" type="image" value="Invia" />
         </td>
          </tr>
          <tr>
             <td id="bottom" colspan="2"></td>
          </tr>
       </table>
            </td>
            </tr>
            </table>
    </td>
    </tr>
    </table>
       </form>
       </body>
    </html>
    Ma non funziona, credo che il problema sia nell'action del form che non mi va ad eseguire la funzione.. come potrei fare per farlo funzionare?

  2. #2
    ti dico solo quello che mi salta all'occhio
    1 non si può chiamare funzioni di una classe senza istanziare un oggetto di questa classe e quindi la chiamata
    insert.inserimento($nick,$msg)
    è un errore a meno di non dichiarare la funzione come static, ma in questo caso non può fare riferimento a proprietà o funzioni non statiche.

    2 all'interno della classe ci si riferisce ai membri di questa classi con la sintassi $this->nome_membro, e quindi a $time devi riferirti con $this->time .

    3 l'attributo action di un form deve fare riferimento ad uno script od a un programma presente sul server non ad una funzione php

    inizia a riguardare queste cose
    ciao
    sergio

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.