Einen Ansatz wofür?
Im Grunde hast du ja dein Vorhaben schon grob skizziert, jetzt musst du jeden einzelnen Schritt verfeinern und dann überlegen, was du an HTML- und PHP-Codes brauchst. Wie sieht es denn mit deinen HTML/CSS/PHP-Kenntnissen aus?
Einen Ansatz wofür?
Im Grunde hast du ja dein Vorhaben schon grob skizziert, jetzt musst du jeden einzelnen Schritt verfeinern und dann überlegen, was du an HTML- und PHP-Codes brauchst. Wie sieht es denn mit deinen HTML/CSS/PHP-Kenntnissen aus?
UNGETESTET
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
$kundeMail = $kdn = $name = $id = $bemerkung = $message = "";
if (isset($_POST['kdn']))
{
$kundeMail = htmlspecialchars($_POST["kundeMail"], ENT_QUOTES, "UTF-8");
$kdn = htmlspecialchars($_POST["kdn"], ENT_QUOTES, "UTF-8");
$name = htmlspecialchars($_POST["name"], ENT_QUOTES, "UTF-8");
$id = htmlspecialchars($_POST["id"], ENT_QUOTES, "UTF-8");
$bemerkung = htmlspecialchars($_POST["bemerkung"], ENT_QUOTES, "UTF-8");
$html = include("mailbody.php");
require './PHPMailer/src/Exception.php';
require './PHPMailer/src/PHPMailer.php';
require './PHPMailer/src/SMTP.php';
$mail = new phpmailer();
$mail->Host = "smtp.server.de";
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'tls';
$mail->Port = 25;
$mail->Mailer = "smtp";
$mail->IsHTML(true);
$mail->IsSMTP(true);
$mail->From = "absender@domain.de";
$mail->FromName = "Mein Name";
$mail->SetFrom("absender@domain.de", "Mein Name");
$mail->Username = "SMTP-Benutzername";
$mail->Password = "SMTP-Passwort";
$mail->Subject = "Betreff";
$mail->AddAddress("empfaenger@domain.de");
$mail->msgHTML($html);
$mail->SMTPOptions = array('ssl' => array('verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
)
);
if (!$mail->send())
$message = "Mailer Error: " . $mail->ErrorInfo;
else
{
$message = "Erfolgreich gesendet!";
$kundeMail = $kdn = $name = $id = $bemerkung = "";
}
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<?php
if (strlen($message))
{
echo "<span style='color:#ff0000; font-weight:bold; font-size:14px;'>$message</span><br><br>";
}
?>
<form action="" method="post">
<label for="kdn">*Kundennummer</label>
<input type="text" maxlength="5" name="kdn" id="kdn" value="<?php echo $kdn; ?>" required>
<br>
<label for="kundeMail">*Kunden E-Mail</label>
<input type="email" name="kundeMail" id="kundeMail" value="<?php echo $kundeMail; ?>" required>
<br>
<label for="name">Name</label>
<input type="text" name="name" id="name" value="<?php echo $name; ?>">
<br>
<label for="id">*ID</label>
<input type="text" name="id" id="id" value="<?php echo $id; ?>" required>
<br>
<label for="bemerkung">Bemerkung</label>
<input type="text" name="bemerkung" id="bemerkung" value="<?php echo $bemerkung; ?>">
<br>
<button type="submit" class="btn btn-primary">Eintragen</button>
</form>
</body>
</html>
Alles anzeigen
mailbody.php
$html = "<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
</head>
<body>
<h1>Neues Backup verfügbar</h1>
<p>Sehr geehrte Damen und Herren,<br><br>
im Kundenportal wurde für Sie ein neues Backup Ihrer Webseite und der zugehörigen Datenbank hinterlegt.</p>
<br>
<h2>Details zum Backup</h2>
<table>
<tr>
<td><b>Datum:</b></td>
<td>" . date("d.m.Y H:i") . "</td>
</tr>
<tr>
<td><b>Name:</b></td>
<td>$name</td>
</tr>
<tr>
<td><b>ID:</b></td>
<td>$id</td>
</tr>
<tr>
<td><b>Bemerkung:</b></td>
<td>$bemerkung</td>
</tr>
</table>
</body>
</html>";
Alles anzeigen
Dieses Script erhebt nicht den Anspruch auf Perfektion, verdeutlicht aber, dass das Senden von Mails mit dem phpMailer kein großer Akt ist.
Die Zugangsdaten zum SMTP-Server, Port, Verschlüsselung müssen je nach Server angepasst werden
ich denk da tut es mail() auch
Tja, so kann man sich vertun. Wenn der Mailserver der Meinung ist, dass es keinen sauberen Mailheader gibt, dann verweigert er dir mal die Annahme und schon kommt nichts an.
Ich empfehle immer gerne den phpMailer, da findet man massenhaft Beispiele, die man relativ leicht anpassen kann. Dann kommen mail auch an und wenn es doch Probleme geben sollte, kann man sich mit dem phpMailer Debug-Ausgaben anzeigen lassen, um den Fehler auf die Spur zu kommen.
Crossposting, siehe http://www.forum-hilfe.de/threads/59262-Player-auf-PHP
Keine schlechte Lösung, aber
if($sortWay === "sortAsc")
{
$query = "SELECT id, name, rang, created_at FROM bewerbungen ORDER BY created_at ASC";
$stmt = $dbv->prepare($query);
$stmt->execute();
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
}
else if($sortWay === "sortDesc")
{
$query = "SELECT id, name, rang, created_at FROM bewerbungen ORDER BY created_at DESC";
$stmt = $dbv->prepare($query);
$stmt->execute();
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
}
Alles anzeigen
Da hast du doppelte Zeilen, besser wäre
Da hilft höchst wahrscheinlich
Richtig debuggen
Fehlermeldung? Was passiert? Wie rufst du das Script auf? Hat es die Extension .php?
Zeige uns doch mal, was du bisher versucht hast.
Das bin ich nicht .
Wer's glaubt ...
Hallo Basti,
Selbst wenn ich den Inhalt aus deiner Vorlage 1:1 in ein neues HTML-Dokument über Copy and Paste übernehme, dann funktioniert es im neuen Dokument nicht.
Mit anderen Worten betreibt Basti Hilfe per PN, was einem Forum natürlich sehr zuträglich ist.
Warum? Was soll das?
Ungetestet, könnte aber passen
<?php
// Funktion zum Erzeigen des Tabellenkopfes
function createTableHeader($columns, $sortColumn, $direction)
{
$result = "";
// Richtung fuer den Link drehen
if ($direction == 'asc')
$direction = 'desc';
else
$direction = 'asc';
// Tabellenkopf mit Links
foreach ($columns as $column)
$result .= "<th><a href='?" .
(($column == $sortColumn) ? "column=$column&direction=$direction" : "column=$column&direction=asc") .
"'>" .
ucfirst($column) .
"</a>
</th>\n";
// Ergebnis zurueckliefern
return $result;
}
// Tabellenspalte, auf der per Default sortiert werden soll
$column = "spalte1";
// Richtung, auf der per Default sortiert werden soll
$direction = "asc";
// DB-Verbindung
$link = mysqli_connect("localhost", "root", "cadbas", "wm2018");
if (!$link)
{
echo "Fehler: konnte nicht mit MySQL verbinden." . PHP_EOL;
echo "Debug-Fehlernummer: " . mysqli_connect_errno() . PHP_EOL;
echo "Debug-Fehlermeldung: " . mysqli_connect_error() . PHP_EOL;
exit;
}
// UTF-8
mysqli_set_charset($link, "utf8");
// Wenn eine Tabellenspalte im Link steht
if (isset($_GET['column']))
$column = mysqli_real_escape_string($link, $_GET['column']);
// Wenn eine Richtung im Link steht
if (isset($_GET['direction']))
$direction = $_GET['direction'];
// DB-Query
$query = "select
`spalte1`,
`spalte2`,
`spalte3`,
`spalte4`
from
`user`
order by $column $direction";
// Abfrage ausfuehren
$result = mysqli_query($link, $query)
or die ("MySQL-Error: " . mysqli_error($link));
// Tabelle starten
echo "<table>
<tr>";
// Tabellenkopf erzeugen
echo createTableHeader(array('spalte1', 'spalte2', 'spalte3', 'spalte4'), $column, $direction);
echo "</tr>";
// Daten ausgeben
while ($row = mysqli_fetch_assoc($result))
{
echo "<tr>
<td>" . $row['spalte1'] . "</td>
<td>" . $row['spalte2'] . "</td>
<td>" . $row['spalte3'] . "</td>
<td>" . $row['spalte4'] . "</td>
</tr>\n";
}
echo "</table>";
?>
Alles anzeigen
Mit ein paar Anpassungen sollte man damit jede Tabelle darstellen können. Ich habe bewusst die einfachste Methode geschrieben, die sollte auch ein Anfänger nachvollziehen können.
Oder mit Php in array Speichern
Wenn die Daten aus einer Datenbank kommen, ist das die dümmste Idee
Mit
$str = "Österreich, Ägypten, 300$, Überfluss, Straße";
wird das z.B. aber interessant. Da halte ich ein count mit explode doch für einfacher. Da sind mir Sonderzeichen und Umlaute völlig wurscht.
Bitte immer Quellcodes posten, denn beim Programmieren gilt nicht die Regel, dass ein Bild mehr als tausend Worte sagt.
Mit str_word_count gibt es manchmal Probleme:
<?php
$text = "Alles schön und gut, aber manchmal funktioniert das nicht";
echo str_word_count($text);
?>
Da liefert das Script eine 10, obwohl 9 richtig wäre.
In den "User Contributed Notes" zu str_word_count findet man in der Doku:
<?php
function str_word_count_utf8($str)
{
$a = preg_split('/\W+/u', $str, -1, PREG_SPLIT_NO_EMPTY);
return count($a);
}
$text = "Alles schön und gut, aber manchmal funktioniert das nicht";
echo str_word_count_utf8($text);
?>
Alles anzeigen
Damit funktioniert es wieder. Da kann man aber auch gleich explode und count nehmen
Ich darf mir zwar jetzt wieder anhöhren das es sch... ist und alles falsch
Nö.
Es ist echt erschreckend, wenn man einen Hinweis bekommt und dann an so einfachen Sachen scheitert. Da muss man sich doch mal fragen, ob Programmieren das richtige Hobby ist oder ob man sich einfach mal mit den Grundlagen beschäftigen sollte. Und damit meine ich jetzt nicht dich basti1012
Einen Lösungsansatz findest du hier: Bei PHP Ausgabe nach bestimmter Anzahl Text stoppen.
Meine CSS-Sachen funken auch nie, vielleicht liegt das an der fehlenden Antenne,
Ansonsten würde ich mal sagen wird dir mit diesen Infos niemand helfen können. Ein Link zur Seite wäre nicht die dümmste Idee.
HTML-Seminar.de - mit Videos zum schnellen Lernen, wie man eine Website selbst erstellt.