PHP – die besten Beiträge

PHP mail kommt nur lokal an?

Hallo, ich habe das problem, dass meine PHP mail nur lokal ankommtl, jedoch nicht wenn ich sie an einen externen Mailprovider schicke, dass ist mein code

<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Statusmeldung</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            margin: 0;
            padding: 0;
            background-color: #191919;
            color: white;
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
        }


        .container {
            text-align: center;
            padding: 20px;
            background-color: #2a2a2a;
            border-radius: 5px;
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
        }
        h1 {
            margin-bottom: 20px;
        }
        .success {
            color: green;
        }
        .error {
            color: red;
        }
        .back-button {
            margin-top: 20px;
            background-color: #333;
            color: #fff;
            padding: 10px 20px;
            border: none;
            border-radius: 5px;
            cursor: pointer;
            transition: background-color 0.3s ease;
        }
        .back-button:hover {
            background-color: #555;
        }
    </style>
</head>
<body>
    <div class="container">
        <h1>Statusmeldung</h1>
		<button class="back-button" onclick="window.history.back()">Zurück</button>
		
        <?php
        session_start();


        if ($_SERVER['REQUEST_METHOD'] === 'POST') {
            // Spam-Schutz: Überprüfen, ob genügend Zeit seit dem letzten Absenden vergangen ist (1 Stunde)
            if (isset($_SESSION['last_submit_time']) && time() - $_SESSION['last_submit_time'] < 600) {
                $timeLeft = 600 - (time() - $_SESSION['last_submit_time']);
                echo "<p class='error'>Bitte warten Sie noch $timeLeft Sekunden, bevor Sie das Formular erneut absenden. Die Ankunft der Email kann bis zu 24h dauern.</p>";
                exit;
            }


            // Aktualisieren der letzten Absendezeit
            $_SESSION['last_submit_time'] = time();


            // Weiter mit der E-Mail-Versendung
            $to = filter_var($_POST['email'], FILTER_VALIDATE_EMAIL);
            $subject = 'Backup Bier aus dem Schlauch';
            $message = 'Hey, hier ist dein Backup von Bier aus dem Schlauch.';
            $headers = "From: noreply@bierausdemschlauch.de";


            $data = $_POST['exportedFile'];
            $fileName = $_POST['fileName'];
            $fileContent = base64_decode($data);


            $separator = md5(time());
            $eol = PHP_EOL;


            // Main headers
            $headers .= "MIME-Version: 1.0" . $eol;
            $headers .= "Content-Type: multipart/mixed; boundary=\"" . $separator . "\"" . $eol;


            // Message
            $body = "--" . $separator . $eol;
            $body .= "Content-Transfer-Encoding: 7bit" . $eol . $eol;
            $body .= $message . $eol;


            // Attachment
            $body .= "--" . $separator . $eol;
            $body .= "Content-Type: application/octet-stream; name=\"" . $fileName . "\"" . $eol;
            $body .= "Content-Transfer-Encoding: base64" . $eol;
            $body .= "Content-Disposition: attachment; filename=\"" . $fileName . "\"" . $eol . $eol;
            $body .= chunk_split(base64_encode($fileContent)) . $eol;
            $body .= "--" . $separator . "--";


            if (mail($to, $subject, $body, $headers)) {
                // Benachrichtigung über Erfolg
                echo "<p class='success'>E-Mail erfolgreich gesendet.</p>";
            } else {
                // Benachrichtigung über Misserfolg
                echo "<p class='error'>E-Mail konnte nicht gesendet werden.</p>";
            }
        } else {
            echo "<p class='error'>Ungültige Anforderung.</p>";
        }
        ?>
		
        
    </div>
	
</body>
</html>


Homepage, HTML, Webseite, HTML5, Code, PHP, Programmiersprache, Webentwicklung

Alle Tabellen bei phpMyAdmin anzeigen?

Hallo, geht es vielleicht einfacher? Mit weniger Code?

<?php
  $servername = "localhost";
  $username = "root";
  $password = "";

  // Funktion um Verbindung zu prüfen und eine Nachricht auszugeben
  function checkConnection($conn) {
    if ($conn->connect_error) {
      die("Connection failed: " . $conn->connect_error);
    }
  }

  // Verbindung herstellen
  $conn = new mysqli($servername, $username, $password);
  checkConnection($conn);

  // Alle Datenbanken abrufen
  $sql = "SHOW DATABASES";
  $result = $conn->query($sql);
  echo "<h1>Datenbanken</h1>";

  if ($result->num_rows > 0) {
    while ($row = $result->fetch_assoc()) {
      $dbname = $row['Database'];
      echo "<a href='?database=$dbname'>$dbname</a><br>";
    }
  }
  else {
    echo "Keine Datenbanken gefunden.";
  }

  $conn->close();

  // Tabellen in der gewählten Datenbank anzeigen
  if (isset($_GET['database'])) {
    $dbname = $_GET['database'];
    $conn = new mysqli($servername, $username, $password, $dbname);
    checkConnection($conn);
    $sql = "SHOW TABLES";
    $result = $conn->query($sql);
    echo "<h1>Tabellen in $dbname</h1>";

    if ($result->num_rows > 0) {
      while ($row = $result->fetch_assoc()) {
        $tablename = $row["Tables_in_$dbname"];
        echo "<a href='?database=$dbname&table=$tablename'>$tablename</a><br>";
      }
    }
    else {
      echo "Keine Tabellen gefunden.";
    }

    $conn->close();
  }

  // Einträge in der gewählten Tabelle anzeigen und Eingabefelder generieren
  if (isset($_GET['database']) && isset($_GET['table'])) {
    $dbname = $_GET['database'];
    $tablename = $_GET['table'];
    $conn = new mysqli($servername, $username, $password, $dbname);
    checkConnection($conn);
    $sql = "SELECT * FROM $tablename";
    $result = $conn->query($sql);
    echo "<h1>Einträge in $tablename bearbeiten</h1>";

    if ($result->num_rows > 0) {
      echo "<form method='POST' action='save_changes.php'>";
      echo "<table border='1'><tr>";

      // Spaltenüberschriften
      $fieldinfo = $result->fetch_fields();

      foreach ($fieldinfo as $val) {
        echo "<th>{$val->name}</th>";
      }

      echo "</tr>";

      // Daten
      while ($row = $result->fetch_assoc()) {
        echo "<tr>";

        foreach ($row as $key => $data) {
          echo "<td><input type='text' name='{$key}[]' value='$data'></td>";
        }

        echo "</tr>";
      }

      // Leeres Eingabefeld für neue Einträge hinzufügen
      echo "<tr>";

      foreach ($fieldinfo as $val) {
        echo "<td><input type='text' name='{$val->name}[]' value=''></td>";
      }

      echo "</tr>";
      echo "</table>";
      echo "<input type='hidden' name='database' value='$dbname'>";
      echo "<input type='hidden' name='table' value='$tablename'>";
      echo "<input type='submit' value='Änderungen speichern'>";
      echo "</form>";
    }
    else {
      echo "Keine Einträge gefunden.";

      // Leere Tabelle mit Eingabefeldern für neuen Eintrag anzeigen
      echo "<form method='POST' action='save_changes.php'>";
      echo "<table border='1'><tr>";

      foreach ($fieldinfo as $val) {
        echo "<th>{$val->name}</th>";
      }

      echo "</tr><tr>";

      foreach ($fieldinfo as $val) {
        echo "<td><input type='text' name='{$val->name}[]' value=''></td>";
      }

      echo "</tr></table>";
      echo "<input type='hidden' name='database' value='$dbname'>";
      echo "<input type='hidden' name='table' value='$tablename'>";
      echo "<input type='submit' value='Änderungen speichern'>";
      echo "</form>";
    }

    $conn->close();
  }
?>
Datenbank, MySQL, PHP, phpMyAdmin

Delete/Insert/Update/Search, altmodisch gelöst? Verbesserungsvorschläge?

Mehrere Formularfunktionen in PHP:

Delete:

  if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["kunden_id"])) {
    $kunden_id = $_POST["kunden_id"];
    $sql = "DELETE FROM kunden WHERE kunden_id=$kunden_id";

    if ($conn->query($sql) === TRUE) {
      echo "Record deleted successfully";
    }
    else {
      echo "Error deleting record: " . $conn->error;
    }
  }

  $conn->close();
?>

Insert:

  if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $vname = $conn->real_escape_string($_POST['vname']);
    $nname = $conn->real_escape_string($_POST['nname']);
    $age = $conn->real_escape_string($_POST['age']);
    $sql = "INSERT INTO kunden (vname, nname, age) VALUES ('$vname', '$nname', '$age')";

    if ($conn->query($sql) === TRUE) {
      echo "Neuer Kunde erfolgreich hinzugefügt";
    }
    else {
      echo "Fehler: " . $sql . "<br>" . $conn->error;
    }
  }

  $conn->close();
?>

Update:

  if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["kunden_id"]) && isset($_POST["vname"]) && isset($_POST["nname"]) && isset($_POST["age"])) {
    // Kunden-ID und neue Daten aus dem Formular abrufen
    $kunden_id = $_POST["kunden_id"];
    $vname = $_POST["vname"];
    $nname = $_POST["nname"];
    $age = $_POST["age"];

    // SQL-Update-Statement vorbereiten
    $sql = "UPDATE kunden SET vname='$vname', nname='$nname', age='$age' WHERE kunden_id=$kunden_id";

    if ($conn->query($sql) === TRUE) {
      echo "Record updated successfully";
    }
    else {
      echo "Error updating record: " . $conn->error;
    }
  }

  $conn->close();
?>

Search:

  if (isset($_POST['search'])) {
    $search = $_POST['search'];
    $sql = "SELECT kunden_id, vname, nname, age FROM kunden WHERE nname LIKE '%$search%' ORDER BY kunden_id";
  }
  else {
    $sql = "SELECT kunden_id, vname, nname, age FROM kunden ORDER BY kunden_id";
  }

  $result = $conn->query($sql);

  if ($result->num_rows > 0) {
    echo "<table border='1'>
      <tr>
        <th>Kunden ID</th>
        <th>Vorname</th>
        <th>Nachname</th>
        <th>Alter</th>
      </tr>";

    while ($row = $result->fetch_assoc()) {
      echo "<tr>
        <td>" . $row["kunden_id"]. "</td>
        <td>" . $row["vname"]. " </td>
        <td>" . $row["nname"]. "</td>
        <td>" . $row["age"]. "</td>
      </tr>";
    }

    echo "</table>";
  }
  else {
    echo "0 Ergebnisse";
  }

  $conn->close();
?>
<form method="post">
  <input type="text" name="search" placeholder="Nachname eingeben...">
  <button type="submit">Suchen</button>
</form>
Datenbank, MySQL, PHP, phpMyAdmin

Sind diese PHP Methoden nützlich?

Hallo smarte Leute!

Bin PHP Neuling und habe mir dazu die ein oder andere hilfreiche Methode zusammengestellt und eine Standard DB Verbindung für eine MySQL Datenbank erstellt um diese möglicherweise auch für andere Projekte zu nutzen.

Sind diese Methoden hilfreich bzw. kann man diese verbessern?

Mfg, CodeMaster

Standartmethoden:

<?php
  
  function getContentSite($defaultSite) {


    if(isset($_GET['site']))
    {
      include_once($_GET['site'] . ".php");
    }
    else
    {
      include_once($defaultSite . ".php");
    }
  }


  function getFormAction()
  {
    if(isset($_GET["site"]))
    {
      return htmlspecialchars($_SERVER["PHP_SELF"]) . "?site=" . $_GET["site"];
    }


    return htmlspecialchars($_SERVER["PHP_SELF"]);
  }


  function getFormParam($name, $defaultVal = "") 
  {
    if(isset($_POST[$name]))
    {
      return $_POST[$name];
    }


    return $defaultVal;
  }


  function isFormValueChecked($key, $val)
  {
    return ($key == $val ? "checked"  : "");
  }


  function isFormValueSelected($key, $val)
  {
    return ($key == $val ? "selected"  : "");
  }


 ?>

Datenbankverbindung:

<?php


include_once("dbHelpers.inc.php");


$server = '';
$schema = '';
$user = '';
$password = '';


try{
    $con = new PDO('mysql:host='.$server.';dbname='.$schema.';charset=utf8',$user,$password);
    $con->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
} catch(Exception $e){
    printException($e);
}

Datenbankabfragen:

<?php


function makeStatement($query, $array = null){
    try{
        global $con;
        $stmt = $con->prepare($query);
        $stmt->execute($array);
        return $stmt;
    } catch(Exception $e) {
        printException($e);
    }
}
function printException($e)  {
    echo 'Error '.$e->getCode().$e->getMessage();
}


function makeTable($query, $arrV = null)
{
    try{
        $stmt = makeStatement($query, $arrV);
        echo '<table class="table">';
        $meta = array();
        echo '<tr>';
        for($i = 0; $i < $stmt -> columnCount(); $i++)
        {
            $meta[] = $stmt->getColumnMeta($i);
            echo '<th>'.$meta[$i]['name'].'</th>';
        }
        echo '</tr>';
 
        while($row = $stmt->fetch(PDO::FETCH_NUM)){
            echo '<tr>';
            foreach($row as $r){
                echo '<td>'.$r.'</td>';
            }
            echo '</tr>';
        }
        echo '</table>';
    }
    catch(Exception $e){
        printException($e);
    }
}

Code, Datenbank, MySQL, PHP

Action URL in einem PHP-Formular über einen Schalter in Echtzeit dynamisch ändern, wie?

Also Folgendes: ich hab hier ein PHP-Formular mit einem Eingabefeld und einem Submit Button, dass die eingegebenen Werte an eine bestimmte URL sendet. (Das ist erstmal simpel) Ich habe auch herausgefunden, wie man die URL z.b mit einer Zahlenfunktion variieren kann. Auch das geht relativ leicht. Was hingegen scheinbar weniger einfach ist: Ich würde das Action Attribut, also die URL, wo die Eingaben hingesendet werden nun gerne über einen HTML-Schalter z.b Checkbox dynamisch & in Echtzeit ändern. z.b Checkbox aktiv = Daten werden an URL2 gesendet, Checkbox nicht aktiv = Daten werden an URL1 gesendet. Oder es soll einfach ein URL-Zusatz hinzugefügt werden, je nachdem ob die Checkbox aktiv ist oder nicht. Meine jetzt ganz blöde Frage: Wie oder mit welchem Ansatz kann das funktionieren? Ich habe da jetzt bereits XX Stunden rumprobiert: Normale Variablen mit Conditions definieren, Sessions starten, der Versuch ein Cookie zu setzen, dass beim Ein und Ausschalten der Checkbox gesetzt bzw. gelöscht werden soll (klappt nicht). Mit JS Codeschnipseln herumprobiert. Nichts davon scheint zu funktionieren bzw. es wird einfach immer der Zustand "checkbox unchecked" an URL1 gesendet.

Hat irgendeiner mit Ahnung ne Idee wieso das nicht funktioniert und ob es einen lösbaren Ansatz für dieses Problem gibt?

HTML, Webseite, JavaScript, HTML5, Datenbank, PHP, Programmiersprache, Webdesign, Webentwicklung, Webserver, Frontend

DropDown-Menu Links für Handy?

wenn ich mein dropdown-menu habe, und ich will dass wenn sich dieses dropdown-menu öffnet und die kategorien zum auswählen bereitstellt, dass wenn ich auf die Kategorie klicke dann sich ein link öffnet, dies funktioniert mit meinem html code (auf der website version) perfekt, jedoch funktioniert dies nicht in der smartphone ansicht, warum das ?

Falls es hilft hier dier html-code

 

<!DOCTYPE html>

<html lang="en">

<head>

  <title>Language Selection</title>

  <style>

    /* Dropdown Button */

    .dropbtn {

      font-size: 16px; 

      border: none;

    }

    /* The container <div> - needed to position the dropdown content */

    .dropdown {

      position: relative;

      display: inline-block;

    }

    /* Dropdown Content */

    .dropdown-content {

      display: none;

      position: absolute;

      background-color: transparent;

      min-width: 100px;

      box-shadow: 0px 0px 0px 0px rgba(0,0,0,0);

      z-index: 1;

      top: 100%;

      left: 50%;

      transform: translateX(-50%);

      margin: 8px 0;

    }

    /* Links inside the dropdown */

    .dropdown-content a {

      color: transparent;

    padding: 15px 13px; 

      text-decoration: none;

       

    }

    /* Change color of dropdown links on hover */

    .dropdown-content a:hover {

      background-color: transparent; /* Ändere die Hintergrundfarbe beim Hover */

    }

    /* Show the dropdown menu when hovering over the dropdown */

    .dropdown:hover .dropdown-content {

      display: block;

    }

    /* Keep the dropdown menu open when hovering over it */

    .dropdown:hover .dropbtn {

      background-color: transparent;

    }

     

  </style>

   

</head>

<body>

  <div class="gtco-loader"></div>

  <div id="page">

    <nav class="gtco-nav" role="navigation">

      <div class="container">

        <div class="row">

          <div class="col-sm-2 col-xs-12">

            <div id="gtco-logo"><a href="index.html">Endo<em>scopy</em></a></div>

          </div>

          <div class="col-xs-10 text-right menu-1 main-nav">

            <ul>

              <li class="active"><a href="#" data-nav-section="home">Home</a></li>

              <li><a href="#" data-nav-section="about">Über uns</a></li>

              <li><a href="#" data-nav-section="practice-areas">Anwendungsbereiche</a></li>

              <li><a href="#" data-nav-section="technics">Operationstechniken</a></li>

              <li><a href="#" data-nav-section="our-team">Unser Team</a></li>

              <li class="btn-cta"><a href="#" data-nav-section="contact"><span>Kontakt</span></a></li>

              <li class="dropdown">

                <div class="dropdown">

                  <a href="#" class="dropbtn">Deutsch ∨</a>

                  <div class="dropdown-content">

                    <p><a href="italiano.html" class="italiano">Italiano</a></p> 

                    <p><a href="english.html" class="english">English</a></p> 

                  </div>

                </div>

              </li>

            </ul>

          </div>

        </div>

      </div>

    </nav>

  </div>

  <script>

  // JavaScript to handle dropdown menu clicks

  document.addEventListener("DOMContentLoaded", function() {

    var dropdownButtons = document.querySelectorAll(".dropdown .dropbtn");

    var dropdownContents = document.querySelectorAll(".dropdown .dropdown-content");

    // Function to toggle the dropdown content visibility

    function toggleDropdown(index) {

      if (dropdownContents[index].classList.contains("show")) {

        dropdownContents[index].classList.remove("show");

      } else {

        dropdownContents[index].classList.add("show");

      }

    }

    // Close dropdown content if clicked outside the dropdown

    window.addEventListener("click", function(event) {

      if (!event.target.matches('.dropbtn')) {

        dropdownContents.forEach(function(content) {

          content.classList.remove("show");

        });

      }

    });

    // Handle dropdown button clicks

    dropdownButtons.forEach(function(button, index) {

      button.addEventListener("click", function(event) {

        event.stopPropagation(); // Prevent the document click event

        toggleDropdown(index);

      });

    });

    // Handle dropdown options clicks

    var dropdownOptions = document.querySelectorAll(".dropdown-content a");

    dropdownOptions.forEach(function(option) {

      option.addEventListener("click", function(event) {

        // Prevent default action

        event.preventDefault();

        // Redirect to the selected page

        window.location.href = option.getAttribute("href");

      });

    });

  });

</script>

</body>

</html>

HTML, Webseite, CSS, JavaScript, HTML5, Code, PHP, Programmiersprache, Webdesign, Webentwicklung

Fehler bei password verify php?

Ich habe ein Testprogramm geschrieben, in dem man ein Passwort eingibt, dass dann gehasht in einer Datenbank gespeichert wird. Wenn ich mit dem Passwort vergleiche kommt aber nicht true sondern false raus. Das ganze habe ich in WebFTP gemacht.

Als Ausgabe bekomme ich:

123456789 $2y$10$4TMgUO3xGJMCy5iZnd6Be.TBRkIO2Z55GGwgQ5oeToD.ryJZAvvte Richtig In Datenbank übertragen $2y$10$4TMgUO3xGJMCy5iZnd6Be.TBRkIO2Z55GGwgQ5oeToD.ryJZAvvte Falsch Richtig übertragen

Bedeutet das gehashte Passwort wurde richtig gespeichert, aber passwort verify hat beim zweiten mal false zurück gegeben.

Hier ist der php Teil dazu:

<?php
if (isset($_POST["start"])) {
    $password = $_POST["password"];
    $email = $_POST["email"];
    echo $password . " ";
    $passwordHash = password_hash($password, PASSWORD_DEFAULT);
    echo $passwordHash . " ";
    if (password_verify($password, $passwordHash)){
        echo "Richtig ";
    }else{
        echo "Falsch ";
    }
    require_once "data.php"; //Hier wird die Datenbankverbindung gespeichert
    $statement = $pdo->prepare("INSERT INTO tab (email, password) VALUES (?, ?)");
    $statement->execute(array($email, $passwordHash));
    if ($statement){
        echo "In Datenbank übertragen ";
        $sql = "SELECT * FROM tab WHERE email='$email'";
        $user = $pdo->query($sql)->fetch();
        $passwordTest = $user["password"];
        echo $passwordTest . " ";
        if (password_verify($password, $passwordTest)){
            echo "Richtig ";
        }else{
            echo "Falsch ";
            if ($passwordHash == $passwordTest){
                echo "Richtig übertragen ";
            }else{
                echo "Falsch übertragen ";
            }
        }
        die();
    }else{
        die("Es ist etwas schief gelaufen");
    }
}
?>
SQL, HTML, Webseite, CSS, JavaScript, HTML5, Code, Datenbank, MySQL, PHP, Programmiersprache, Webdesign, Webentwicklung, phpMyAdmin

PHP: Login-System funktioniert nicht?

Hey, ich bin als Schüler gerade mit einem Partner dabei, an einem Projekt für den Informatikunterricht zu arbeiten. Aktuell arbeiten wir daran, dass man sich als Benutzer auf der Webseite anmelden kann.

Das Registrieren funktioniert bereits und als Vorlage diente uns dazu dieses Video:

https://www.youtube.com/watch?v=bNwT7pqVzDc

Nun sind in der Datenbank sowohl Benutzername als auch Passwort eingetragen. Als Benutzer soll man sich nun anmelden können und dann auf home.php weitergeleitet werden. Als Vorlage zum Anmelden verwendeten wir dieses Video:

https://www.youtube.com/watch?v=HrLucaAHLm8

Das Problem:

Wenn man versucht, sich auf der Webseite anzumelden, erscheint die Meldung "Passwort stimmt nicht ueberein", obwohl es übereinstimmen sollte. Hier ist der Quelltext:

<?php

 require("connection.php");

 if(isset($_POST["submit"])){

   $Benutzername = $_POST["Benutzername"];

   $Passwort = $_POST["Passwort"];

   $stmt = $con->prepare("SELECT * FROM Angestellten_Benutzer WHERE Benutzername=:Benutzername");

   $stmt->bindParam(":Benutzername", $Benutzername);

   $stmt->execute();

   $userExists = $stmt->fetchAll();

   $passwordHashed = $userExists[0]["Passwort"];

   $checkPassword = password_verify($Passwort, $passwordHashed);

   if($checkPassword === false){

     echo "Passwort stimmt nicht ueberein";

   }

   if($checkPassword === true){

     session_start();

     $_SESSION["Benutzername"] = $userExists[0]["Benutzername"];

     header("Location: home.php");

   }

 }

?>

<html lang="de">

<head>

   <meta charset="UTF-8">

   <meta http-equiv="X-UA-Compatible" content="IE=edge">

   <meta name="viewport" content="width=device-width, initial-scale=1.0">

   <title>Anmelden</title>

   <link rel="stylesheet" href="style.css">

</head>

<body>

   <form action="pp.php" method="POST">

       <h1>Anmelden</h1>

       <div class="inputs_container">

           <input type="text" placeholder="Benutzername" name="Benutzername" autocomplete="off">

           <input type="password" placeholder="Passwort" name="Passwort" autocomplete="off">

       </div>

       <button name="submit">Anmelden</button>

   </form>

</body>

</html>

Ich würde mich sehr über eine Korrektur dieses Codes freuen. Der Validator sowie die KI scheinen keine Lösung für das Problem zu haben und keine Probleme zu erkennen. Danke!

SQL, Webseite, programmieren, Datenbank, PHP

Mit eigener Domain kostenlose Email Server möglich?

Ich versteh nicht ganz wie Email funktioniert im Hintergrund.

ich habe normalerweise ein Webhosting Paket wo alles schon mit einer Inklusiv Domain Verknüpft ist.

Man kann mit Oberfläche seine Postfächer anlegen, die Webmail Anwendung nutzen oder über die imap smtp ein/ausgangsserver die Mails in seiner Eigenen Email Anwendung anzeigen / verschicken usw.

Wenn ich einen VPS von Ionos für 1€ miete müsste ich das selber machen ?

dann gehen die keine ahnung 5gb nicht nur für Apache/Nginx das ich installieren muss drauf und die Website an sich sondern

das muss ich auch teilen mit irgendeiner email software.

Und würde es auch so gehen das ich mir eine Domain miete für 0.5ct 12 Monate bei Strato.

Meine NextJs Webapp bei Vercel Deploy mit dieser Domain kann man ja einrichten wenn man irgendwas an den Dns einstellungen macht, sollte nicht schwer sein.
Und dann als extra irgendwo kostenlos mit

dieser domain irgendwo postfächer erstellt auch wenn es nur 1gb sind.

zb info@mustermann.de , und dann bei web.de umsonst gehostet.

Website umsonst bei vercel

Und die cents strato Domain zeigt auf vercel.

Ich will versuchen die kosten zu minimieren da normale Pakete Overkill für mich sind und ich so Freunden/Bekannten auch helfen kann einzusteigen.

Es ist auch attraktiv wenn ich Kunden habe die selber neu selbstständig sind und wenig geld haben.

Besser einen armen Kunden die Seite erstellen ohne Monatliche Kosten bis auf Domain 1 cent / 1 jahr danach 1€ statt garkeinen kunden weil er nicht 6€ pro monat ausgeben will für hosting domain ssl email.

Wenn es mit Wordpress sein soll kommt man nicht drumherum dann kommen auch noch 15€ für Plugins und Page Builder dazu.

Schon sind wir bei 250€ Im Jahr

Server, Homepage, Linux, E-Mail, HTML, IT, Webseite, WordPress, JavaScript, Informatik, PHP, Webentwicklung, Webhosting, React, github, Angular

Meistgelesene Beiträge zum Thema PHP