PHP - Function wird nicht geschreibt
liebewinter
- php
0 ursus contionabundo0 liebewinter0 ursus contionabundo
Hallo , ich habe ein Probleme mit dieser Function die auf meiner ClassProveContakt3.php Datei steht, der Rest von dem Code , funzioniert alles gut... , der Function;
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 $value)
{
echo "<tr><td>$name</td><td>$email</td><td>$message</td><td>$datetime</td>";
if($datas == $value)
{
echo"<td>" . htmlspecialchar($value["name"]) . "</td>";
echo"<td>" . htmlspecialchar($value["email"]) . "</td>";
echo"<td>" . htmlspecialchar($value["message"]) . "</td>";
echo"<td>" . htmlspecialchar($value["datetime"]) . "</td>";
echo "</tr>";
}
}
echo "</table>";
}
dieser Function soll auf der Datei me.php speichet werde ;
<?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="index4.php" >
<?php
$ProveContackt->GetPostData();
$ProveContackt->mella();
?>
</form>
</body>
</html>
Das probleme ist das auf der Tabelle nur der Zeit wird gezeigt ,nicht der Name, Email und Message , wie der Screenshot zeigt...
Hier der ganze Code von der ClassProveContakt3.php Datei .
<?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;
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 $value)
{
echo "<tr><td>$name</td><td>$email</td><td>$message</td><td>$datetime</td>";
if($datas == $value)
{
echo"<td>" . htmlspecialchar($value["name"]) . "</td>";
echo"<td>" . htmlspecialchar($value["email"]) . "</td>";
echo"<td>" . htmlspecialchar($value["message"]) . "</td>";
echo"<td>" . htmlspecialchar($value["datetime"]) . "</td>";
echo "</tr>";
}
}
echo "</table>";
}
}
?>
kann Bitte jemand dieser Probleme zu lösung , danke !
$datas = array(
'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' );
);
foreach ( $datas as $key => $value ) {
echo '
<tr>
<td>' . htmlspecialchars( $key ) . '</td>
<td>' . htmlspecialchars( $value ) . '</td>
<tr>';
}
Mais!
Mois je ne sais pas quesque tu fait exactment. Quelque choses le script fait quelque fois. Moi je pense que tu ne sais pas quesque est le content de tois variables et je pense tu ne sais pas quesque tu fait?
Merci , aber ich no se le parle francais....
Moi je pense que tu ne sais pas quesque est le content de tois variables et je pense tu ne sais pas quesque tu fait?
certes…
ich habe versucht wie du geschreibt hast ,aber ich bekomme dier warnung..
Fatal error: Uncaught Error: Call to undefined function htmlspecialchar() in /var/www/html/ClassProveContakt3.php:196 Stack trace: #0 /var/www/html/me.php(30): ClassProveContakt3->mella() #1 {main} thrown in /var/www/html/ClassProveContakt3.php on line 196
wie meine mella() Function jetzt aussiehst...
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>";
echo"<td>" . htmlspecialchar($key) . "</td>";
echo"<td>" . htmlspecialchar($value) . "</td>";
#echo"<td>" . htmlspecialchar($value["message"]) . "</td>";
#echo"<td>" . htmlspecialchar($value["datetime"]) . "</td>";
#echo "</tr>";
}
echo "</table>";
}
certes…
Si!
écrit (que mois) htmlspecialchars(), pas htmlspecialchar().
merci , aber bekomme eine komische Fenster...
Pourquois le script fait cette chose:
echo "<tr><td>$name</td><td>$email</td><td>$message</td><td>$datetime</td>";
?
Tois, tu veux:
echo '<tr>';
foreach ($datas as $key => $value)
{
echo '<td>' . htmlspecialchar( $key ) . '</td>';
echo '<td>' . htmlspecialchar( $value ) . '</td>';
}
echo '</tr>';
echo '</table>';
jetzt has du vergisst das s bei htmlspecialchar .…
aber warum nicht bekomme was drinnen auf die variablen Name, Email und Message stehen ?
Versuche herauszubekommen, was das folgende Skript macht.
<?php
class ClassProveContakt3 {
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>';
}
}
}
### End of the class
######################################################################
### Test ###
error_reporting( E_ALL );
header('Content-Type: text/html; Charset=utf-8');
mb_internal_encoding( 'UTF-8' );
date_default_timezone_set( 'Europe/Paris' );
### Data for Testing:
### Remove all or only the first '#' in '#/*' for real data.
#/*
$_POST['Name'] = "Hein Stein";
$_POST['Email'] = "hein@stein.ch";
$_POST['Message'] = "E=M*C²";
#*/
$objekt = new ClassProveContakt3();
######################################################################
?>
<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>
jetzt has du vergisst das s bei htmlspecialchar .…
Deine Skripte bringen jeden durcheinander.
aber warum nicht bekomme was drinnen auf die variablen Name, Email und Message stehen ?
Du bekommst genau wonach Du fragst. Und an dieser Stelle herrscht bei Dir das allergrößte Durcheinander. Sieh Dir mein Beispiel an, arbeite es durch und überlege an jeder Stelle, was in den Variablen und Eigenschaften des Objektes steht.
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 ....
ich möchte diese Woche lerne die bedeutung von jeder Zeile von deinem Code, jeden Tag nach dem arbeit versuche es..
damit die Tabelle nicht bekomme, es fäll mir ein teil von der Code , jetzt habe...
ich möchte diese Woche lerne die bedeutung von jeder Zeile von deinem Code,
Der Code ist bei Programmen das einfachste. Die Schwierigkeit besteht darin, ein Programm zu planen und dann
Datei "ClassProveContakt2" - an dieser habe ich folgendes verändert:
<?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>';
}
}
}
# Nicht ohne wichtigen Grund mit ?> beenden. Das führt oft zu Problemen!
Datei kontakt.php - An dieser habe ich folgendes verändert:
<?php
header('Content-Type: text/html; Charset=utf-8');
mb_internal_encoding('UTF-8');
date_default_timezone_set('Europe/Berlin');
error_reporting(E_ALL);
require_once 'ClassProveContakt2.php';
$objekt = new ClassProveContakt2;
?><!doctype html>
<html>
<head>
<meta charset="utf-8"/>
<title>kommentar</title>
<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>
Viel dank damit du mich weiter Unterstürtz !
Die function ShowForm() macht mich probleme , auf den Browser bekommt dieser warnung
Notice: Undefined variable: objekt in /var/www/html/index2.php on line 32
Fatal error: Uncaught Error: Call to a member function ShowForm() on null in /var/www/html/index2.php:32 Stack trace: #0 {main} thrown in /var/www/html/index2.php on line 32
ich habe versucht der fehler zu finde , aber ohne erfolgt...ich denke , der fehler steht auf der datei ClassProveContakt2 in der function ShowForm() ...
Notice: Undefined variable: objekt … Call to a member function ShowForm() on null
$objekt = new ClassProveContakt2();
$objekt -> ShowForm();
in der "index2.php". Vermutlich ein "Typo". ($object, $objekt)
Zuerst wird eine Variable genutzt, die vorher nicht definiert wurde. Diese Variable wird von PHP mit dem Inhalt NULL
angenommen. Und dann wird versucht von dieser Variable die Funktion ShowForm() abzurufen. Das geht dann natürlich nicht. Regelmäßig ist so etwas die Folge von Tippfehlern ("Typo").
das fehler war mehr einfacher…
Anfang der PHP habe geschrieben <php wenn ich soll <?php ....
das fehler war mehr einfacher…
Anfang der PHP habe geschrieben <php wenn ich soll <?php ....
ich machen weiter mit deinen letzte Code , auch wenn für mich nicht so einfacher ist .., ich bin keine junge mehr noch arbeite als Spüler... ,aber ich möchte mich alles geben um dein Code zu verstehe ,es geht um meine Website ☺️...
Hallo liebewinter,
ich machen weiter mit deinen letzte Code , auch wenn für mich nicht so einfacher ist .., ich bin keine junge mehr noch arbeite als Spüler... ,aber ich möchte mich alles geben um dein Code zu verstehe ,es geht um meine Website ☺️...
Warum brauchst du ein Kontaktformular? Das kann sehr gefährlich werden. Wenn es ein Kontaktformular sein soll, verwende einen Dienst, der sowas anbietet, etwa https://www.dw-formmailer.de/. Am besten jedoch, du gibtst eine Mailadresse als Kontaktmöglichkeit an und gut ist.
EDIT: Für ein Blog gilt dasselbe. Nimm was fertiges.
Bis demnächst
Matthias
Hallo Matthias,
wenn man mir damals das programmieren so ausgeredet hätte, wäre ich heute wohl nicht wo ich bin.
LG,
CK
wenn man mir damals das programmieren so ausgeredet hätte,
Ich vermute aber fast, man hat es Dir anders, nämlich schön Schrittweise eingeredet:
Aber nicht alles auf einmal. Man sollte es schön schrittweise lernen. Der Versuch gleich komplexe Dinge anzugehen (Hier kommt ja mindestens noch HTML, HTTP, CSS hinzu) führt in der Konsequenz zu einem "Selbstausreden".
Hallo ursus,
Aber nicht alles auf einmal. Man sollte es schön schrittweise lernen.
Klar. Aber „lass es, nimm etwas fertiges“ ist da kein Rat, der auf diesen Pfad führt.
LG,
CK
Hallo Christian Kruse,
wenn man mir damals das programmieren so ausgeredet hätte, wäre ich heute wohl nicht wo ich bin.
Damit hast du sicher recht.
Bis demnächst
Matthias
hallo
Hallo Matthias,
wenn man mir damals das programmieren so ausgeredet hätte, wäre ich heute wohl nicht wo ich bin.
Immer noch in Mamas Keller?
scnr
Warum brauchst du ein Kontaktformular? Das kann sehr gefährlich werden. Wenn es ein Kontaktformular sein soll, verwende einen Dienst,
ich möchte auf meiner Website Artikel über verschieden sachen schreibe ,ich brauche der Kontaktformular um ihren Meinungen , fragen,.. zu kennen .....
ich möchte auf meiner Website Artikel über verschieden sachen schreibe ,ich brauche der Kontaktformular um ihren Meinungen , fragen,.. zu kennen ..…
Mais pourquoi tu veux apprendre un language de programmation (PHP), un language de description (HTML) et un language de balisage (CSS)? Peut-être que Javascript et le protocole HTTP?
C'est beaucoup et c'est trop difficile. La connaissance de ces domaines est souvent distribuée aujourd'hui à plusieurs spécialistes.
A-tu déjà testé si les services de Wordpress.com ou Blogger.com, de Jimdo e.t.c. ne suffisaient pas?
Hallo,
A-tu déjà testé si les services de Wordpress.com ou Blogger.com, de Jimdo e.t.c. ne suffisaient pas?
I think, the loving winter has already stated to not speaking french...
Gruß
Kalk
Tach!
Mais pourquoi tu veux apprendre un language de programmation (PHP), un language de description (HTML) et un language de balisage (CSS)? Peut-être que Javascript et le protocole HTTP?
Ist ja schön, dass du Französisch kannst, aber schreib doch besser in einer Sprache, die der Rezipient deiner Antwort auch versteht.
dedlfix.
Mist. Ich hatte ihn - warum auch immer - als frankophon "verortet".
@liebewinter:
Hier die Übersetzung des Textes ins Baskische (Ich hoffe der Translator hat es nicht sinnentstellt):
Baina zergatik programazio-lengoaia (PHP), deskribapen hizkuntza (HTML) eta markatze-hizkuntza (CSS) ikasi nahi duzu? Agian Javascript eta HTTP protokoloa?
Asko da eta zaila da. Arlo hauen ezagutza sarritan banatzen da hainbat adituentzat.
Inoiz probatu duzu Wordpress.com edo Blogger.com zerbitzuak Jimdo e.t.c. Zure eskakizunak betetzeko?
Danke für deine Übersetzung , ich weiss das mein deutsch schwer zu verstehe ist , aber meine deutsch kenntnisse ist besser , so könen euch antworten auf deutsch...
Mais pourquoi tu veux apprendre un language de programmation (PHP), un language de description (HTML) et un language de balisage (CSS)? Peut-être que Javascript et le protocole HTTP?
und warum nicht.... , meine Website ist fast fertig , mir nur fehlt meine Web formular Verwaltung zu beenden...
C'est beaucoup et c'est trop difficile. La connaissance de ces domaines est souvent distribuée aujourd'hui à plusieurs spécialistes.
deine Code verstehe die Halbe , die andere halbe versuche zu lernen , näschte Woche möchte dir die Bedeutung zu schicken um du mich zu korregieren...☺️
Beispiel was wie jetzt habe gemacht…
<?php
class ClassProveContakt2 {
private $Name = ''; #Geben an der variable keine Wert .
private $Email = '';
private $Message = '';
private $PostOk = false; #Machen die Variable eine boolesche Variable und geben ihr das Wert , False .
private $DateTime = false;
private $items = false;
function __construct() {
$this -> DateTime = date('m/d/Y h:i:s a'); #Benutze 'this' um zugriff die variable, DateTime .
$this -> items = ['Name', 'Email', 'Message']; #Name, Email und message gehören jetz zum variable, items .
$flag = true;
foreach ( $this -> items as $key ) { #key ist jetz die neue Variable name für items, mit dem foreach-schleifeder iteriren was auf der items Variable gibt .
A-tu déjà testé si les services de Wordpress.com ou Blogger.com, de Jimdo e.t.c. ne suffisaient pas?
Lieber baue meine website wie ich möchte....
Hi,
Notice: Undefined variable: objekt in /var/www/html/index2.php on line 32
Fatal error: Uncaught Error: Call to a member function ShowForm() on null in /var/www/html/index2.php:32 Stack trace: #0 {main} thrown in /var/www/html/index2.php on line 32
ich habe versucht der fehler zu finde , aber ohne erfolgt...ich denke , der fehler steht auf der datei ClassProveContakt2 in der function ShowForm() ...
Nein, die Fehlermeldung sagt doch, daß objekt
null ist. Wenn das Objekt nicht existiert, kann auch keine seiner (nicht-statischen) Methoden aufgerufen werden.
cu,
Andreas a/k/a MudGuard
@ursus contionabundo
es wäre die möglichkeit uns in Chat zu kommuniziert ? , ich habe gesehen das du keine konto hast...es gibt einiger frage die ich würde gerne dich zu stellen...☺️
Eine frage.…
wie habe verstande der function __construct() wird zu duchführen jeden Parameter von einem Objekt , beispiel , meine Objekt $objekt = new ClassProveContakt2(); , aber ich nicht verstehe warum wurde foreach ( $this -> items as $key ) auf diesem Function geschrieben und nicht auf function ShowData () .... , wenn dieser Function sagt , wie die data gezeigt soll ....
Hallo.
Leider kann ich nicht chatten, weil ich im Moment viel arbeiten muss. Ich arbeite auch nicht an einem Schreibtisch und auch nicht an einem festen Platz sondern fahre in irgendeine Stadt und halte Seminare.
Im Moment ein sogar ein PHP-Seminar. Bis vorgestern Abend (wirklich: vorgestern Abend) ein Linux-Seminar.
macht dir keine sorge ,wenn du Zeit hast , antwortest ...
So, wie deine Code verstande habe ...
Mit dem Schlüsselwort private können die Eigenschaften nur innerhalb dieser Klasse verändert werden.
function __construct() , fragt WENN & OB , wird auch benutz um die eigenschaft ein wert zuzuweisen , der Später auch beim Objekt zugreifen erlaubt .Der function ShowData () fragt WAS und WIE , was gezeigt wird ...
Deine Code und die bedeutung von jeden Zeile..
class ClassProveContakt2 {
private $Name = ''; #Geben an der Eigenschafte keine Wert .
private $Email = '';
private $Message = '';
private $PostOk = false; #Geben an den eigenschaften einen Wahrheitswert , False .
private $DateTime = false;
private $items = false;
function __construct() { # wird benutz für duchführen jeden Parameter von einem Objekt .
$this -> DateTime = date('m/d/Y h:i:s a'); #Benutze 'this' für zugriff auf dem Eingenschaft, 'DateTime' , und geben dem Wert , 'date' .
$this -> items = ['Name', 'Email', 'Message']; #Name, Email und message gehören jetz zum Eigenschaft, items .
$flag = true;
foreach ( $this -> items as $key ) { #key ist jetz die neue Variable name für items, mit dem foreach-schleifeder iteriren was auf der items Variable gibt .
if ( empty ( $_POST[$key] ) ) { #Wenn die Formularfelder nicht ausgefüllt werden... .
$flag = false; #...false , deshalb wird nichts gezeigt .
} else { #Werden die ausgefülltet data gezeigt .
$this -> $key = trim( filter_var( $_POST[$key], FILTER_SANITIZE_STRING ) );
} #trim= löschen leerraum, filter_var= Filtern einer Variablen mit einem angegebenen Filter, Beispiel, hier FILTER_SANITIZE_STRING.., FILTER_SANITIZE_STRING= wird benutz um Sicherheit.. , Beispiel verhindert Cross-site Scripting .
}
$this -> PostOk = $flag; #Gebe an dem Eigenschaft 'PostOK' das Wert dem auf '$flag' ist , true .
}
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 ) { #Wenn true , zeigen Name, Email und Message .
$ShowItems = $this -> items; #Bauen die '$ShowItems' Eigenschafte , mit dem Wert von 'items' .
array_unshift( $ShowItems, 'DateTime' ); #Mit , array_unshift , addiert die eingeschaft '$DateTime' zum array , items .
echo '<table><tr>';
foreach ( $ShowItems as $ColName ) {
echo"<th>" . htmlspecialchars( $ColName ) . "</th>"; #Hier werden die Titels von der Tabelle Name, Email und Message gebaut .
}
echo '</tr><tr>';
foreach ( $ShowItems as $ColName ) {
echo"<td>" . htmlspecialchars( $this -> $ColName ) . "</td>"; #Hier werden gezeigt was auf Formularfelder eingefüllen haben.
}
echo "</tr></table>";
} else { #Wenn nicht eingefüllt wird , bekomme dieser Warnung .
echo '<h3>*** Please enter all required fields ***</h3>';
}
}
was ich nicht verstande warum hast der Wert false bei
private $PostOk = false;
private $DateTime = false;
private $items = false;
...geschrieben und nicht einen leer eigenschaft gegeben...