Webentwicklung – die besten Beiträge

Weiß jemand, was für eine sinnvolle (einfache) Schleife ich in meinen PHP-Code einbauen kann?

Hier ist mein PHP-Code:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <link href="style.css" type="text/css" rel="stylesheet" />
  </head>
  <body>
  <?php
    $vorname = $_POST['vorname'];
    $nachname = $_POST['nachname'];
    $strasse_und_hausnummer = $_POST['strasse_und_hausnummer'];
    $plz = $_POST['plz'];
    $ort = $_POST['ort'];
    $telefonnummer = $_POST['telefonnummer'];
    $e_mail_adresse = $_POST['e_mail_adresse'];
    $pizzasorten = $_POST['pizzasorten'];
    $pizzaanzahl = $_POST['pizzaanzahl'];
    $groesse_preis = $_POST['groesse_preis'];
    $getraenk = $_POST['getraenk'];
    $lieferoptionen = $_POST['lieferoptionen'];
    $stammkundenkarte = $_POST['stammkundenkarte'];
    $bemerkungen = $_POST['bemerkungen'];
    $rabatt1 = 0.05;
    $rabatt2 = 0.10;
    $lieferkosten = 4.99;
    $zahlungsbetrag1 = $groesse_preis * $pizzaanzahl -  ($groesse_preis * $pizzaanzahl * $rabatt1);
    $zahlungsbetrag2 = $groesse_preis * $pizzaanzahl - ($groesse_preis * $pizzaanzahl * $rabatt2);
    $zahlungsbetrag3 = $groesse_preis * $pizzaanzahl - ($groesse_preis * $pizzaanzahl * $rabatt2) + $lieferkosten;
    $zahlungsbetrag4 = $groesse_preis * $pizzaanzahl - ($groesse_preis * $pizzaanzahl * $rabatt1) + $lieferkosten;

    $pizzas = array("Margherita", "Pepperoni", "Funghi", "Quattro Formaggi", "Diavola", "Veggie Delight", "Eigenkreation");
    echo "Ihre gew&auml;hlte Pizzasorte ist: ";
    echo $pizzas["2"];

    if ($pizzaanzahl >= 3 AND $stammkundenkarte == "Nein") {
      echo "<p>Vielen Dank, $vorname $nachname, für Ihre Bestellung!<br />Der Zahlungsbetrag beträgt: $zahlungsbetrag1 €(5% Rabatt wurde gewährt).<br />Wir freuen uns darauf, Ihnen Ihre $pizzaanzahl Pizzen und $getraenk zu liefern!</p>";
    }
    elseif ($pizzaanzahl >= 3 AND $stammkundenkarte == "Ja") {
      echo "<p>Vielen Dank, $vorname $nachname, für Ihre Bestellung!<br />Der Zahlungsbetrag beträgt: $zahlungsbetrag2 € (10% Rabatt wurde gewährt).<br />Wir freuen uns darauf, Ihnen Ihre $pizzaanzahl Pizzen und $getraenk zu liefern!</p>";
    }
    elseif ($pizzaanzahl < 3 AND $stammkundenkarte == "Ja") {
      echo "<p>Vielen Dank, $vorname $nachname, für Ihre Bestellung!<br />Der Zahlungsbetrag beträgt: $zahlungsbetrag3 € (10% Rabatt wurde gewährt inkl. der Lieferkosten).<br />Wir freuen uns darauf, Ihnen Ihre $pizzaanzahl Pizzen und $getraenk zu liefern!<br />Wir schätzen Ihre Treue als Stammkunde!</p>";
    }
    else {
      echo "<p>Vielen Dank, $vorname $nachname, für Ihre Bestellung!<br />Der Zahlungsbetrag beträgt: $zahlungsbetrag4 €(5% Rabatt wurde gewährt inkl. der Lieferkosten).<br />Wir freuen uns darauf, Ihnen Ihre $pizzaanzahl Pizzen und $getraenk zu liefern!</p>";
    }
  ?>
  </body>
</html>
Informatik, PHP, Webentwicklung

javascript hilfe dringendd?

Hallo zusammen!

Ich habe angefangen eine ToDoListe zu machen und bin schon fast fertig. Allerdings muss ich noch zwei Buttons fertigen und ich weiss nicht wie. Das erste Button ist "Delete All", dieser sollte alle Aufgaben (Aufgaben der ToDoListe) löschen. Das zweite ist "Change Status", dieser sollte, sofort alle Aufgaben wegstreichen oder zeigen dass diese Aufgaben gemacht worden sind. Ich hoffe auf eure Hilfen!

Bin schon richtig müde, und muss die Aufgaben schon bis morgen abschicken..

Dankeschön im Voraus!

LG

const todoInput = document.querySelector(".todo-input");
const todoInputTwo = document.querySelector(".todo-input-two")
const todoButton = document.querySelector(".todo-button");
const todoList = document.querySelector(".todo-list");
const filterOption = document.querySelector(".filter-todo");
const deleteAllTodos = document.querySelector(".deleteAll button")


document.addEventListener("DOMContentLoaded", getLocalTodos);
todoButton.addEventListener("click", addTodo);
todoList.addEventListener("click", deleteCheck);
filterOption.addEventListener("change", filterTodo);


function addTodo(event) {
    event.preventDefault();
    const todoDiv = document.createElement("div");
    todoDiv.classList.add("todo");
    const newTodo = document.createElement("li");
    newTodo.innerText = `${todoInput.value}, Date: ${todoInputTwo.value}`; 
    newTodo.classList.add("todo-item");
    todoDiv.appendChild(newTodo);
+
    saveLocalTodos(todoInput.value);
    
    const completedButton = document.createElement("button");
    completedButton.innerHTML = '<i class="fas fa-check-circle"></li>';
    completedButton.classList.add("complete-btn");
    todoDiv.appendChild(completedButton);


    const trashButton = document.createElement("button");
    trashButton.innerHTML = '<i class="fas fa-trash"></li>';
    trashButton.classList.add("trash-btn");
    todoDiv.appendChild(trashButton);
    
    todoList.appendChild(todoDiv);
    todoInput.value = "";
}


function deleteCheck(e) {
    const item = e.target;


    if(item.classList[0] === "trash-btn") {
        const todo = item.parentElement;
        todo.classList.add("slide");


        removeLocalTodos(todo);
        todo.addEventListener("transitionend", function() {
            todo.remove();
        });
    }


    if(item.classList[0] === "complete-btn") {
        const todo = item.parentElement;
        todo.classList.toggle("completed");
    }
}


function filterTodo(e) {
    const todos = todoList.childNodes;
    todos.forEach(function(todo) {
        switch(e.target.value) {
            case "all": 
                todo.style.display = "flex";
                break;
            case "completed": 
                if(todo.classList.contains("completed")) {
                    todo.style.display = "flex";
                } else {
                    todo.style.display = "none";
                }
                break;
            case "incomplete":
                if(!todo.classList.contains("completed")) {
                    todo.style.display = "flex";
                } else {
                    todo.style.display = "none";
                }
                break;
        }
    });
}


function saveLocalTodos(todo) {
    let todos;
    if(localStorage.getItem("todos") === null) {
        todos = [];
    } else {
        todos = JSON.parse(localStorage.getItem("todos"));
    }
    todos.push(todo);
    localStorage.setItem("todos", JSON.stringify(todos));
}


function getLocalTodos() {
    let todos;
    if(localStorage.getItem("todos") === null) {
        todos = [];
    } else {
        todos = JSON.parse(localStorage.getItem("todos"));
    }
    todos.forEach(function(todo) {
        const todoDiv = document.createElement("div");
        todoDiv.classList.add("todo");
        const newTodo = document.createElement("li");
        newTodo.innerText = todo;
        newTodo.classList.add("todo-item");
        todoDiv.appendChild(newTodo);


        const completedButton = document.createElement("button");
        completedButton.innerHTML = '<i class="fas fa-check-circle"></li>';
        completedButton.classList.add("complete-btn");
        todoDiv.appendChild(completedButton);


        const trashButton = document.createElement("button");
        trashButton.innerHTML = '<i class="fas fa-trash"></li>';
        trashButton.classList.add("trash-btn");
        todoDiv.appendChild(trashButton);


        todoList.appendChild(todoDiv);
    });
}


function removeLocalTodos(todo) {
    let todos;
    if(localStorage.getItem("todos") === null) {
        todos = [];
    } else {
        todos = JSON.parse(localStorage.getItem("todos"));
    }



  deleteAllTodos.addEventListener("click", removeAllTodos);



    const todoIndex = todo.children[0].innerText;
    todos.splice(todos.indexOf(todoIndex), 1);
    localStorage.setItem("todos", JSON.stringify(todos));
}

HTML, Webseite, CSS, JavaScript, HTML5, Code, Programmiersprache, Webentwicklung, Frontend

Webentwickler Freelancer - wer kümmert sich um DSGVO?

Ist es üblich das ich als Webentwickler mich auch um Datenschutz texte und funktionierenden cookie banner kümmere (nur notwendige akzeptieren, nur marketing cookies, alle akzeptieren) usw. ?

Und je nachdem verändert sich die seite weil googoe fonts oder maps zugestimmt wurde.

Wenn ich davon nichts genau erwähnt habe im veertrag nur von home, contact page und solchen sachen die rede ist.

Wie der Name sagt bin ich Webentwickler nicht jurist.

Ich würd die ins netz stellen für die person oder offline zuschicken aber was danach passiert ist nicht mein Problem sag ich mal.

vorallem wenn ich mit wordpress was mache sind da alle möglichen plugins irgendwelche tracker und der datenschutz problematisch. 

wenn ich die von Grund auf selber programmiere mit zb. react hab ich da zumindest vollen überblick. 

oder wie würdet ihr da vorgehen ? 

engagiert man da einen Anwalt ? Mach ich das und sollte mit 200€ extra rechnen für diese Implementierung oder der Kunde macht das alleine ?

Aber wie kennt der Anwalt sich aus mit react js oder wordpress plugins ? Und dann kann er garantieren/haften das die seite konform ist ? 

Bei diesen generatoren ist das ja nicht gegeben und cookie banner muss auch ordnungsgemäß funktionieren, kann nicht sein das er unter der haube garnichts macht.

Computer, Homepage, Datenschutz, HTML, Webseite, CSS, WordPress, JavaScript, Cookies, Anwalt, CMS, Freelancer, Hacker, IT-Sicherheit, Jura, Jurastudium, Jurist, PHP, Programmiersprache, Webdesign, Webentwicklung, React, Wordpress Plugin, fiverr, Woocommerce, Shopify, Angular, React Native, VueJs

Meistgelesene Beiträge zum Thema Webentwicklung