liebewinter: PHP - Function wird nicht geschreibt

Beitrag lesen

Erste viel dank für deine bemüht !

ich habe mit deiner code versucht .. . Sind zwei datein , Erste ClassProveContakt2.php

<?php

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

 

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
          '<label for="Name">Name </label><input type="text" name="Name" id="Name" value="' . htmlspecialchars( $this -> Name ) . '"><br>'
        . '<label for="Email">Name</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">';
      }

      function ShowData () {
          if( $this -> PostOk ) {
          
             $ShowItems = $this -> items; 
             $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>';
         }
      }
} 

?>

Zweitens , wo wird die Web Form gezeigt , index2.php

<?php

include 'ClassProveContakt2.php';

$objekt = new ClassProveContakt2;

?>

<!doytype html>
<html>
<head>
<style>
table, th, td {
   border: 1px solid black;
   border-collapse: collapse;
}

th {
    font-weight: bold;
    text-align: left;
}
</style>
</head>
<body>

<h1>Formular:</h1>
<?php 
  $objekt -> ShowForm(); 

?>
<h1>Daten:</h1>
<?php 
  
   $objekt -> ShowData(); 

?>

</body>
</html>  

wie der Screenshot zeigt ,form wird gezeigt , wenn ich füllen alle , bekomme weder auf index2.php noch ClassProveContakt2.php eine antwort...

ich habe keine ahnung über php ,aber in deine class ClassProveContakt2 du ruft die variable $PostOk , aber dieser variable steht nicht auf deine Code ....