liebewinter: wie kann verhinder Bytes Nummer bekomme mit file_put_contents

Beitrag lesen

Erste, viellllll danke für deine Geduld ! ☺️

ich weiß, du musst viel lernen, aber viel von dem, was wir schreiben, liest Du gar nicht und dann funktioniert es nicht. Bitte lies alles, was wir schreiben.

hast du Recht ,meine "Probleme" ist das ich ein hyperaktiv Person bin... als ich Kind war , in der Schule habe ich auf einigen Fächer Unterstürtz bekomme ,Beispiel bei Mathematik , bei andere Fächer , Beispiel Gesichte und Geographie war ich Besser...

Für mich Hyperaktiv ist andere als wie viele denken , ist keine Krankeheit ,ist nur andere zu sein..., ist die Gesellschaft Moral was entscheidet wer "Normal" oder "nicht Normal" ist ...

Eines mal habe gelesen ein Schöne Zitat von einem Hyperaktiv Person der Gut Beschreibt die unterschied zwischen Hyperaktiv und nicht Hyperaktiv Menschen ,auf nicht Hyperaktiv Menschen das Gehirn funzioniert mit Windows als Betriebssysteme , auf uns , Linux ☺️

so , zurück auf meine Probleme...

Du musst beim Ausgeben $data["name"] ersetzen durch $data->Name, und das auch bei Email und Message tun.

ich habe gemacht wie du sagst , aber bekomme dieser Fehler beim Webformular;

Notice: Trying to get property 'Name' of non-object in /var/www/html/ClassProveContakt3.php on line 110

Notice: Undefined index: 11/12/2018 02:29:58 pm in /var/www/html/ClassProveContakt3.php on line 111

Notice: Trying to get property 'Email' of non-object in /var/www/html/ClassProveContakt3.php on line 112

Notice: Trying to get property 'Message' of non-object in /var/www/html/ClassProveContakt3.php on line 113

Villeicht auf der Grund wie hier sagt (das Erste Antwort..) und wenn ich mache wie er sagt :

htmlspecialchars( $data["name"])

bekomme alles Gut....

Meine code jetz:

<?php

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


class ClassProveContakt3 
{

      private $Name;
      private $Email;
      private $Message;
      private $PostOK;
      private $DateTime;
      private $items; 

 
    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() 
    {
?>
      <form method="POST">
        <label for="name">Name </label>
        <input type="text" id="name" name="Name" value="<?= $this->Name ?>">
        <label for="email">E-mail </label>
        <input type="email" id="email" name="Email" value="<?= $this->Email ?>">
        <br><br>
        <label> Message: <br>
           <textarea cols="45" rows="6" name="Message"><?= $this->Message ?></textarea>      
        </label>
        <br><br>
        <input  type="submit" name="post" value="POST COMMENT" id="comment">
      </form>
<?php
    }
   
  
       
       
      function PostOkT() 
      {

     
              
        

 
               if ($this -> PostOK) 
               {
                 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"; 
                       
                       
                       
                       $datetime = date('m/d/Y h:i:s a', time());
                       $data = array("name" => $this->Name, "email" => $this->Email, "message" => $this->Message, "datetime" => $datetime);
                       
    	   
    			           $data = json_encode($data);
    		              file_put_contents($file, $data . "\n", FILE_APPEND|LOCK_EX);
                       
                       
                       $messages = file($file);
                      
    		              foreach ($messages as $value) {
    		                $data = json_decode($value, true);
    				                  
        
                                  
                                  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>";
        
                       }
               
                    }

                   

       
       }

}       
      
            
?>

und auf meine test.txt Datei , bekomme wie du sagst…

{"name":"aaaa","email":"aaa@web.de","message":"mmmmmmmmmmmmmmmmmmmmmmmmmmm","datetime":"11/12/2018 01:33:52 pm"}

ich wünsche dir einen Schöne Start in die Woche !