JavaScript – die neusten Beiträge

PHP MySql Login / Passwort überprüfung?

Kann mir da jemand sagen wo der Fehler liegt ? Ich bin da am verzweifeln.

Login, Registrierung, Fehlermeldung, SQL Struktur habe ich alles in die Frage gepackt damit ihr einen besseren überblick habt.

login.php:

<?php
   $server = 'localhost';
   $user = 'root';
   $psw = null;
   $dbName = 'TestApp';
try {
   $conn = new PDO('mysql:host='.$server.';dbname='.$dbName.';charset=utf8', $user, $psw);
   $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
   $conn->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);

    $username = htmlspecialchars(stripslashes(trim($_POST['username'])));
    $password = htmlspecialchars(stripslashes(trim($_POST['password'])));

    $statement = $pdo->prepare("SELECT * FROM user WHERE username = :username");
    $result = $statement->execute(array('username' => $username
                                    ));
    $user = $statement->fetch();
    //Überprüfung des Passworts
    if ($user !== false && password_verify($username, $password['passwort'])) {
        $_SESSION['userid'] = $user['id'];
        die('Login erfolgreich. Weiter zu <a href="geheim.php">internen Bereich</a>');
    } else {
        $errorMessage = "Nutzername oder Passwort war ungültig<br>";
    }

}catch (PDOException $e) {
    print "Error!: " . $e->getMessage() ;
    exit;
  }

Konsole :

<br />
<b>Warning</b>: Undefined variable $pdo in <b>C:\xampp\htdocs\Test\assets\php\login.php</b> on line <b>14</b><br />
<br />
<b>Fatal error</b>: Uncaught Error: Call to a member function prepare() on null in C:\xampp\htdocs\Test\assets\php\login.php:14
Stack trace:
#0 {main}
 thrown in <b>C:\xampp\htdocs\Test\assets\php\login.php</b> on line <b>14</b><br />

register.php

<?php
   $server = 'localhost';
   $user = 'root';
   $psw = null;
   $dbName = 'TestApp';
try {
   $conn = new PDO('mysql:host='.$server.';dbname='.$dbName.';charset=utf8', $user, $psw);
   $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
   $conn->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);

// POST wird mit AJAX gesendet
   $username = htmlspecialchars(stripslashes((trim($_POST["username"])))) ;
   $password =  password_hash(htmlspecialchars(stripslashes((trim($_POST["password"])))) ,PASSWORD_DEFAULT) ;
   $cash =     100;

// Schreibt in die Datenbank

   $sql = "INSERT INTO user (username,password,cash) VALUES (:username,:password,:cash) ";
   $sqlvars = array("username"  => $username,
   "password" => $password,
   "cash" => $cash);
   $Abfrage = $conn->prepare($sql);
   $Abfrage->execute($sqlvars);


}catch (PDOException $e) {
  print "Error!: " . $e->getMessage() . "<br/>";
  exit;
}

SQL STRUKTUR :

Datenbankname : Test

Tabelle : user , 5 Spalten/Rows

  • id | int , (auto increment)
  • username | varchar , (unique)
  • password | varchar, (gehasht mit salt sha512)
  • cash | varchar
  • time | datetime, (mit current time stamp)

und ich mache alles mit AJAX.

-PDO statt mysqli

Computer, Webseite, Programmierer, programmieren, JavaScript, Datenbank, Informatik, MySQL, PHP, Webentwicklung, Backend, phpMyAdmin, PDO

Bin ich zu blöd zum Programmieren ?

Hallo, die frage klingt vielleicht dämlich, aber ich versuche jetzt seit 2 Tagen Programmieren zu lernen. Ich möchte wirklich gerne in meiner Zukunft mit Software arbeiten und bin auch bereit meine Freizeit zum Üben zu "Opfern". Allerdings weiß ich selbst nicht so richtig wie ich anfangen soll, da ich niemanden kenne der mir helfen kann anzufangen habe ich gegoogelt, aber bin fast nur auf Seiten gestoßen die Zahlungspflichtig sind. Ich habe halt keine Ahnung wie ich üben/lernen kann. Ich bräuchte doch zunächst einmal so eine art Terminal, wo ich den Code reinschreiben könnte oder? Dann müsste ich mir eine Programmiersprache aussuchen, hier fände ich Java Script ganz interessant, aber C ++ wäre vermutlich besser, da meines Wissens nach, viele Firmen mit dieser Sprache arbeiten. Stimmt das? Und ist C + + schwer? Habe jetzt schon ein bisschen auf Internetseiten Rumprobiert, mit Java Script, und habe die Variablen auch nach 2/3 Stunden Coden nicht wirklich verstanden.Bin ich zu dumm oder geht das mehreren so? Man kann ja z.B. function name() {und so weiter} machen ,aber was kommt in die runde () Klammer? Wieso bleibt die manchmal frei und manchmal nicht? Und wie beziehe ich mich in Funktionen richtig auf Variablen? Variablen sind doch dafür da, um Zeit zu sparen oder? Weil ich so nur die Variable eintragen muss, anstatt den ganzen Text. Also sagen wir ich habe die Variable let y=x(). Wie beziehe ich mich da in einer Funktion drauf? So? : function x() {return y;} ??? Und woher weiß ich ob ich y in Klammer setzten muss oder Anführungszeichen verwenden muss? Sorry für den langen Text. Danke im vorraus.

Computer, programmieren, Java, JavaScript, Informatik

Mehrere Webseiten über ein Login System organisieren?

Ich hab mehrere Webseiten die teils über verschiedene Server verstreut sind und es wäre ziemlich lästig für jede ein eigenes zu machen also hab ich beschlossen sowas ähnliches wie oAuth nur mit PHP zu bauen, am besten so zweckmäßig wie möglich um das ganze zu erleichtern. Kann man das Konzept als fertig bezeichnen oder muss man da noch was dran ändern?

Dass man sich anmelden kann wird man auf die anmeldeseite geleitet, man gibt seine Daten ein und man wird auf die eigentliche Seite zurückgeleitet

um einen Benutzer anzumelden greift der dienst als erstes auf einen langen string zurück nennen wir es mal API Token. dieser wird während der nutzer auf die anmeldeseite geleitet wird mit post übergeben um zum einen sicherzustellen dass die webseite autorisiert dazu ist daten anzufragen und zum anderen dass das login system weiß wohin es den token und den Nutzer nach der anmeldung leiten soll. Dann meldet sich der nutzer auf der loginseite n und der nutzername und das passwort wird validiert etc. danach stellt der authentifizierungsserver das access Token aus, was beim weiterleiten wieder zurückgepostet wird. Dieses access token wird dann beim nutzer als cookie gespeichert und der Dienst der dann die Zeichenkette erhalten hat fragt dann die benötigten daten(nutzername, geburtsdatum etc.) mit curl von autentifizierungsserver ab und somit ist der nutzer angemeldet.

Das heißt ich müsste das script was prüft welchen Benutzername man hat muss mit jedem einzelnen Seitenaufruf erneut mittels dem access token den nutzernamen anfragen, eventell kann man das aber auch über nen session cookie mit nutzername regeln

Also: kann man das umsetzen oder habe ich was vergessen?

Computer, Webseite, programmieren, JavaScript, Datenbank, MySQL, PHP, Webserver

JavaScript will nicht (Text in Element ändern per onclick)?

Hallo alle miteinander,

ich tüftle derzeit daran, den Text eines Elements zu ändern, sobald im unteren Menü ein Feld angeklickt wurde. Das Ganze funktioniert jedoch nicht und ich verstehe nicht wirklich warum. Könnt ihr mir helfen den Fehler zu finden?

Die wli-Variablen sollen den neuen Text enthalten, da ich das für jemanden programmiere, der keine Ahnung von JavaScript hat und ich es somit vereinfachen wollte, das er den Text ohne etwas kaputt zu machen, bearbeiten kann.

Hier einmal der Code, an dem ich herumprobiert habe. Allerdings ohne den CSS-Teil:

<script type="text/javascript">
  wli1 = "wli1";
  wli2 = "wli2";
  wli3 = "wli3";
  wli4 = "wli4";
  wli5 = "wli5";
  wli6 = "wli6";

  function fwli1() {
    document.getElementById("werdegangcon").value = wli1;
  }

  function fwli2() {
    document.getElementById("werdegangcon").value = wli2;
  }

  function fwli3() {
    document.getElementById("werdegangcon").value = wli3;
  }

  function fwli4() {
    document.getElementById("werdegangcon").value = wli4;
  }

  function fwli5() {
    document.getElementById("werdegangcon").value = wli5;
  }

  function fwli6() {
    document.getElementById("werdegangcon").value = wli6;
  }
</script>
<div class="conh15">
  <div class="con100">
    <div class="con_top center nummer">
      <h3>Werdegang</h3>
    </div>
    <div class="con_mid center" id="werdegangcon">
      2394    Abschluss des Abiturs mit Auszeichnung</br>
      2394    Job als Haustechnikerin
    </div>
    <div class="con_bot center">
      <ul class="werdegang">
        <li id="weli1" onclick="fwli1()">vor der Akademie</li>
        <li id="weli2" onclick="fwli2()">2395</li>
        <li id="weli3"onclick="fwli3()">2399</li>
        <li id="weli4"onclick="fwli4()">2401</li>
        <li id="weli5"onclick="fwli5()">2402</li>
        <li id="weli6" onclick="fwli6()">2403</li>
      </ul>
    </div>
  </div>
</div>
HTML, programmieren, JavaScript

Node JS / Npm Fehlermeldung?

Ich wollte Robot JS installieren mit Windows (Unter Linux klappt alles super )

jedoch tritt diese Fehlermeldung auf und ich habe schon viel versucht.

Nichts hilft. https://pastebin.com/1VfKGnXx

Habe auch beim installieren von NodeJS darauf geachtet das es diese Python/C++ Pakete oder so mit installiert.

PS C:\Users\maxmustermann\Desktop\robotjs> npm install robotjs

Es installiert kurz Robot Js und dann löscht es sich wieder und dann erscheint das

Part 1:

npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
npm ERR! code 1
npm ERR! path C:\Users\maxmustermann\Desktop\robotjs\node_modules\robotjs
npm ERR! command failed
npm ERR! command C:\Windows\system32\cmd.exe /d /s /c prebuild-install || node-gyp rebuild
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using node-gyp@9.0.0
npm ERR! gyp info using node@18.3.0 | win32 | x64
npm ERR! gyp info find Python using Python version 3.10.5 found at "C:\Users\maxmustermann\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\python.exe"
npm ERR! gyp ERR! find VS
npm ERR! gyp ERR! find VS msvs_version not set from command line or npm config
npm ERR! gyp ERR! find VS VCINSTALLDIR not set, not running in VS Command Prompt
npm ERR! gyp ERR! find VS checking VS2022 (17.2.32602.215) found at:
npm ERR! gyp ERR! find VS "C:\Program Files\Microsoft Visual Studio\2022\Community"
npm ERR! gyp ERR! find VS - found "Visual Studio C++ core features"
npm ERR! gyp ERR! find VS - missing any VC++ toolset
npm ERR! gyp ERR! find VS checking VS2019 (16.11.32602.291) found at:
npm ERR! gyp ERR! find VS "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools"
npm ERR! gyp ERR! find VS - found "Visual Studio C++ core features"
npm ERR! gyp ERR! find VS - missing any VC++ toolset
npm ERR! gyp ERR! find VS could not find a version of Visual Studio 2017 or newer to use
npm ERR! gyp ERR! find VS looking for Visual Studio 2015
npm ERR! gyp ERR! find VS - not found
npm ERR! gyp ERR! find VS not looking for VS2013 as it is only supported up to Node.js 8
npm ERR! gyp ERR! find VS
npm ERR! gyp ERR! find VS **************************************************************
npm ERR! gyp ERR! find VS You need to install the latest version of Visual Studio
npm ERR! gyp ERR! find VS including the "Desktop development with C++" workload.
npm ERR! gyp ERR! find VS For more information consult the documentation at:
npm ERR! gyp ERR! find VS https://github.com/nodejs/node-gyp#on-windows
npm ERR! gyp ERR! find VS **************************************************************
npm ERR! gyp ERR! find VS

Die ganze Fehlermeldung passt hier nicht rein.

PC, Computer, Software, Technik, programmieren, JavaScript, Informatik, npm

HTML Form auswerten und neue Füllen?

Hey!

Ich habe folgende Input form:

        <form action="/calculate" method="GET">
            <br><label for="KM_cost_truck_a">KM cost truck a</label>
            <input required placeholder="10" ype="text" id="KM_cost_truck_a" name="KM_cost_truck_a"><br>
    
            <label for="KM_cost_truck_b">KM cost truck b</label>
            <input required placeholder="9" type="text" id="KM_cost_truck_b" name="KM_cost_truck_b"><br>
    
            <label for="Product_cost_a">Product cost a</label>
            <input required placeholder="7" type="text" id="Product_cost_a" name="Product_cost_a"><br>
    
            <label for="Product_cost_b">Product cost b</label>
            <input required placeholder="11" type="text" id="Product_cost_b" name="Product_cost_b"><br>
    
            <label for="Source_a_location">Source a location</label>
            <input required placeholder="Berlin" type="text" id="Source_a_location" name="Source_a_location"><br>
    
            <label for="Source_b_location">Source b location</label>
            <input required placeholder="Paris" type="text" id="Source_b_location" name="Source_b_location"><br>
    
            <label for="Truck_a_capacity">Source a capacity</label>
            <input required placeholder="5" type="text" id="Truck_a_capacity" name="Truck_a_capacity"><br>
    
            <label for="Truck_b_capacity">Source b capacity</label>
            <input required placeholder="3" type="text" id="Truck_b_capacity" name="Truck_b_capacity"><br>


            <button type="submit" id="calcbtn" value="Submit">Calculate</button>
        </form>

Die eine Anfrage an meinen Server schickt und die ergebnisse dann auf eine neue Seite kommen. (Man wirt weitergeleitet)

Wie kann ich eine neue form mit der Antwort vom server füllen?

HTML, JavaScript, Webentwicklung

Navigationsleiste auf andere html?

Hallo, ich bin ziemlich neu was Websides programmieren angeht und ich finde kein gutes tutorial dazu, wie man wenn man eine Navigationsleiste hat z.b auf Getränke klickt und dann eine andere html/css Seite mit Getränken auftaucht etc.

versuche da auxh bisschen JavaScript mit rein zubringen d.h Benutze die Navigationsleiste von Material Design Lite.

Bin da bisschen überfragt und habe keine ahnung😅

<!-- Always shows a header, even in smaller screens. -->
<div class="mdl-layout mdl-js-layout mdl-layout--fixed-header">
  <header class="mdl-layout__header">
    <div class="mdl-layout__header-row">
      <!-- Title -->
      <span class="mdl-layout-title">Title</span>
      <!-- Add spacer, to align navigation to the right -->
      <div class="mdl-layout-spacer"></div>
      <!-- Navigation. We hide it in small screens. -->
      <nav class="mdl-navigation mdl-layout--large-screen-only">
        <a class="mdl-navigation__link" href="">Link</a>
        <a class="mdl-navigation__link" href="">Link</a>
        <a class="mdl-navigation__link" href="">Link</a>
        <a class="mdl-navigation__link" href="">Link</a>
      </nav>
    </div>
  </header>
  <div class="mdl-layout__drawer">
    <span class="mdl-layout-title">Title</span>
    <nav class="mdl-navigation">
      <a class="mdl-navigation__link" href="">Link</a>
      <a class="mdl-navigation__link" href="">Link</a>
      <a class="mdl-navigation__link" href="">Link</a>
      <a class="mdl-navigation__link" href="">Link</a>
    </nav>
  </div>
  <main class="mdl-layout__content">
    <div class="page-content"><!-- Your content goes here --></div>
  </main>
</div>
Computer, Homepage, HTML, IT, Webseite, programmieren, CSS, JavaScript, Webdesign, Webentwicklung

Wie kann ich bei Javascript eine andere Zeitzone anzeigen?

Hallo,

ich habe absolut keine Ahnung von Javascript, bin aber jetzt darauf angewiesen.

Ich möchte gerne auf einer Webseite die fortlaufende Uhrzeit für ein paar Städte in verschiedenen Zeitzonen anzeigen. Bei PHP wäre das sehr einfach indem ich für Melbourne z.B. folgendes eingebe:

date_default_timezone_set('Australia/Melbourne');

Aber leider kann PHP ja keine fortlaufende Uhrzeit anzeigen

Nun habe ich dieses Javascript Programm im Internet entdeckt und das entspricht auch meinen Vorstellungen. Nur wie kann ich hier andere Zeitzonen einstellen?

   <h3>Berlin</h3>
   <p id="zeit_berlin">
       <script>
           window.setInterval("datum()",1000);

           function datum() {
              var zeit = new Date ();
              var stunde = (zeit.getHours() < 10 ? '0' + zeit.getHours() : zeit.getHours());
              var minute = (zeit.getMinutes() < 10 ? '0' + zeit.getMinutes() : zeit.getMinutes());
              var sekunde = (zeit.getSeconds() < 10 ? '0' + zeit.getSeconds() : zeit.getSeconds());
              document.getElementById("zeit_berlin").innerHTML = ' '
              + stunde + ':' + minute + ':' + sekunde;
           }

           datum();

       </script>
   </p>

Vielen Dank für jede Hilfe.

Computer, JavaScript, Zeitzonen

Meistgelesene Beiträge zum Thema JavaScript