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
Programm auslesen eines Arduinos?

hey, ich versuche gerade (immer noch) Daten von meinem Arduino zu einer Datenbank in mysql zu senden. Jedoch kommt nichts an und beim Arduino blinkt die ganze Zeit TX (was doch fürs Daten senden steht, oder?).

Hier das Programm von VSC:

var mysql = require('mysql');


var SerialPort = require("serialport");


var column_name = 'Wert'
var table_name = 'Wertetabelle'


const parsers = SerialPort.parsers;
const parser = new parsers.Readline({
    delimiter: '\r\n'
});


var port = new SerialPort('COM4', {
    baudRate: 9600,
    dataBits: 8,
    parity: 'none',
    stopBits: 1,
    flowControl: false
});


port.pipe(parser);


//Determine the connection to MySQL
var con = mysql.createConnection({
  host: "localhost",
  user: "root",
  password: "",
  database: "werte_datenbank"
});


//Connect with Database
con.connect(function(err) {
    // Build the connection
    if (err) throw err;
    console.log("Connected!");
});


parser.on('data', function(data){
    console.log(data);


    // Deklariert was genau wo gespeichert werden soll
    var sql = "INSERT INTO `werte_tabelle` (`Wert`) VALUES ('" + data + "');"


    // Speichert bei Änderungen die neuen Daten in der Datenbank
    con.query(sql, function (err, result) {
      if (err) throw err;
      console.log("1 record inserted");
    });
});


//DELETE FROM `werte_tabelle` WHERE 1
var sql = "DELETE FROM `werte_tabelle` WHERE 1"
// Löscht die Datenbank
con.query(sql, function (err, result) {
    if (err) throw err;
    console.log("Every Entry deleted");

});

Hier das Programm vom Arduino Editor:

int pinPx = 3;
int x = 1;
const long intervall = 20000;
bool zeitspanne = true;
float zeit_now = millis();


void setup() {
  Serial.begin(9600);
  pinMode(pinPx, INPUT);


}


void loop() {
  zeit_now = millis();


  while (zeitspanne == true) {
    if (digitalRead(pinPx) == true) {
      Serial.write(x);
    }
    if (millis() > (zeit_now + intervall)) {
      zeitspanne = false;


    }
  }


  pinPx = pinPx + 1;
  x = x + 1;
  zeitspanne = true;
}

Vielen Dank!!

Arduino, Code, Datenbank, MySQL, Programmiersprache, phpMyAdmin, node.js
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
wie behebe ich diesen fehler?

Hallo!

Kann mir jemand helfen diese Fehler zu beheben?

FEHLER 1 :Traceback (most recent call last):

 File "C:\Users\arrou\OneDrive\Desktop\cheese\für acc\tmmail\main.py", line 37, in <module>

class mailtm_gui(ctk.CTk):

Fehler 2 :  File "C:\Users\arrou\OneDrive\Desktop\cheese\für acc\tmmail\main.py", line 59, in mailtm_gui

  knopf = ctk.CTkButton(main, text="n", command=neum())

FEHLER 3 :  File "C:\Users\arrou\OneDrive\Desktop\cheese\für acc\tmmail\main.py", line 56, in neum

  mail_body = ctk.CTkEntry(mail_window, placeholder_text='Subject: ' + message['subject'] + '\nBody: ' + (message['text'] if message['text'] else message['html']), width=900, font=('Helvetica', 20))

TypeError: 'module' object is not subscriptable

import customtkinter as ctk
from mailtm import *
from mailtm import message


def listener(message):
    print("\nSubject: " + message['subject'] + str(listener))
    print("Content: " + message['text'] if message['text'] else message['html'] + str(listener))


test = Email()
print("\nDomain: " + test.domain)

test.register()
print("\nEmail Adress: " + str(test.address))


test.start(listener, interval=3)
print("\nHab Sabr.....")


main = ctk.CTk()
main.geometry("500x320")
main.title("Temp mail By Amjn")


emaila = ctk.CTkEntry(main, placeholder_text="         " + test.address, width=900, font=("Helvetica", 20))
emaila.configure(state="readonly")
emaila._corner_radius = 10
emaila.pack()


Copyt = ctk.CTkLabel(main, text="Copy Email", font=("Helvetica", 20))
Copyt.pack()


class mailtm_gui(ctk.CTk):
    def __init__(self):
        ctk.CTk.__init__(self)
        self.geometry('500x320')
        self.title('Temp mail By Amjn')
        listener = Email()
        listener.register()
        emaila = ctk.CTkEntry(self, placeholder_text=listener.address, width=900, font=('Helvetica', 20))
        emaila.configure(state='readonly')
        emaila._corner_radius = 10
        emaila.pack()
        listener.start(listener, interval=3)

    def neum():
        mail_window = ctk.CTkToplevel()
        mail_window.title("amjs tm by mailtm")
        mail_window.geometry('500x320')
        mail_window.corner_radius = 30
        mail_window.resizable(width=True, height=True)
        mail_body = ctk.CTkEntry(mail_window, placeholder_text='Subject: ' + message['subject'] + '\nBody: ' + (message['text'] if message['text'] else message['html']), width=900, font=('Helvetica', 20))
        mail_body.pack()

    knopf = ctk.CTkButton(main, text="n", command=neum())


main.mainloop()
Code, Programmiersprache, Python, Python 3, Tkinter, Pycharm
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
TypeError: can only concatenate str (not "function") to str?

ich möchte eine ui für mailtm erstellen aber bekomme kein output raus also wenn email ankommen werden sie nicht angezeigt und wenn ich listener eingebe bekomme ich jedes mal den gleichen fehler code

Fehler code:

TypeError: can only concatenate str (not "function") to str

from mailtm import *


def listener(message):
    print("\nSubject: " + message['subject'] + str(listener))
    print("Content: " + message['text'] if message['text'] else message['html'] + str(listener))


test = Email()
print("\nDomain: " + test.domain)

test.register()
print("\nEmail Adress: " + str(test.address))


test.start(listener, interval=3)
print("\nHab Sabr.....")


main = ctk.CTk()
main.geometry("500x320")
main.title("Temp mail By Amjn")


emaila = ctk.CTkEntry(main, placeholder_text="         " + test.address, width=900, font=("Helvetica", 20))
emaila.configure(state="readonly")
emaila._corner_radius = 10
emaila.pack()


Copyt = ctk.CTkLabel(main, text="Copy Email", font=("Helvetica", 20))
Copyt.pack()


def neuw(self=None):
    neu = ctk.CTkToplevel(main)
    neu.title("Emails              (MADE BY AMJN)")
    neu.geometry("500x320")
    neu.corner_radius = 30
    neu.resizable(width=True, height=True)

    Ausg = ctk.CTkEntry(neuw, placeholder_text=("         ") + listener, width=900, font=("Helvetica", 20))
    Ausg.pack()


knopf = ctk.CTkButton(main, text="Emails", font=("Helvetica", 20), command=neuw)
knopf.pack(pady=20)

main.mainloop()
Code, Programmiersprache, Python, UI, Python 3, Tkinter, Pycharm
HTML/CSS/JS: Warum funktioniert meine bindDelete-Funktion nicht und wie kann ich die Preisangaben untereinander formatieren?

Hi, ich habe an einen Spezialisten eine Frage:

import Order from './Order.js';
import ArticleModel from './ArticleModel.js';

export default function UserOrderViewHandler(articleModel) {
  this.articleModel = articleModel;
  this.order = new Order(-1, null, [], 0, 0, 0, 0, 0, false);
}

UserOrderViewHandler.prototype.renderPage = function() {
  let body = document.getElementsByTagName('body')[0];
  body.innerHTML = "";
  body.innerHTML = `<div class="container">
    <sidebar>
      <h1 class="mb-4">Unser Sortiment</h1>
      <div id="articleList">
        <div class="row space-between">
          <div class="col-md-4 mb-4">
            <div class="card" data-index="0">
              <div>
                <h2>Salamipizza</h2>
                <p>Halbe hausgemachte Pizza mit Käse und regionaler Salami</p>
                <p><strong>6.50 €</strong></p>
                <button class="addBtnClss btn btn-primary">Artikel hinzufügen</button>
              </div>
            </div>
          </div>
          <div class="col-md-4 mb-4">
            <div class="card" data-index="1">
              <div>
                <h2>Hamburger</h2>
                <p>Burger mit österreichischem Rindfleisch, Ketchup und Senf</p>
                <p><strong>6.00 €</strong></p>
                <button class="addBtnClss btn btn-primary">Artikel hinzufügen</button>
              </div>
            </div>
          </div>
          <div class="col-md-4 mb-4">
            <div class="card" data-index="2">
              <div>
                <h2>Wochenmenü</h2>
                <p>Frittatensuppe --- Spaghetti Bolognese --- Muffin</p>
                <p><strong>12.50 €</strong></p>
                <button class="addBtnClss btn btn-primary">Artikel hinzufügen</button>
              </div>
            </div>
          </div>
        </div>
      </div>
    </sidebar>
    <sidebar>
      <h1 class="mb-4 extramargin">Bestellung</h1>
      <ul id="order"></ul>
      <div class="form-group">
        <label for="pickupTime">Gewünschte Abholzeit:</label>
        <input type="time" id="pickupTime" class="form-control">
      </div>
    </sidebar>
  </div>`;
}

UserOrderViewHandler.prototype.renderOrder = function() {
  let orderElement = document.getElementById('order');
  orderElement.innerHTML = "";
  orderElement.className = "list-group";

  let i = 0;

  for (let article of this.order.articleList) {
    let articleElement = document.createElement('li');
    articleElement.className = "list-group-item d-flex justify-content-between align-items-center";
    articleElement.innerHTML = `
      <div>1 x ${article.name} &emsp; &emsp; &emsp;${article.price.toFixed(2)} €</div>
      <button class="delBtn btn btn-danger btn-sm" data-index="${i}">Entfernen</button>
    `;
    orderElement.appendChild(articleElement);
    i++;
  }
}

UserOrderViewHandler.prototype.bindAddBtn = function() {
  let buttons = document.getElementsByClassName('addBtnClss');
  const that = this;

  for (let button of buttons) {
    button.addEventListener('click', function() {
      let index = this.closest('.card').getAttribute('data-index');
      let article = that.articleModel.getByIndex(index);

      if (article) {
        that.order.addArticle(article);
        that.renderOrder();
      }
    });
  }
}

UserOrderViewHandler.prototype.bindDeleteBtn = function() {
  let orderElement = document.getElementById('order');
  orderElement.addEventListener('click', function(event) {
    if (event.target.classList.contains('delBtn')) {
      let index = event.target.getAttribute('data-index');
      that.order.deleteArticle(index);
      that.renderOrder();
    }
  });
}
  1. Warum funktioniert meine bindDelete-Funktion nicht, um die li-Elemente wieder zu löschen?
  2. Wie kann ich es schaffen, dass der Preis von jedem li-Element genau so untereinander ist, sodass man ihn schön zusammenrechen könnte:

Danke für die Hilfe.

Bild zum Beitrag
Homepage, HTML, Webseite, CSS, JavaScript, HTML5, Code, Programmiersprache, Webdesign, Webentwicklung, Frontend
ESP32 Code gut?

Hi, ich würde gerne fragen ob dieser code gut ist weil ich kenne mich nicht aus und da kommt immer dieser fehlercode:
'sendDiscordNotification' was not declared in this scope

#include <Arduino.h>
#include <WiFi.h>
#include <HTTPClient.h>


const char* ssid = "WLanSSID";
const char* password = "Password";


const char* webhook_url = "https://discord.com/api/webhooks/MyWebhook";



const int doorbellPin = 13;


bool doorbellState = LOW;


void setup() {
  Serial.begin(115200);
  

  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Verbindung zum WLAN wird hergestellt...");
  }
  Serial.println("WLAN verbunden!");
  

  pinMode(doorbellPin, INPUT);
}


void loop() {
  doorbellState = digitalRead(doorbellPin);



  if (doorbellState == HIGH) {
    sendDiscordNotification();
    delay(5000);
  }


  delay(100);
}


void sendDiscordNotification() {
  if (WiFi.status() == WL_CONNECTED) {
    HTTPClient http;


    http.begin(webhook_url);


    http.addHeader("Content-Type", "application/json");



    String payload = "{\"content\": \"Es hat geklingelt!\"}";


    int httpResponseCode = http.POST(payload);


    if (httpResponseCode > 0) {
      String response = http.getString();
      Serial.println(httpResponseCode);
      Serial.println(response);
    } else {
      Serial.print("Fehler bei der HTTP Anfrage: ");
      Serial.println(httpResponseCode);
    }



    http.end();
  } else {
    Serial.println("WiFi Verbindung verloren");
  }
}
Arduino, Code, Programmiersprache, C (Programmiersprache), Arduino IDE
HTML: Wie kann ich die Titelbox verschieben?

Hey,

ich verzweifle mittlerweile an meinen eigenen Sinnen und hab schon manches probiert. Das Einbinden von KI (ChatGPT) hat mir dann den Rest gegeben, da alles was davon kam einfach keinen Sinn ergab.

Ich habe zwei Container, also left-colum und right-colum.

Wie man in dem Code sehen kann, wird die Klasse "whatis-titlebox" im ersten Teil korrekt angezeigt. Es wird das Szenario eintreten, dass die linke Spalte leer beiben wird und nur die rechte mit Text gefüllt wird.

Dazu dachte ich mir, kopiere ich den Standardteil und spreche die Kopie dann mit "rightinput" um eben "whatis-titlebox" aus dem 2. Teil, also "rightinput whatis-titlebox" über die rechte colum zu legen, sodass der Text darin linksbündig mit dem Text sichtbar wird. Fehlanzeige, ich habe es nicht geschafft. Vielleicht ist mein Code auch einfach nur falsch geschrieben.

Ich blicke da nicht mehr durch und hoffe, dass ich hier Hilfe erhalte.

HTML:

<div class="leidfadenmain-input">
    <div class="whatis">
        <div class="whatis-titlebox">
            <h2 class="whatis-title-txt">Über</h2>
        </div>
        <div class="container">
            <div class="left-column">
                <!-- Linker Text -->
                <p class="whatis-txt"></p>
                <p class="whatis-txt"></p>
            </div>
            <div class="divider"></div>
            <div class="right-column">
                <!-- Rechter Text bei Bedarf -->
                <p class="whatis-txt"></p>
            </div>
        </div>
    </div>

    <div class="whatis">
        <div class="rightinput whatis-titlebox">
            <h2 class="whatis-title-txt">Über</h2>
        </div>
        <div class="container">
            <div class="left-column">
                <!-- Linker Text -->
            </div>
            <div class="divider"></div>
            <div class="right-column">
                <!-- Rechter Text bei Bedarf -->
                <p class="whatis-txt"></p>
            </div>
        </div>
    </div>
</div>

CSS:

.leidfadenmain-input {
    padding-top: 100px;
    display: flex;
    flex-direction: column;
}

.whatis {
    display: flex;
    flex-direction: column; /* Ändert die Ausrichtung auf vertikal */
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
}

.whatis-txt {
    padding-bottom: 15px;
}

.whatis .whatis-titlebox {
    position: relative;
    margin-bottom: 20px;
    top: 0;
}

.rightinput .whatis-titlebox {
    margin-bottom: 20px;
    top: 0;
    left: 50%; /* Zentriert die Überschrift horizontal */
    transform: translateX(-50%); /* Zentriert die Überschrift horizontal */
}

.whatis .whatis-title-txt {
    font-size: 1.5em;
    font-weight: bold;
    margin-bottom: 10px;
}

.whatis .left-column,
.whatis .right-column {
    width: 45%;
}

.whatis .divider {
    width: 1px;
    height: auto;
    background-color: black; /* Ändere die Farbe bei Bedarf */
    margin: 0 10px;
}

.whatis .container {
    display: flex;
    align-items: stretch;
    width: 100%;
}

Einfach erklärt.: ".rightinput .whatis-titlebox" soll, sofern gebraucht, über right-colum platziert werden.

Sofern ihr mir weiterhelfen könntet, wäre ich euch dankbar!

Vielen Dank!

Liebe Grüße

HTML, Webseite, CSS, Code, Webdesign, Webentwicklung
Java Code Hilfe?

Ich lerne gerade in der Schule Java zu programmieren. Aber unsere Lehrerin hat uns nicht richtig erklärt, wie unsere Aufgabe gemacht werden soll. Jetzt brauche ich Hilfe. Wir programmieren im Programm BlueJ und sollen im Script unserer Klasse KREIS eine double Methode machen, die den Umfang berechnet. Aber BlueJ zeigt einen Fehler am Ende der Klammer bei der Methode an. Bitte helft mir! Hier ist der Code:

public class KREIS
{
   //Attribute
   private int mittelpunktX;
   private int mittelpunktY;
   private int radius;
   private String fuellfarbe;

   //Konstruktor

   public KREIS(int mittelpunktXneu, int mittelpunktYneu, int radiusneu, String fuellfarbeneu)
   {
       mittelpunktX=mittelpunktXneu;
       mittelpunktY=mittelpunktYneu;
       radius=radiusneu;
       fuellfarbe=fuellfarbeneu;
   }

   //Methode

   public void setzeMittelpunkt(int mittelpunktXNew, int mittelpunktYNew)
   {
       mittelpunktX=mittelpunktXNew;
       mittelpunktY=mittelpunktYNew;
   }

   public void zeichne()
   {
       ZEICHENFENSTER.gibFenster().fuelleKreis(mittelpunktX,mittelpunktY,radius,fuellfarbe);
   }

   public void setzeFarbe(String fuellfarbeNeu)
   {
       fuellfarbe=fuellfarbeNeu;
   }

   public double UmfangBerechnen(radiusNeu);
   {
      return radiusNeu*2*3.14;
   }
}
PC, Software, programmieren, Java, Code, Informatik
Wie mache ich es, dass pro ordner ein JButton hinzugefügt wird?

Ich möchte eine Art Wiki mit Java machen, wo man Sachen herunterladen kann damit dass dann in der App angezeigt wird, doch ich weiß nicht wie ich es mache, dass ein JButton hinzugefügt wird wenn ein Ordner, da ist. Ich möchte dann auch, dass wenn man auf dem Button draufklickt, dass dann die Dateien darin auch aufgelistet werden und dann, wenn man darauf klickt, dass dann der inhalt der Datei angezeigt wird, kann mir jemand helfen?

Main.java

import javax.swing.*;

public class Main {
    public static void main(String[] arg) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                new Frame();
            }
        });
    }
}

Frame.java

import javax.swing.*;

public class Frame extends JFrame {
    public Frame() {
        setResizable(false);
        setSize(1000, 700);
        setDefaultLookAndFeelDecorated(true);
        setLocationRelativeTo(null);
        setTitle("JWiki.jar");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        add(new Panel());

        setVisible(true);
    }
}

Panel.java

import javax.swing.*;
import java.awt.*;

public class Panel extends JPanel { //GUI
    public Panel() {
        //Labels and Buttons
        JLabel l0 = new JLabel();
        l0.setText(".");
        l0.setBounds(0, 10, 10, 5);
        l0.setVisible(true);

        JLabel l1 = new JLabel();
        l1.setText("Downloaded Wikis");
        l1.setBounds(5, -10, 110, 50);
        l1.setVisible(true);

        JLabel l2 = new JLabel();
        l2.setText("Wiki Pages");
        l2.setBounds(120, -10, 65, 50);
        l2.setVisible(true);

        JButton b1 = new JButton();
        b1.setText("Test");
        b1.setBounds(5, 30, 101, 25);
        b1.setVisible(true);


        //Adding Labels and Buttons
        add(l0);
        add(l1);
        add(l2);

        add(b1);

        setLayout(null);
    }

    @Override
    public void paint(Graphics g) {
        super.paint(g);
        draw(g);
    } public void draw(Graphics g) {
        g.setColor(Color.black);
        g.fillRect(115, 5, 2, 700);
        g.fillRect(190, 0, 2, 700);
        g.fillRect(0, 5, 190, 2);
        g.fillRect(0, 25, 190, 2);
    }
}

Java, Code, Programmiersprache, Java Swing, IntelliJ IDEA
HTML- falscher Dateipfad, wenn ich html-datei auf Browser öffne :(?

Hallo,

mein Order hat den Dateipfad ''/home/zara/Schreibtisch/Code'' (darin HTML-datei und ein Bilderordern)

wenn ich aber die HTML Datei im Browser öffne wird in der Addresszeile der Pfad ''file:///run/user/1000/doc/7b8bb7e5/index.html'' angezeigt :-((.

Meine Bilder für die Website habe ich aber im ersten Pfad. Im zweiten Pfad ist nur die HTML Datei und ich weis NICHT wie der Ordner mit dem zweiten Pfad überhaupt entstanden ist. Ich kann den Ordner nicht löschen, würde eh nichts bringen. Den Inhalt löschen bringt auch nichts, dann ist es gelöscht und die HTML funktioniert nicht mehr auf dem browser, auch wenn ich diese HTML im und aus dem ersten Ordner des ersten Pfades öffne, so wie ich es will. Wenn ich den Inhalt des zweiten Ordners mit dem zweiten Pfads lösche, passiert nichts im ersten Ordner (HTML und Bilderordner bleiben erhalten) den ich selber angelegt habe und auch nutzen will.

Ich habe nicht versucht das Bild in den zweiten Ordner zu packen(es würde bestimmt funktionieren),weil ich diesen Ordner nicht haben möchte.

Es ist so, dass ich auf meinem Desktop (Schreibtisch genannt(Linux Ubuntu) ) einen Ordner ''Code'' und darin die index.html datei und ein Order ''Bilder'' mit einem Bild.

Ich habe die Tags und den Code richtig geschrieben denke ich (<img src="bilder/header.jpg"> oder <img src="header.jpg"> und trotzdem wird das bild nicht angezeigt, WEIL das Bild NUR im ersten Ordner mit meinem Pfad vorhanden ist aber nicht im selbständig erstellten Ordner, den ich löschen will aber nicht kann. In diesem zweiten Ordner befindet sich die HTML datei die ich dorthin niemals gespeichert hatte, aber das Bild fehlt. Und wie oben beschrieben, wenn ich die HTML datei aus dem ersten ordner öffne, wird diese aber aus dem zweiten ordner geöffnet.

Ich bin ein Wirrkopf und kann mich schlecht ausdrücken, ich hoffe man versteht was für ein Problem ich habe :)danke schonmal.

Achja, ich will wissen, wie bekomme ich den Browser dazu, dass er die HTML, die ich im ersten Ordner anklicke, auch aus diesem Ordner heraus öffnet und diesen Pfad auch anzeigt?

Bild zum Beitrag
Linux, HTML, Webseite, Code, Webdesign, Webentwicklung
Arduino Daten an HTML-Seite?

Ich habe gerade ein Projekt, indem ich versuche Daten vom Arduino auf eine HTML-Seite zu übertragen. Dabei benutze ich node.js.

Jedoch bin ich noch relativ neu in dem Thema und kenne mich nicht so gut mit Servern und node aus.

Im Moment erhalte ich ständig die Fehlermeldung: Server is not a consructor (const io = new Server('COM3'))

Quelltext aus app.js:

var http = require("http");
var fs = require("fs");
var index = fs.readFileSync("index.html");


var SerialPort = require("serialport");
const parsers = SerialPort.parsers;


const parser = new parsers.Readline({
  delimiter: "\r\n",
});


var port = new SerialPort("COM3", {
  baudRate: 9600,
  dataBits: 8,
  parity: "none",
  stopBits: 1,
  flowControl: false,
});


port.pipe(parser);


var app = http.createServer(function (req, res) {
  res.writeHead(200, {"Content-Type": "text/html"});
  res.end(index);
});


const Server = require('socket.io');
const io = new Server('COM3');


io.on("connection", function (socket) {
  console.log("Node is listening to port");
});


parser.on("data", function (data) {
  console.log("Received data from port: " + data);
  io.emit("data", data);
});

app.listen(3000);

Quelltext aus index.html:

<!doctype html>
<html>
    <head>
        <title>Test</title>


        <script src="https://cdn.socket.io/4.7.5/socket.io.min.js"></script>


    </head>
    <body>


        <h1> Communicating between an arduino and a html website</h1>


        <div id='sample'></div>


        <script>
            
            var socket = io();
            socket.on('data',function(data){
                console.log(data);
                document.getElementById('sample').innerHTML = data;
            });
            
        </script>
        
    </body>
</html>
Computer, HTML, IT, JavaScript, Anwendungsentwicklung, Arduino, Code, Programmiersprache, Webentwicklung, node.js, Visual Studio Code
php-Zugriff auf mysql funktioniert nicht?

Ich habe folgende Funktion in PHP geschrieben:

function getName($id) {
                global $conn;
                $sql = "SELECT Vorname, Nachname FROM mitglieder WHERE ID = `$id`";
                $result = $conn->query($sql);
                if ($result->num_rows > 0) {
                    $row = $result->fetch_assoc();
                    return $row['Vorname'] . " " . $row['Nachname'];
                } else {
                    return "";
                }
            }

Aber aus irgendeinem Grund kommt immer folgende Fehlermeldung:

Warning: Attempt to read property "num_rows" on bool in C:\xampp\htdocs\***********.php on line 35

Diese Variable $conn funktioniert aber an anderer Stelle im globalen Code außerhalb dieser Funktion einwandfrei wie gewünscht und ich sehe vom Code her keinen nennenswerten Unterschied.

Was ich bereits versucht habe:

  • $conn als Parameter an die Funktion zu übergeben
  • $conn in der Funktion selber zu definieren
  • $conn in der Funktion selber definieren und dass $conn im globalen Code entfernen
  • ChatGPT nach dem Fehler fragen
  • Folgende Fehlerabfrage einzubauen (dabei war $conn auch in der Funktion selber und NUR in der Funktion selber definiert):
if ($conn->connect_error) {
                die("Serverfehler: " . $conn->connect_error);
            }

Das führte aber nur zu folgender Fehlermeldung:

Warning: Attempt to read property "connect_error" on null in C:\xampp\htdocs\*********.php on line 26

Hat alles nichts geholfen. Wisst ihr wo der Fehler liegt?

Computer, Technik, SQL, HTML, Webseite, programmieren, JavaScript, Code, Datenbank, MySQL, PHP, Programmiersprache, Webentwicklung, phpMyAdmin, Programmierfehler
Html semibold und bold schauen gleich aus?

Hallo, ich arbeite aktuell an einem NextJS Projekt mit TailwindCSS. Mein Problem ist, dass Font-Weight 600 und 700, 100 bis 500 und 800 und 900 gleich ausschauen. Das ist aber auch bei einem Normalen HTML Dokument so.

Das Problem besteht in allen Browsern.
Danke für die Antwort im Vorraus.

Code zum Nachmachen:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Font Weight Test</title>
    <style>
        body {
            font-family: Arial, sans-serif; /* Using a widely available font */
        }
        .thin {
            font-weight: 100;
        }
        .light {
            font-weight: 300;
        }
        .normal {
            font-weight: 400;
        }
        .medium {
            font-weight: 500;
        }
        .semibold {
            font-weight: 600;
        }
        .bold {
            font-weight: 700;
        }
        .extrabold {
            font-weight: 800;
        }
        .black {
            font-weight: 900;
        }
    </style>
</head>
<body>
    <h1>Font Weight Test</h1>
    <p class="thin">This is thin text (100).</p>
    <p class="light">This is light text (300).</p>
    <p class="normal">This is normal text (400).</p>
    <p class="medium">This is medium text (500).</p>
    <p class="semibold">This is semibold text (600).</p>
    <p class="bold">This is bold text (700).</p>
    <p class="extrabold">This is extrabold text (800).</p>
    <p class="black">This is black text (900).</p>
</body>
</html>   
Bild zum Beitrag
HTML, Webseite, CSS, Mozilla Firefox, Google Chrome, HTML5, Code, Programmiersprache, Webdesign, Webentwicklung, Frontend, Visual Studio Code, Microsoft Edge
SSL-Paket kann nicht installiert werden. Kann mir jemand das Problem erklären?

Servus alle zusammen.

Ich habe mal wieder eins der unnötigsten Probleme die man so gar nicht gebrauchen kann.
Vorab: Ich verwende PyCharm CommunityEdit2023

Folgende Problematik stellt sich mir:Ich versuche über den PyCharm Interpreter das Paket ssl zu laden und erhalte:

Collecting ssl

 Using cached ssl-1.16.tar.gz (33 kB)

 Using cached ssl-1.15.tar.gz (32 kB)




  ERROR: Command errored out with exit status 1:

   command: 'D:\Python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\Paddy\\AppData\\Local\\Temp\\pip-install-6xunn48y\\ssl_93be5a3dfd464eefb55e12eacc1c7aae\\setup.py'"'"'; __file__='"'"'C:\\Users\\Paddy\\AppData\\Local\\Temp\\pip-install-6xunn48y\\ssl_93be5a3dfd464eefb55e12eacc1c7aae\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Users\Paddy\AppData\Local\Temp\pip-pip-egg-info-xz6xi0b2'

     cwd: C:\Users\Paddy\AppData\Local\Temp\pip-install-6xunn48y\ssl_93be5a3dfd464eefb55e12eacc1c7aae\

  Complete output (6 lines):

  Traceback (most recent call last):

   File "<string>", line 1, in <module>

   File "C:\Users\Paddy\AppData\Local\Temp\pip-install-6xunn48y\ssl_93be5a3dfd464eefb55e12eacc1c7aae\setup.py", line 33

    print 'looking for', f

       ^

  SyntaxError: Missing parentheses in call to 'print'. Did you mean print('looking for', f)?

  ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/83/21/f469c9923235f8c36d5fd5334ed11e2681abad7e0032c5aba964dcaf9bbb/ssl-1.16.tar.gz#sha256=ac21156fee6aee9eb8d765bbb16f5f49492d81ff4b22f7b8fc001d2251120930 (from https://pypi.org/simple/ssl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  ERROR: Command errored out with exit status 1:

   command: 'D:\Python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\Paddy\\AppData\\Local\\Temp\\pip-install-6xunn48y\\ssl_0d4afefa00504f218b834c3475a8235c\\setup.py'"'"'; __file__='"'"'C:\\Users\\Paddy\\AppData\\Local\\Temp\\pip-install-6xunn48y\\ssl_0d4afefa00504f218b834c3475a8235c\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Users\Paddy\AppData\Local\Temp\pip-pip-egg-info-2f8p2rk1'

     cwd: C:\Users\Paddy\AppData\Local\Temp\pip-install-6xunn48y\ssl_0d4afefa00504f218b834c3475a8235c\

  Complete output (6 lines):

  Traceback (most recent call last):

   File "<string>", line 1, in <module>

   File "C:\Users\Paddy\AppData\Local\Temp\pip-install-6xunn48y\ssl_0d4afefa00504f218b834c3475a8235c\setup.py", line 74

    print 'looking for', f

       ^

  SyntaxError: Missing parentheses in call to 'print'. Did you mean print('looking for', f)?

  ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/3a/c2/846a19d1572ec6cb8ac438d58a898de8926d32e13f0355cdf4ab00864b5f/ssl-1.15.tar.gz#sha256=1266302ce62c4b60c7ca0e1d3d104ba11d2749e5881d8ac4f006cf9a0446d589 (from https://pypi.org/simple/ssl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

ERROR: Could not find a version that satisfies the requirement ssl (from versions: 1.15, 1.16)

ERROR: No matching distribution found for ssl

WARNING: You are using pip version 21.1.3; however, version 24.0 is available.

You should consider upgrading via the 'D:\Python\python.exe -m pip install --upgrade pip' command.

Via cmd erhalte ich die gleiche Meldung.
Ich habe alle Python-Versionen schon deinstalliert, System neu gestartet und wieder installiert. Das gleiche habe ich auch mit pip probiert.

Kann mir hier vielleicht jemand weiterhelfen?

Vielen Dank und liebe Grüße im Voraus! :)

cmd, Code, Error, Python, SSL, pip, Python 3, Windows 10, Pycharm
HTML, CSS, JavaScript Animation einfügen?

Ich habe folgenden Code, der bei Klick auf ein Menüpunkt einen bestimmten Code anzeigt.

Wie implementiere ich eine Fade-In und Fade-Out Animation.

Wenn z.B. gerade Content 1 angezeigt wird und man auf den Menüpunkt 2 klickt Content 2 angezeigt wird:

  • ...dass Content 1 von Opacity 100 auf 0 geht
  • ...dass Content 1 in Minus Y-Richtung 20px bewegt wird
  • ...dass Content 2 von Opacity 0 auf 100 geht
  • ...dass Content 2 von -20px in Plus Y-Richtung 20px bewegt wird

Alles in einer Zeit von 0,3 Sekunden.

Wie mache ich das am Besten?

Danke.

<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<title>index</title>
<style>
  #wrapper_main {
    display: flex;
    width: 100%;
  }
  #wrapper_menue {
    width: 20%;
    margin-right: 10%;
  }
  #wrapper_content {
    width: 70%;
  }
  .menu-item, .submenu-item {
    cursor: pointer;
    padding: 10px;
    margin: 5px;
    background-color: #f0f0f0;
  }
  .menu-item:hover, .submenu-item:hover {
    background-color: #dddddd;
  }
  .content {
    display: none;
  }
  #submenu {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease-in-out;
  }
  #wrapper_menue:hover #submenu {
    max-height: 200px;
  }
</style>
</head>
<body>
<div id="wrapper_main">
  <div id="wrapper_menue">
    <div class="menu-item" onclick="showContent('content_1')">Menüpunkt 1</div>
    <div class="menu-item" id="menu-item-2" onclick="showContent('content_2')">
      Menüpunkt 2
      <div id="submenu">
        <div class="submenu-item" onclick="showContent('content_2_1', event)">Submenüpunkt 1</div>
        <div class="submenu-item" onclick="showContent('content_2_2', event)">Submenüpunkt 2</div>
        <div class="submenu-item" onclick="showContent('content_2_3', event)">Submenüpunkt 3</div>
        <div class="submenu-item" onclick="showContent('content_2_4', event)">Submenüpunkt 4</div>
      </div>
    </div>
    <div class="menu-item" onclick="showContent('content_3')">Menüpunkt 3</div>
  </div>
  <div id="wrapper_content">
    <div id="content_1" class="content">
      <h2>Inhalt 1</h2>
    </div>
    <div id="content_2" class="content">
      <h2>Inhalt 2</h2>
    </div>
    <div id="content_2_1" class="content">
      <h2>Inhalt 2.1</h2>
    </div>
    <div id="content_2_2" class="content">
      <h2>Inhalt 2.2</h2>
    </div>
    <div id="content_2_3" class="content">
      <h2>Inhalt 2.3</h2>
    </div>
    <div id="content_2_4" class="content">
      <h2>Inhalt 2.4</h2>
    </div>
    <div id="content_3" class="content">
      <h2>Inhalt 3</h2>
    </div>
  </div>
</div>

<script>
function showContent(id, event) {
  if (event) {
    event.stopPropagation();
  }
  var contents = document.querySelectorAll('.content');
  contents.forEach(content => {
    content.style.display = 'none';
  });
  document.getElementById(id).style.display = 'block';
}
window.onload = function() {
  showContent('content_1');
};
</script>
</body>
</html>

Animation, Technik, HTML, Webseite, CSS, JavaScript, HTML5, Code, Programmiersprache, Webdesign, Webentwicklung, Frontend, Visual Studio Code

Meistgelesene Fragen zum Thema Code