PHP – die neusten Beiträge

Weiterleitung nach erstem Login?

Guten Tag und frohe Weihnachten. Meine Frage: ich habe vor ein paar Tagen schon einmal von einer Personengrenze in PHP gesprochen. Jedoch bin ich mit meinem Latein am Ende, da ich eher front-end Entwickler bin. Hätte vielleicht jemand einen Code-schnipsel mit dem ich nach einem Login ein timeout setze dass sich für 30 Sekunden niemand anmelden kann? Sollte dann logischerweise auf eine andere Seite weitergeleitet werden für Load-balance.
login:

<?php
include "config.php";

if(isset($_POST['but_submit'])){

    $uname = mysqli_real_escape_string($con,$_POST['txt_uname']);
    $password = mysqli_real_escape_string($con,$_POST['txt_pwd']);

    if ($uname != "" && $password != ""){

        $sql_query = "select count(*) as cntUser from users where username='".$uname."' and password='".$password."'";
        $result = mysqli_query($con,$sql_query);
        $row = mysqli_fetch_array($result);

        $count = $row['cntUser'];

        if($count > 0){
            $_SESSION['uname'] = $uname;
            header('Location: show.php');
        }else{
            echo "Falscher PIN-Code. Bitte versuche es nocheinmal oder lass es.";
        }

    }

}
?>

Crypt Seite:

 <?php
include "config.php";
$timeout = 10;

//Set the maxlifetime of the session

ini_set( "session.gc_maxlifetime", $timeout );

//Set the cookie lifetime of the session

ini_set( "session.cookie_lifetime", $timeout );

// Check user login or not
if(!isset($_SESSION['uname'])){
    header('Location: login.php');
}

// logout
if(isset($_POST['but_logout'])){
    session_destroy();
    header('Location: login.php');
}
session_start();

//Set the default session name

$s_name = session_name();


//Check the session exists or not

if(isset( $_COOKIE[ $s_name ] )) {



    setcookie( $s_name, $_COOKIE[ $s_name ], time() + $timeout, '/' );


}

else

    header("Location: login.php");

?>
programmieren, PHP

Webseite: Kennt sich jemand damit aus?

Und zwar brauche ich kurz hilfe. Ich möchte dass man im Registrier-Formular ein Profilbild auswählen kann. Wenn man Angemeldet ist, soll das eigene PB oben rechts in der Ecke angezeigt werden.

HTML-Code (Formular):

<div class="container">
      <div class="box">
		  <div class="scroll">
        <form action="" method="POST" class="login-email">
          <p class="login-text">Registrieren</p>
		<div class="profile-pic-div">
            <img src="img/default-pb.jpg" id="photo">
			<input type="file" id="file">
			<label for="file" id="uploadBtn">Profilbild Wählen</label>
          </div>
          <div class="input-group">
            <input type="text" placeholder="Benutzername" name="username" value="<?php echo $username; ?>" required>
          </div>
          <div class="input-group">
            <input type="email" placeholder="Email" name="email" value="<?php echo $email; ?>" required>
          </div>
          <div class="input-group">
            <input type="password" placeholder="Passwort" name="password" value="<?php echo $_POST['password']; ?>" required>
          </div>
          <div class="input-group">
            <input type="password" placeholder="Wiederhole das Passwort" name="cpassword" value="<?php echo $_POST['cpassword']; ?>" required>
          </div>
          <div class="input-group">
           <button name="submit" class="login-btn">Registrieren</button>
          </div>
          <p class="login-register-text">Du hast bereits ein Konto? <a href="https://www.klexxstube.com/anmelden">Melde dich an</a></p>
        </form>
			 </div>
      </div>
    </div>

Hier der Code zum Wechseln vom PB (JS):

const imgDiv = document.querySelector('.profile-pic-div');
const img = document.querySelector('#photo');
const file = document.querySelector('#file');


file.addEventListener('change', function() {
	const choosedFile = this.files[0];
	
	if (choosedFile) {
		
		const reader = new FileReader();
		
		reader.addEventListener('load', function() {
			img.setAttribute('src', reader.result);
		});
		
		reader.readAsDataURL(choosedFile);
	}
});

Vielleicht habt ihr auch eine komplett andere Version wie man so etwas schaffen kann.

LG Klexxsy

Bild zum Beitrag
Webseite, programmieren, JavaScript, PHP

Wie überprüfe ich mit JS oder PHP welche HTML Checkbox in einem Form ausgewählt wurde, bevor es abgesendet wurde?

Wie in der Langen Frage geschrieben, ich suche Code der es mir ermöglicht über Java Skript oder PHP auszuwerten welche Checkbox geklickt wurde.

            <input type="checkbox" class="radio-multichoice" name="abteilung:1">

            <label for="frei" align="center"><strong> Abteilung FF </strong></label><br>

            <input type="checkbox" class="radio-multichoice" name="abteilung:1">

            <label for="workS" align="center"><strong> Abteilung W </strong></label><br>

            <input type="checkbox" class="radio-multichoice" name="abteilung:1">

            <label for="MO" align="center"><strong> Abteilung O </strong></label><br>

Im allgemeinen Nutze ich bereits die Funktion in JS damit der User nur ein Element auswählen kann. Doch nun bräuchte ich eine Direkte Ausgabe je nachdem welches Element ausgewählt wurde. D.h. Ich suche eine Möglichkeit auszuwerten welches angeklickt wurde und dann möchte ich etwas ausführen über if, eles if, else.

Falls es helfen sollte hier habe ich die Begrenzung Methode für das anklicken.

   //Dieser Code überprüft ob drei Elemente ausgewählt wurden. Wenn dies der fall ist dann werden alle weiteren Element Blockiert.

   const groups = [...document.getElementsByClassName("radio-multichoice")].reduce((result, element) => {

 result[element.name] = result[element.name] || [];

 result[element.name].push(element);

 return result;

}, {});

for (const [name, elements] of Object.entries(groups)) {

 const limit = name.split(":")[name.split(":").length-1];

 for(const el of elements) {

  el.addEventListener("change", e => {

   if (elements.filter(x => x.checked).length > limit) {

     e.target.checked = false;

   }

  });

 }

}

Könnte mir dabei jemand Helfen, falls ihr nachfragen habt weil ich es mal wieder nicht richtig erklären konnte stellt bitte eine Nachfrage.

Computer, HTML, Webseite, programmieren, JavaScript, PHP, Webentwicklung

Wie kann ich Zeilenumbrüche in einer E-Mail einfügen (PHP)?

Hallo,

ich habe mit HTML und PHP ein Kontaktformular erstellt, welches mir per E-Mail zugesendet wird.

Die einzelnen Felder in der E-Mail werden aber einfach hintereinander weg geschrieben und ich möchte Absätze nach jedem Feld einfügen, damit die E-Mail etwas schöner aussieht.

Hier der Code:

if (isset($_POST["submit"])) {
  mail("email-adresse", "Kontaktformular", 'Firma: '.$_POST["Firma"].'Branche: '.$_POST["Branche"].'Anrede: '.$_POST["Anrede"].
  'Name: '.$_POST["Name"].'Straße: '.$_POST["Straße"].'PLZ, Ort: '.$_POST["PLZ,Ort"].'Telefon: '.$_POST["Telefon"].'E-Mail: '.$_POST["E-Mail"].'Anmerkung: '.$_POST["Anmerkung"]);
?>
<h1 class="erfolg">Danke für Ihre Anfrage!</h1>
<?php
  }
?>
<form action="Kontakt.php" method="post">
  <legend>Kontaktformular</legend>
  <br>
  <!-- Titel für Eingabefelder -->
  <p>
    <label>Firma</label><br>
    <input type="text" name="Firma">
  </p>
  <p>
    <label>Branche</label><br>
    <input type="text" name="Branche">
  </p>
  <p>
    <label for="Anrede">Anrede*</label><br>
    <select name="Anrede" required>
      <option></option>
      <option>männlich</option>
      <option>weiblich</option>
      <option>divers</option>
    </select>
  </p>
  <p>
    <label>Name*</label><br>
    <input type="text" name="Name" required placeholder="">
  </p>
  <p>
    <label>Straße</label><br>
    <input type="text" name="Straße">
  </p>
  <p>
    <label>PLZ, Ort</label><br>
    <input type="text" name="PLZ, Ort">
  </p>
  <p>
    <label>Telefon</label><br>
    <input type="text" name="Telefon">
  </p>
  <p>
    <label>E-Mail*</label><br>
    <input type="email" name="E-Mail" required>
  </p>
  <p>
    <label>Anmerkung</label><br>
    <textarea rows="10" name="Anmerkung" placeholder=".">
    </textarea>
  </p>
  <p>
    <button type="submit" name="submit"><a>Versenden!</a></button>
  </p>
</form>
E-Mail, HTML, IT, Webseite, programmieren, PHP

Css datei not found 404?

Hey,

ich bin gerade dabei eine kleine Webseite mit PHP zu erstellen (MNit Xampp und visual studio code). Ich habe meine Webseite in mehreren Dateien aufgeteilt, damit ich einen besseren Übersicht habe aber leider ist ein Fehler aufgetreten. Die css Dateien werden nicht geladen. Ich weiß nicht , woran es liegt denn die Pfaden zu den Dateien stimmen alle aber sie werden trotzdem nicht gefunden bzw. geladen und ausgeführt. Also die Seite ist dann nicht gestylt.

----------------header.php-----------------------------
<!DOCTYPE html>
<html lang="en">
<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">
    <link rel="stylesheet" href="../css/header.css">
    <link rel="stylesheet" href="../css/index.css">
    <title>Own Website</title>
</head>
<body>
    <header class="header">
        <div class="logo">
            <h2>Mode</h2>
        </div>
        <ul class="menu">
            <li class="items"><a href="#" class="links">Home</a></li>
            <li class="items"><a href="#" class="links">About</a></li>
            <li class="items"><a href="#" class="links">Service</a></li>
            <li class="items"><a href="#" class="links">Login</a></li>
        </ul>
    </header>
</body>
</html>

------------------------index.php-------------------
<?php include("./templates/header.php"); ?
---------------header.css--------------------

* {
    margin: 0;
    padding: 0;
}




body {

    background-color: #212121;

}



Meine Ordner Struktur

Die Fehlermeldung:

Diese Fehlermeldung bekomme ich, wenn ich mir den Seitenquelltext anschauen möchte und dann die css Datei aufmachen will. Die wird nicht gefunden.

Ich hoffe, dass ich das Problem halbwaches erklären konnte.

Danke im Voraus

Bild zum Beitrag
Computer, Technik, HTML, Webseite, programmieren, CSS, PHP, Webentwicklung

Php array Werte zuordnen?

Hallo ich hätte noch eine kurze Frage:

Ich habe eine JSON Ausgabe (siehe Bild1), in der jedem Tag gemessene Werte zum Schlaf angelegt sind. Jetzt möchte ich jedem Tag (["date"], in gelb markiert, die drei jeweiligen Messwerte ["wakeupcount"], ["total_timeinbed"] und ["total_sleep_time"] (in rot markiert) zuordnen. Das "date" habe ich als array angelegt. Die drei Messwerte sind jedoch "objects". Nachdem ich die Messwerte ausgelesen habe, möchte ich diese in meiner Datenbank entsprechend anlegen (letzter Teil meines Codes).

Bild 1:

Dazu verwende ich folgenden Code (Zur besseren Übersicht habe ich dieses mal nur den [wakeupcount] Messwert in den Code gepackt):

{
    $sleepanalyzer_sum_result = array();


    foreach ($sleepanalyzer_sum_data->body->series as $serie) {
        $sleepanalyzer_sum_result[$serie->date] = $measure;
        $sleepanalyzer_sum_result[$serie->data->wakeupcount] = $wakeupcount;


    }


    echo "<pre>";
    print_r($sleepanalyzer_sum_result);
    echo "</pre>";


    foreach ($sleepanalyzer_sum_result as $date => $measures) {


        $sleepanalyzer_sum_query .= "INSERT INTO sleepanalyzer_sum_measures SET
                wakeupcount ='" . $wakeupcount . "',
                measure_timestamp =  '" . $date . "'
                                ;";
    }
    echo "<pre>";
    echo $sleepanalyzer_sum_query;
    echo "</pre>";
}

Meine Ausgabe sieht folgendermaßen aus:

Dabei habe ich das Problem, dass die einzelnen Messwerte nun auch als array angelegt sind. Wie schaffe ich es, dass diese jedoch dem einzelnen Datum als object zugeordnet werden? Dadurch passiert auch beim Einlesen der Datenbank der Fehler, dass ich die richtigen Werte nicht den richtigen Begriffen in meiner Tabelle zuordnen kann.

Vielen Dank!

Bild zum Beitrag
Computer, Array, Datenbank, PHP

mysqli_num_rows funktioniert nicht?

Hallo ich wollte etwas auf Strato hosten. Jedoch funktioniert mysqli_num_rows nicht.

Weiß jemand wie ich den Fehler beheben kann.

Hier die Fehler meldung:

Connected successfully Fatal error: Uncaught TypeError: mysqli_num_rows(): Argument #1 ($result) must be of type mysqli_result, bool given in /mnt/web016/e0/16/511052116/htdocs/cgi-bin/Inventar/index.php:28 Stack trace: #0 /mnt/web016/e0/16/511052116/htdocs/cgi-bin/Inventar/index.php(28): mysqli_num_rows() #1 {main} thrown in /mnt/web016/e0/16/511052116/htdocs/cgi-bin/Inventar/index.php on line 28

Und mein Code:

<?php session_start:
require_once('dbconnection.php');
$servername = "...";
$username = "...";
$password = "...";


// Create connection
$con = new mysqli($servername, $username, $password);


// Check connection
if ($con->connect_error) {
  die("Connection failed: " . $con->connect_error);
}
echo "Connected successfully";
error_reporting(E_ALL);
ini_set('display_errors', true);
ini_set('mysql.trace_mode', true);








//Code for Registration 
if(isset($_POST['signup']))
{
	$fname=$_POST['fname'];
	$lname=$_POST['lname'];
$sql=mysqli_query($con,"select id from users where fname='$fname'");
$row=mysqli_num_rows($sql);
if($row>3)
{
	echo "<script>alert('Artikel befindet sich schon 3 mal in der Truhe');</script>";
} else{


	$msg=mysqli_query($con,"insert into users(fname,lname) values('$fname','$lname')");
}
if($msg)
{
	echo "<script>alert('Erfolgreich Eingetragen');</script>";
}
}


?>


PHP, Strato

Meistgelesene Beiträge zum Thema PHP