Wie verwalte meine PHP Formular-Kommentar
liebewinter
- php
Erste zu sage dass die meine kenntnissi über html/css wie php sehr einfacher sind...Ich habe diese Code für meinen Formular-Kommentar .Aber sehe das ich mit diese Code nicht viel machen kann... .Ich habe in internet verschieden Formular-Kommentar gesehen aber sie haben JavaScript ,jQuery ,.. . Meine frage ist , ich brauche für eine einfache Formular-Kommentar mit PHP so viele sachen ??
Die andere frage ist , mit eine einfacche Formular-Kommentar mit PHP erreich zu haben nur phpmyadmin ?
Hello,
um ein einfaches Formular zur Speicherung von Eingaben aufzubauen, benötigst Du nur HTML und auf dem Server (in deinem Fall) PHP.
Was Du bauen willst, findest Du auch beschrieben unter "Affenformular".
Im Prinzip funktioniert die Logik folgendermaßen:
Diesen Turnus kannst Du auch noch ergänzen um Fehlermeldungen, Zugriffsberechtigungen, seitenweise Ausgabe, usw.
Zu deinem Beispiel gibt es noch einiges zu sagen, aber das folgt demnächst separat.
Liebe Grüße
Tom S.
Hello,
im PHP-Teil fehlen mindestens zwei geschweifte Klammern.
Ich rate daher immer dazu, dass Anfänger keinen PHP-Kurzcode schreiben, sondern sich erst einmal eine explizite Schreibweise und den Allman-Style angewöhnen, in der sie auch penetrant mit Einrückungen und Kommentaren arbeiten.
Kommentare sollten nich den Code direkt in Umgangssprache wiederholen, sondern die Intention des Programmierers für den jeweils nächsten Programmabschnitt wiedergeben, beschreiben woher welche verwendeten Variablen stammen und sie der Abschnitt mit seiner Umgebung zusammenarbeiten soll.
Liebe Grüße
Tom S.
Hello,
am HTML habe ich nicht wirklich etwas geändert. Das sollte noch diskutiert werden, auch wie man das Design mittels CSS steuern kann.
Aber so funktioniert das Script erst einmal. Dazu muss dein PHP im Verzeichnis Dateien anlegen dürfen.
<?php ### messages.php ### utf8 ### äöüÄÖÜ ###
header('Content-Type: text/html; Charset=utf-8');
mb_internal_encoding('UTF-8');
date_default_timezone_set('Europe/Berlin');
?>
<html>
<head>
<title>Message schreiben</title>
</head>
<body>
<h1>Messages</h1>
<h2>Insert new Message:</h2>
<form action="" method="post">
<label> Name: <br><input type="text" name="name"><br></label>
<label> Message: <br><textarea cols="45" rows="6" name="text"></textarea><br></label>
<input type="submit" name="post" value="post">
</form>
<?php
### Wenn die Felder für die Pflichteingaben alle gesendet wurden,
### Daten und Markup gemischt wegschreiben in Datei:
if(isset($_POST['post'], $_POST['name'], $_POST['text']))
{
### hier eventuell noch prüfen, ob die Felder auch ausgefüllt wurden
$write = fopen('messages.inc.html', "a+");
fwrite($write, '<u><b>' . htmlspecialchars($_POST['name']) . '</b></u><br>' .
htmlspecialchars($_POST['text']) . PHP_EOL .
'<hr>' . PHP_EOL);
fclose($write);
}
### wenn eine Datei vorhanden ist, alle Daen auslesen:
clearstatcache(); ### ist notwendig, da PHP Datei-Metadaten zwischenspeichert
if ($read = @fopen('messages.inc.html', "rb"))
{
echo "<h2>Read all Messages:</h2>";
while(!feof($read))
{
echo fread($read, 1024);
}
fclose($read);
}
### sonst eine Message ausgeben:
else
{
echo "<h2>No Messages availabe</h2>";
}
?>
</body>
</html>
Liebe Grüße
Tom S.
Viel dank für deinen bemühst !
Diese code habe gescriebe ganz Oben
<?php ### messages.php ### utf8 ### äöüÄÖÜ ###
header('Content-Type: text/html; Charset=utf-8');
mb_internal_encoding('UTF-8');
date_default_timezone_set('Europe/Berlin');
?>
ohne <!doctype html>
, mit ihn , verendert ganz Website....
Die date_default_timezone_set('Europe/Berlin');
hat keine wirkung auf der Website ,die UHR wird nicht gezeigt....
wenn ich fülle alles und dann gibe zum absenden , kommt nichts....
Wie meine Website aussiehst....
Hello,
dann geht es an die Fehlersuche:
kann die Datei für die Messages angelegt werden?
Kannst Du direkt auf dem Server in die Datei hineingucken? Was steht drin?
Gibt es Fehlermeldungen im Browser, im error-log, oder im php-error-log?
Liebe Grüße
Tom S.
Gibt es Fehlermeldungen im Browser, im error-log, oder im php-error-log?
es gibt keine.... aber es passiert eine Kömmisse sache , auf meine Browser habe ein fenster nur mit deine codec , noch habe andere Fenster mit meinem codec und deine .Wenn schreibe auf dem fenster mit deine Code alles geht gut ,mit meine codec nicht , aber wenn druck auf absenden , bekomme was auf dem andere fenster geschrieben habe .....
Hello,
es gibt keine.... aber es passiert eine Kömmisse sache [...]
Dann brauchen wir deinen Code!
Raten, wo der Fehler steckt, ist hier kaum möglich.
Liebe Grüße
Tom S.
Meine code ,ich wird gepostet wie die Ordnung hat..
PHP
<?php ### messages.php ### utf8 ### äöüÄÖÜ ###
header('Content-Type: text/html; Charset=utf-8');
mb_internal_encoding('UTF-8');
date_default_timezone_set('Europe/Berlin');
?>
HTML
<html>
<head>
<title>Kontakt</title>
<style>
CSS
body {
background-color: #ebf5d7;
grid-gap: 5px;
grid-template-columns: 10% 72% 17%;
grid-template-areas:
"header header header"
"nav nav nav"
"linkBox linkBox linkBox"
"main main main"
"infoBox infoBox infoBox"
"footer footer footer" ;
}
@media screen and (min-width: 40em) {
body {
display: grid;
grid-template-columns: 10% 72% 17%;
grid-template-areas:
"header header header"
"nav nav nav"
"linkBox main infoBox"
"footer footer footer";
}
}
body > header {
grid-area: header;
background-image: url("../meine2.png");
padding: 60px;
}
body > nav {
grid-area: nav;
background-color: #d2f5c4;
}
body > #externalLinks {
grid-area: linkBox;
background-color: #d2f3c6;
;
}
body > main {
grid-area: main;
background-color: #eaf6e5;
}
body > #furtherInformation {
grid-area: infoBox;
background-color: #d2f3c6;
}
body > footer {
grid-area: footer;
background-color: #99ee7a;
}
/* Nav */
nav {background-color: #d2f5c4;}
nav a{
color: black;
text-decoration: none;
display: inline;
padding: 0px 8px;
font-size: 17px;
font-family: Candara, Calibri, Segoe, "Segoe UI", Optima, sans-serif;
}
nav ul {list-style-type: none;}
nav li {display: block;display:inline-block;}
/* ExternalLinks */
#externalLinks a {
text-decoration: none;
display: block;
text-align: center;
font-size: 15px;
font-family: Candara, Calibri, Segoe, "Segoe UI", Optima, sans-serif;
}
#externalLinks ul {
list-style-type: none;
margin: 5px;
padding: 0;
}
#externalLinks li{float: left}
/* Geben an Link1, link2, link3 ; Farbe , Padding, .... */
li a, .dropbtn {
display: block;
color: #000;
padding: 8px 16px;
text-decoration: none;
}
li a:hover, .dropdown:hover .dropbtn { background-color: #f1ebeb;}
.dropdown-content {
display: none; /* display wird ausgeschaltet ,aber erlaubt die anderen elemente, position ,background ,.... */
font-size: 15px;
position: absolute; /* die stellung folgt der Erste Link(li) */
background-color: #f1f1f1 ;
min-width: 160px; /* macht größer die Inneren Links */
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); /* Bau ein Schatte und geben an dem Schatten Farbe */
z-index: 1; /* Zeigen die Ordnung wie die Links gezeigt werden... */
}
.dropdown-content a {
color: black;
padding: 12px 16px;
text-decoration: none; /* Bekomme die Liks keine Unten Stricht ....*/
display: block;
}
.dropdown-content a:hover {
background-color: #9f9e9e;
}
/* Offnen die Innere Links */
.dropdown:hover .dropdown-content {
display: block;
left: 109px; /* zeigt wo dem innere link fenster gezeigt wird */
top: 214px; /* zeigt wo dem innere link fenster gezeigt wird */
}
/* Main */
input, textarea{
background:rgba(220,220,220,0.75);
border:1px solid rgba(220,220,220,0.75);
font:inherit;
border-radius:0.2941em;/*5px;*/
padding:0.4118em;/*7px;*/
/*farbigen Rahmen in Chrome und Safari abschalten.*/
outline:none;
}
input:focus, textarea:focus{
background:#fff;
border:1px solid #000;
outline: none; /* einige Browser add line auf input , das verhindert es... */
}
input[type=submit]{
background:#be633c;
border:none;
color:#fff;
border-radius:50% 50%;
box-shadow:inset 0 0 1em #fb9d23;
padding:0.5882em;/*10px*/
}
input[type=submit]:focus, input[type=submit]:active{
background-color:#A33202;
}
/* Footer */
#copry {
overflow: auto;
font-size: 2px;
list-style-type: none;
font-family: Candara, Calibri, Segoe, "Segoe UI", Optima, sans-serif;
}
#img1 {float: left;margin-bottom: 3px;}
#copry a {text-decoration: none;margin-bottom: 3px;}
#copry p {font-size: 10px;margin-bottom: 0;}
HTML
~~~html
<body>
<header></header>
<nav>
<ul>
<li><a href="https://wiki.selfhtml.org/wiki/HTML/Seitenstrukturierung/nav">Home</a></li>
<li><a href="https://wiki.selfhtml.org/wiki/HTML/Tutorials/HTML5-Seitenstrukturierung">About Us</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
<aside id="externalLinks">
<ul>
<li class="dropdown">
<a href="#" class="dropbtn">Computer</a>
<div class="dropdown-content">
<a href="#">Linux Mint</a>
<a href="#">Ubuntu</a>
<a href="#">Debian</a>
<a href="#">Android</a>
</div>
<li><a href="#">News</a></li>
<li><a href="#">Bucher</a></li>
</ul>
</aside>
<main>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<p>Vorname *<br>
<input placeholder="my name" name="name" size="30" maxlength="50" type="text">
</p>
<p>E-Mail *<br>
<input placeholder="mail@example.com" name="email" size="30" maxlength="50" type="email">
<br>
</p>
<p>Nachricht *<br>
<textarea placeholder="Write something to us" name="text" rows="5" cols="40" maxlength="200" style="width: 678px; height: 203px;"></textarea>
</p>
<p>
<input value="absenden" type="submit">
</p>
</form>
PHP
~~~php
<?php
### Wenn die Felder für die Pflichteingaben alle gesendet wurden,
### Daten und Markup gemischt wegschreiben in Datei:
if(isset($_POST['post'], $_POST['name'], $_POST['text']))
{
### hier eventuell noch prüfen, ob die Felder auch ausgefüllt wurden
$write = fopen('messages.inc.html', "a+");
fwrite($write, '<u><b>' . htmlspecialchars($_POST['name']) . '</b></u><br>' .
htmlspecialchars($_POST['text']) . PHP_EOL .
'<hr>' . PHP_EOL);
fclose($write);
}
### wenn eine Datei vorhanden ist, alle Daen auslesen:
clearstatcache(); ### ist notwendig, da PHP Datei-Metadaten zwischenspeichert
if ($read = @fopen('messages.inc.html', "rb"))
{
echo "<h2>Read all Messages:</h2>";
while(!feof($read))
{
echo fread($read, 1024);
}
fclose($read);
}
### sonst eine Message ausgeben:
else
{
echo "<h2>No Messages availabe</h2>";
}
?>
HTML
~~~html
</main>
<aside id="furtherInformation"></aside>
<footer id="copry" >
<p>My Website: Linux and More © 2018. All Rights Reserved.</p>
<a id="img1" href="https://creativecommons.org/licenses/by-nc/4.0/"><img alt="Creative Commons License" width="120px" height="40px" src="../CC-Lizenz.png" ></a>
<p>This work is licensed under a Creative Commons Attribution-NonCommercial 4.0<br> International License.
Content of this site cannot be republished<br> either online or offline without our permissions. </p>
</footer>
</body>
</html>
Hello,
auf den ersten Blick:
<input value="absenden" type="submit">
Da fehlt der Name des Objektes (name="post"). Der wird im Script per PHP geprüft.
Durch den Rest steige ich jetzt noch nicht durch. Ich bin vom PC aufs Tablet umgestiegen. Da habe ich keine Testmöglichkeit.
Liebe Grüße
Tom S.
Vieeeeeeeel danke , das war das probleme !!! , für mich ist gut von heute....morgen Arbeite (ich arbeite als Spüler) ,es wäre für dich keine probleme , wenn näschte mal eine probleme ich dich wird gefragt ?
ich wünsche dir eine schöne Abends !
Hello,
Vieeeeeeeel danke , das war das probleme !!!
Kannst Du uns bitte noch einen Link auf deine Seite senden, wenn sie öffentlich ist?
wäre für dich keine probleme , wenn näschte mal eine probleme ich dich wird gefragt?
Es ist für uns kein Problem, Dir zu helfen. Das tun hier alle gerne.
Welche Muttersprache hast Du?
Liebe Grüße
Tom S.
Kannst Du uns bitte noch einen Link auf deine Seite senden, wenn sie öffentlich ist?
ja , aber das soll noch Ein Bissen wartet .... ich möchte noch PHP verarbeitet , Bei Spiel , ich möchte wenn jemand ihre kommentar schreibt , ihre e-mail zu sehen , auch wenn er wird nicht gezeigt..., ich möchte auch über sicherheit auf PHP kümmere , ich habe gelesen das oft Website mit PHP wird gehackt... , ich möchte auch lernen Phpmyadmin ,ich denke wenn jemand ein Website hat , muss sie Verwaltet und ich denke phpmyadmin kann die lösung zu sein.... , dann kommt den Artikel ...ich möchte Über Linux schreiben , jetzt habe Ein Bissen arbeit bekomme das bedeutet das ich nicht viel Zeit habe wie die letze Zeit hatte ....aber ich möchte wie schneller möglich meine Website beende...
Welche Muttersprache hast Du?
ich komme aus den Baskenland , aber ich sprecht auch spanische ....
Warum nicht funzioniert
date_default_timezone_set('Europe/Berlin');
wenn gebe eine name und ein Text , bekomme beiden, aber die UHR nicht...
Hello,
ich möchte dir sagen wenn nur schreibe deine Code , alles funzioniert Gut !
Dann ist die Frage geklärt, ob die Messages-Datei erstellt werden darf. :-)
das probleme ist auf meine Website................
Dann benötigen wir leider den gesamten Code von der Seite, um den Fehler zu suchen.
Oder Du musst nach und nach Kontrollausgaben einbauen.
Liebe Grüße
Tom S.
Moin! Kann es sein dass auf Deinem Webserver überhaupt kein PHP läuft (installiert und gestartet ist?) Viele Grüße jup
ich sehe alles gut . ich habe alles installiert.....das probleme ist wie bauen ich ein gute php code für Formular-Kommentar...