PHP - Funzione non e scrive il risultato

  • Creatore Discussione Creatore Discussione mendia
  • Data di inizio Data di inizio

mendia

Nuovo Utente
1 Ott 2018
8
1
3
Hanover
Ciao , prima di tutto scusarme per il mio italo-spagnolo...

Il mio problema é che quando scrivo Name, Email e Message su il Web Form , dopo non scrive nello mio File me.php .

so , cello uno File ClassProveContakt3.php dove cello il PHP code , tutto il Code Funziona bene , solo la ultima funzione , la funzione mella() non funziona ..

PHP:
function mella ()
       {
              if(isset($_POST["Name"]) && isset($_POST["Email"]) && isset($_POST["Message"]))
              {
             
              }
               
                 echo "<table border='1'>";
                 echo "<tr><td><b>Name</b></td><td><b>Email</b></td><td><b>Message</b></td><td><b>datetime</b></td>";
                 echo "</tr>";      
                   
                   
                 $name = filter_input( INPUT_POST, 'Name', FILTER_SANITIZE_STRING);
                 $email = filter_input(INPUT_POST, 'Email', FILTER_SANITIZE_STRING);
                 $message = filter_input(INPUT_POST, 'Message', FILTER_SANITIZE_STRING);
                 $datetime = date('m/d/Y h:i:s a', time());
                     
                             
                 $datas = array('name' => $name, 'email' => $email, 'message"' => $message, 'datetime' => $datetime);
                               
                     foreach ($datas as $key => $value)            
                     {
                  echo "<tr><td>$name</td><td>$email</td><td>$message</td><td>$datetime</td>";                      
                       
                         if(isset($_POST[$key] ))
                         {
                     
                           echo"<td>" . htmlspecialchars($value[$name]) . "</td>";
                           echo"<td>" . htmlspecialchars($value['email']) . "</td>";
                           echo"<td>" . htmlspecialchars($value[$message]) . "</td>";
                           echo"<td>" . htmlspecialchars($value[$datetime]) . "</td>";
                         }
                     }echo "</tr>";
     
                 
                  }
                }echo "</table>";
             
         }

Dopo cello il File me.php , dove voglio che imprima il risultati;

HTML:
<?php
include 'ClassProveContakt3.php';

date_default_timezone_set('Europe/Paris');
error_reporting(-1);
error_reporting(E_ALL);

$ProveContackt=new ClassProveContakt3;


?>



<!DOCTYPE html>
<html lang="en_mx">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
 

<form name="form" id="form" method="POST" action="" >

<?php
   
 
     $ProveContackt->GetPostData();

     $ProveContackt->mella();
   
   

?>

</form>
</body>

</html>

Qua si puo vedere cossa imprime nello mio me.php . Come se vede non imprime Name, Email e Message...

Non e postato prima tutto il Code che ce nelle File ClassProveContakt3.php perche prendeva molto spazio e disturbava per capire il mio problema...

Qua tutto il Code ClassProveContakt3.php ;

PHP:
<?php

header('Content-Type: text/html; Charset=utf-8');
mb_internal_encoding('UTF-8');
date_default_timezone_set('Europe/Paris');
error_reporting(E_ALL);


class ClassProveContakt3
{

      private $Name;
      private $Email;
      private $Message;

 
    function __construct()
    {

 

        $this->Name="";

        $this->Email="";

        $this->Message="";

 
    }

 
    function Form()
     {

   


        echo('<table>');

 
                    echo('<label for="name">Name </label>');

 

                    echo('<input type="text" name="Name" value="'.$this->Name.'">');

 

                    echo('<label for="email"> E-mail </label>');

 

                    echo('<input type="email" value="'.$this->Email.'" name="Email" ');

 

 

              echo('<tr>');

 

                 echo('<td>');

                     echo('<br>');

                     echo('<label> Message: <br><textarea cols="45" rows="6" name="Message">'.$this->Message.'</textarea></label>');

                     echo('<br><br>');

                     echo('<input  type="submit" name="post" value="POST COMMENT" id="comment">');

 

                 echo('</td>');

 

              echo('</tr>');

 

         echo('</table>');

 
      }

      function GetPostData()
      {
     
          if(isset($_POST["Name"]) && isset($_POST["Email"]) && isset($_POST["Message"]))
           {
                $this->Name = trim(filter_input( INPUT_POST, 'Name', FILTER_SANITIZE_STRING));
                $this->Email = trim(filter_input( INPUT_POST, 'Email', FILTER_SANITIZE_STRING));
                $this->Message = trim(filter_input( INPUT_POST, 'Message', FILTER_SANITIZE_STRING));
           }
               
     
      }
 
     
     
      function PostOk()
      {

   
             
       

 
               if (!isset($_POST['post']))
               {
             
                 
                                 
                  return;
               }
                   if (empty($this->Name) ||  empty($this->Email) || empty($this->Message))
                   {
                 
                       echo "<br>" . "<b>" . "<h3>*** Please enter all required fields ***</h3>" . "</b>";
             
                 
                   }

         
                   else
                   {
                 
                     
                     
                     
                       $file = "test.txt";
                     
                     
                       $name = filter_input( INPUT_POST, 'Name', FILTER_SANITIZE_STRING);
                       $email = filter_input(INPUT_POST, 'Email', FILTER_SANITIZE_STRING);
                       $message = filter_input(INPUT_POST, 'Message', FILTER_SANITIZE_STRING);
                       $datetime = date('m/d/Y h:i:s a', time());
                     
                       $data = array("name" => $name, "email" => $email, "message" => $message, "datetime" => $datetime);
         
                           $data = serialize($data);
                          file_put_contents($file, $data . "\n", FILE_APPEND|LOCK_EX);
                     
                     
                       $messages = file($file);
                     
                          foreach ($messages as $value) {
                            $data = unserialize($value);
                                     
       
                                 
                                  echo "<br>"

                                      . "<b>From: </b>" . htmlspecialchars( $data["name"])
                                      . "<b> at: </b>" . htmlspecialchars( $data["datetime"])
                                      . "<br><br>" . htmlspecialchars( $data["email"])                                    
                                      . "<br><br>" . htmlspecialchars( $data["message"])
                                      . "<br><hr>";
       
                       }
             
                    }

       }
     
     
     
       function mella ()
       {
              if(isset($_POST["Name"]) && isset($_POST["Email"]) && isset($_POST["Message"]))
              {
             
              }
               
                 echo "<table border='1'>";
                 echo "<tr><td><b>Name</b></td><td><b>Email</b></td><td><b>Message</b></td><td><b>datetime</b></td>";
                 echo "</tr>";      
                   
                   
                 $name = filter_input( INPUT_POST, 'Name', FILTER_SANITIZE_STRING);
                 $email = filter_input(INPUT_POST, 'Email', FILTER_SANITIZE_STRING);
                 $message = filter_input(INPUT_POST, 'Message', FILTER_SANITIZE_STRING);
                 $datetime = date('m/d/Y h:i:s a', time());
                     
                             
                 $datas = array('name' => $name, 'email' => $email, 'message"' => $message, 'datetime' => $datetime);
                               
                     foreach ($datas as $key => $value)            
                     {
                  echo "<tr><td>$name</td><td>$email</td><td>$message</td><td>$datetime</td>";                      
                       
                         if(isset($_POST[$key] ))
                         {
                     
                          echo"<td>" . htmlspecialchars($value[$name]) . "</td>"
                         
                           echo"<td>" . htmlspecialchars($value['email']) . "</td>";
                           echo"<td>" . htmlspecialchars($value[$message]) . "</td>";
                           echo"<td>" . htmlspecialchars($value[$datetime]) . "</td>";
[/B]
                     echo "</tr>";
     
                 
                  }
                }echo "</table>";
             
         }
               
 
}        
                 
           
?>
 
provato a fare direttamente con
PHP:
$v_nome = filter_var($_POST['nome'], FILTER_SANITIZE_STRING);
 
Grazie per la tua risposta , scussa perche non ti é risposto prima , ma lovoro (puliendo piatti..) e quando arrivo del lavoro sono stanco e non riesco a leggere tutti gli posti (questa demanda la e fatto anche in un forum tesdesco... loro mi hanno dato questo Code ,

PHP:
<?php
class ClassProveContakt2 {

      private $Name     = '';
      private $Email    = '';
      private $Message  = '';
      private $PostOk   = false;
      private $DateTime = false;
      private $items    = false;

      function __construct() {
     
          $this -> DateTime = date('m/d/Y h:i:s a');
          $this -> items = ['Name', 'Email', 'Message'];
         
          $flag = true;
          foreach ( $this -> items as $key ) {
                    if ( empty ( $_POST[$key] ) )  {
                        $flag = false;
                    } else {
                       $this -> $key = trim( filter_var( $_POST[$key], FILTER_SANITIZE_STRING ) );
                   }
              }      
          $this -> PostOk = $flag;
      }
 
      function ShowForm() {

        echo '<form method="POST">'
        . '<label for="Name">Name: </label><input type="text" name="Name" id="Name" value="' . htmlspecialchars( $this -> Name ) . '"><br>'
        . '<label for="Email">Email: </label><input type="email" name="Email" id="Email" value="' . htmlspecialchars( $this -> Email ) . '"><br>'
        . '<label> Message: </label><br><textarea cols="45" rows="6" name="Message">'. htmlspecialchars( $this -> Message ) . '</textarea>'
        . '<br><br>'
        . '<input type="submit" name="post" value="POST COMMENT" id="comment">'
        . '</form>';
      }

      function ShowData () {
          if( $this -> PostOk ) {
         
             $ShowItems = $this -> items;
             array_unshift( $ShowItems, 'DateTime' );
           
             echo '<table><tr>';
             foreach ( $ShowItems as $ColName ) {
                 echo"<th>" . htmlspecialchars( $ColName ) . "</th>";
             }
             echo '</tr><tr>';
           
             foreach ( $ShowItems as $ColName ) {
                      echo"<td>" . htmlspecialchars( $this -> $ColName ) . "</td>";
               }
             echo "</tr></table>";
         } else {
             echo '<h3>*** Please enter all required fields ***</h3>';
         }
      }
}

oggi lavoro tutta la Notte ... , ma prosima settimana me la presso tutta per me (ce ne avuto discursione con il mio capo..) , io voglio lavorare con queste code , ma prima voglio capire il code , perme Class , é molto nuovo per me...
 

Discussioni simili