PHP – die neusten Beiträge

Fehlermeldung bei Phpmyadmin?

hallo ich habe ihr bei phphmyadmin diese fehler meldung und jetzt kein ich keine rechte mehr änder .

kann mir jeman helfen?

Warning in .\libraries\classes\Dbal\DbiMysqli.php#209

mysqli::query(): (HY000/1034): Fehlerhafte Index-Datei für Tabelle 'db'; versuche zu reparieren

Backtrace

DbiMysqli.php#209: mysqli->query(

string 'SELECT * FROM `mysql`.`db` WHERE `User` = \'shop\' AND `Host` = \'%\' ORDER BY `Db` ASC',

integer 0,

)

DatabaseInterface.php#219: PhpMyAdmin\Dbal\DbiMysqli->realQuery(

string 'SELECT * FROM `mysql`.`db` WHERE `User` = \'shop\' AND `Host` = \'%\' ORDER BY `Db` ASC',

,

integer 0,

)

DatabaseInterface.php#177: PhpMyAdmin\DatabaseInterface->tryQuery(

string 'SELECT * FROM `mysql`.`db` WHERE `User` = \'shop\' AND `Host` = \'%\' ORDER BY `Db` ASC',

integer 256,

integer 0,

boolean true,

)

Privileges.php#1747: PhpMyAdmin\DatabaseInterface->query(string 'SELECT * FROM `mysql`.`db` WHERE `User` = \'shop\' AND `Host` = \'%\' ORDER BY `Db` ASC')

Privileges.php#1834: PhpMyAdmin\Server\Privileges->getUserSpecificRights(

string 'shop',

string '%',

string 'database',

string '',

)

Privileges.php#3125: PhpMyAdmin\Server\Privileges->getHtmlForAllTableSpecificRights(

string 'shop',

string '%',

string 'database',

)

PrivilegesController.php#460: PhpMyAdmin\Server\Privileges->getHtmlForUserProperties(

boolean false,

string '',

string 'shop',

string '%',

string '',

string '',

)

Routing.php#192: PhpMyAdmin\Controllers\Server\PrivilegesController->__invoke(

,

array,

)

index.php#43: PhpMyAdmin\Routing::callControllerForRoute(

,

string '/server/privileges',

,

,

)

Computer, MySQL, PHP, phpMyAdmin

Login verbessern mit AJAX/PHP?

Ich habe ein Login gebaut. Jenen sollen wir nun ausschließlich mit AJAX verbessern. (Wir dürfen dabei nicht sowas wie JQUERY verwenden. Das wissen fehlt uns aber dafür an meisten. Vielleicht kann jemand mir dabei helfen mein Login umzubauen und zu verstehen was ich mache.

Mein Login-Quelltext:

<?php
$pdo = new PDO('mysql:host=localhost;dbname=phptest', 'root', '');

if(isset($_GET['login'])) {
  $email = $_POST['Email'];
  $passwort = $_POST['Passwort'];

  $statement = $pdo->prepare("SELECT * FROM login WHERE Email = :Email");
  $result = $statement->execute(array('Email' => $email));
  $user = $statement->fetch();

  //Überprüfung des Passworts
  if ($user !== false && password_verify($passwort, $user['Passwort'])) {
    $_SESSION['userid'] = $user['ID'];
    die('Login erfolgreich. Weiter zu <a href="index.php?site=Startseite">internen Bereich</a>');
  } else {
    $errorMessage = "E-Mail oder Passwort war ungültig<br>";
  }

}
?>
<!DOCTYPE html>
<html>
<head>
  <title>Login</title>
</head>
<body>

<?php
if(isset($errorMessage)) {
  echo $errorMessage;
}
?>

<form action="Loginseite.php?login=1" method="post">
  E-Mail:<br>
  <input type="email" size="40" maxlength="250" name="Email" required><br><br>

  Dein Passwort:<br>
  <input type="password" size="40" maxlength="250" name="Passwort" required><br>

  <input type="submit" value="Login">
</form>
</body>
</html>
Computer, HTML, programmieren, JavaScript, AJAX, PHP, Webdesign

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

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

Linux Debian 9 Stretch Installiert PHP8 nicht?

Moin Leute habe jede Anleitung im Internet probiert aber ich bekomme immer wieder den gleichen Fehler ich habe keine ahnung mehr was ich noch machen oder versuchen kann?!

Ign:1 https://packages.sury.org/php stretch InRelease
Ign:2 https://packages.sury.org/php stretch Release
Holen:3 ftp://ftp.de.debian.org/debian stretch InRelease
Ign:4 https://packages.sury.org/php stretch/main all Packages
Ign:5 https://packages.sury.org/php stretch/main amd64 Packages
Ign:3 ftp://ftp.de.debian.org/debian stretch InRelease
Ign:6 https://packages.sury.org/php stretch/main Translation-de
OK:7 ftp://ftp.de.debian.org/debian stretch Release
Ign:8 https://packages.sury.org/php stretch/main Translation-de_DE
Ign:9 https://packages.sury.org/php stretch/main Translation-en
Ign:4 https://packages.sury.org/php stretch/main all Packages
Ign:5 https://packages.sury.org/php stretch/main amd64 Packages
Ign:6 https://packages.sury.org/php stretch/main Translation-de
Ign:8 https://packages.sury.org/php stretch/main Translation-de_DE
Ign:9 https://packages.sury.org/php stretch/main Translation-en
Ign:4 https://packages.sury.org/php stretch/main all Packages
Ign:5 https://packages.sury.org/php stretch/main amd64 Packages
Ign:6 https://packages.sury.org/php stretch/main Translation-de
Ign:8 https://packages.sury.org/php stretch/main Translation-de_DE
Ign:9 https://packages.sury.org/php stretch/main Translation-en
Ign:4 https://packages.sury.org/php stretch/main all Packages
Ign:5 https://packages.sury.org/php stretch/main amd64 Packages
Ign:6 https://packages.sury.org/php stretch/main Translation-de
Ign:8 https://packages.sury.org/php stretch/main Translation-de_DE
Ign:9 https://packages.sury.org/php stretch/main Translation-en
Ign:4 https://packages.sury.org/php stretch/main all Packages
Ign:5 https://packages.sury.org/php stretch/main amd64 Packages
Ign:6 https://packages.sury.org/php stretch/main Translation-de
Ign:8 https://packages.sury.org/php stretch/main Translation-de_DE
Ign:9 https://packages.sury.org/php stretch/main Translation-en
Ign:4 https://packages.sury.org/php stretch/main all Packages
Fehl:5 https://packages.sury.org/php stretch/main amd64 Packages
  403  Forbidden
Ign:6 https://packages.sury.org/php stretch/main Translation-de
Ign:8 https://packages.sury.org/php stretch/main Translation-de_DE
Ign:9 https://packages.sury.org/php stretch/main Translation-en
Paketlisten werden gelesen... Fertig
W: The repository 'https://packages.sury.org/php stretch Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: Fehlschlag beim Holen von https://packages.sury.org/php/dists/stretch/main/binary-amd64/Packages  403  Forbidden
E: Einige Indexdateien konnten nicht heruntergeladen werden. Sie wurden ignoriert oder alte an ihrer Stelle benutzt.


Computer, Linux, PHP, Debian 9

Wie gebe ich bei PHP mehrere Bedingungen in einer Schleife ein?

Hallo,

ich möchte gerne 2 Bedingungen in einer PHP for – Schleife unterbringen.

Dazu habe ich mich an diese Anleitung gehalten und die beiden Bedingungen mit dem && Operator verknüpft.

https://www.php.de/forum/webentwicklung/php-einsteiger/php-tipps-2006/41760-while-schleife-mit-mehreren-bedingungen

Trotzdem bekomme ich ständig die Fehlermeldung, das PHP kein ; (Strichpunkt) erwartet, sondern eine schließende runde Klammer.

Mein Editor zeigt mir den Fehler in der zweiten for – Schleife bei der Variablen $tageszahl an. Dort wird der Strichpunkt bemängelt.

Desweiteren habe ich versucht, beide Bedingungen zusätzlich in runde Klammern zu setzten. Da wird dann außer dem Strichpunkt auch noch der && Operator bemängelt.

Hier ist mein Code:

        <table border="1">
            <tr>
                <th>Mo</th>
                <th>Di</th>
                <th>Mi</th>
                <th>Do</th>
                <th>Fr</th>
                <th>Sa</th>
                <th>So</th>
            </tr>
        <?php 
            
            $reihen = 6;
            $zellen = 7; 
            $enddatum_monat = date("t");
            
            for($tr = 1; $tr <= $reihen; $tr++ ) {
                echo "<tr>";
                for($td = 1; $td <= $zellen; $td++ && $tageszahl = 1; $tageszahl <= $eintrag; $tageszahl++)  {
                    echo "<td> $tageszahl </td>"; 
                }
                
                echo "</tr>";
            }           

        ?>
        </table>

Es wäre nett, wenn mir jemand zeigen würde, wie mehrere Bedingungen korrekt in einer Schleife untergebracht werden.

Danke

Computer, programmieren, Schleifen, PHP

HTML Kontaktformular per PHP an Mail senden?

Hallo, ich hab ein Kontaktformular in HTML erstellt bei dem man auch Dateien hochladen kann. Ich hab es auch schon so eingestellt dass alle Daten (Antworten) an mich per Mail gesendet werden, allerdings schaffe ich es nicht dass auch die Dateien als Anhang in der Mail mit gesendet werden, kann mir dabei jemand helfen?

Hier mein Code:

<!DOCTYPE html>
<html>
  <head>
    <link rel="stylesheet" href="style.css" type="text/css">
    <title>NAME | Kontakt</title>
    <meta charset="utf-8">
   </head>
   <body>
    <div id="wrapper">
      <header><a href="index.html"><img src="bilder/logo vorschau.png" alt="Das Logo konnte nicht geladen werden!"></a></header>


      <nav>
        <ul>
          <li><a href="index.html">Home</a></li>
          <li><a href="ueber.html">Über</a></li>
          <li><a href="kontakt.html"><b>Kontakt</b></a></li>
        </ul>
      </nav>


      <section>
        <div id="kontaktformular">
          <h1>Wie können wir dir helfen?</h1>
          <?php
          if(isset($_POST["submit"])){
            mail("reinhard.habisohn@icloud.com", "Kontaktformular von ".$_POST["name"], 'Name: '.$_POST["name"].' ||  Email: '.$_POST["email"].' ||  Telefonnummer: '.$_POST["telefon"].' ||  Priorität: '.$_POST["priorität"].' ||  Betreff: '.$_POST["betreff"].' ||  Nachricht: '.$_POST["message"]);
            ?>
            <em><h1 style="color: green;">Deine Anfrage wurde erfolgreich versendet!</h1><a>(Die Antwort senden wir dir an die angegebene E-Mail Adresse!)</a></em>
            <?php
          }
           ?>
          <form action="index.php" method="post" enctype="multipart/form-data">
            <br><label>Name:</label><br>
            <input type="text" name="name" required><br>
            <br><label>E-Mail:</label><br>
            <input type="email" name="email" required><br>
            <br><label>Telefonnummer (optional):</label><br>
            <input type="number" name="telefon"><br>
            <br><label>Wichtigkeit:</label><br>
            <select name="priorität" required>
              <option value"gering">Gering</option>
              <option value"mittel">Mittel</option>
              <option value"hoch">Hoch</option>
            </select><br>
            <br><label>Betreff:</label><br>
            <input type="text" name="betreff" required><br>
            <br><label>Nachricht:</label><br>
            <textarea rows="7" name="message" required></textarea><br>
            <br><label>Anhang (optional):</label><br>
            <input type="file" name="datei[]" multiple><br>
            <br><button type="submit" name="submit">Absenden</button>
          </form>
        </div>
      </section>
    </div>
  </body>   
</html>

Vielen Dank im Vorhinein!

Computer, HTML, Kontakt, PHP, kontaktformular

PHP dynamisch mit unterschiedlichen Datenbanken verbinden?

Hallo!

Folgende Situation:

Es gibt mehrere Datenbanken. Eine für alle Installationen meines Projektes (beinhaltet Zugangsdaten für Schul-DB's) und dann weitere, schulspezifische Datenbanken, in denen jeweils andere Dinge stehen (wie zum Beispiel Schüler mit ihren Logindaten, etc.)

Der Benutzer ruft also eine Loginseite auf und gibt eine Schul-ID ein. Nach Buttonklick wird die an ein PHP-Skript übergeben, welche dann aus der Datenbank aller Instanzen die entsprechenden Zugangsdaten für die schulspezifische Datenbank ausliest (anhand der Schul-ID).

Anschließend sollen diese als Variable gesetzt werden, sodass von überall in diesem Skript darauf zugegriffen werden kann. Dabei soll das Ganze allerdings nur für diese Session ersetzt werden und nicht in der Datei. Sodass andere Schüler andere Schul-ID's und damit auch andere Schul-DB's verwenden können.

Wenn der Benutzer dann auf der Loginseite seinen Benutzernamen und sein Passwort eingibt, wird dieses wieder an das PHP-Skript übergeben, welches nun in der schulspezifischen DB nachschaut, ob dort der entsprechende Nutzer existiert.

Folgendes Schema habe ich bis jetzt:

class DB {
  private static $_api_username = "root";
  private static $_api_password = "";
  private static $_api_host = "localhost";
  private static $_api_name = "programmingnow_host";
  private static $_api;

  private static $_db_username = $_SESSION['school_db_user'];
  private static $_db_password = $_SESSION['school_db_pass'];
  private static $_db_host = "localhost";
  private static $_db_name = $_SESSION['school_db_name'];
  private static $_db;

  function __construct() {
    try {
      self::$_api = new PDO("mysql:host=" . self::$_api_host . ";dbname=" . self::$_api_name . ";charset=utf8mb4",  self::$_api_username , self::$_api_password);

      if (isset($_SESSION['school_db_name'])) {
        self::$_db = new PDO("mysql:host=" . self::$_db_host . ";dbname=" . self::$_db_name . ";charset=utf8mb4",  self::$_db_username , self::$_db_password);
      }
    }
    catch(PDOException $e) {
      echo "Datenbankverbindung gescheitert!";
      die();
    }
  }
  
  function connectToSchoolDB($school_id) {
    $stmt = self::$_api->prepare("SELECT instance_db_name, instance_db_user, instance_db_pass FROM instances WHERE instance_key=:instance_key");
    $stmt->bindParam(":instance_key", $school_id);
    $stmt->execute();
    $result = $stmt->fetch();
    $result['instance_db_name'] = $_SESSION['school_db_name'];
    $result['instance_db_user'] = $_SESSION['school_db_user'];
    $result['instance_db_pass'] = $_SESSION['school_db_pass'];
  }

  [..] // Der ganze Rest an Funktionen (wie Login)
} 

Der obige Code funktioniert aber nicht.

Könnt ihr mir da helfen? Wie kann ich das realisieren bzw. wo liegt der Fehler?

Danke schon einmal im Voraus!

VG!

Computer, Technik, HTML, Webseite, programmieren, MySQL, PHP, Technologie, Webentwicklung

PHP Warning: Undefined array key "status"?

Hey,

Ich habe ein Array in PHP programmiert, welches per MySQL alle Sachen selektiert.

Nun werden aber die Arrays nicht gefunden.

Code:

$stmt = $link->prepare('SELECT * FROM tickets ORDER BY created DESC');
$stmt->execute();
$resultSet = $stmt->get_result();

// pull all results as an associative array
$tickets = $resultSet->fetch_all();

<?php foreach ($tickets as $ticket): ?>
  <a href="view.php?id=<?= $ticket['id'] ?>" class="ticket">
    <span class="con">
      <?php if ($ticket['status'] == 'open'): ?>
        <i class="far fa-clock fa-2x"></i>
      <?php elseif ($ticket['status'] == 'resolved'): ?>
        <i class="fas fa-check fa-2x"></i>
      <?php elseif ($ticket['status'] == 'closed'): ?>
        <i class="fas fa-times fa-2x"></i>
      <?php endif; ?>
    </span>
    <span class="con">
      <span class="title"><?= htmlspecialchars($ticket['title'], ENT_QUOTES) ?></span>
      <span class="msg"><?= htmlspecialchars($ticket['msg'], ENT_QUOTES) ?></span>
    </span>
    <span class="con created"><? date('F dS, G:ia', strtotime($ticket['created'])) ?></span>
  </a>

Fehler:

C:\xampp\htdocs\ticket.php on line 271
" class="ticket">
Warning: Undefined array key "status" in C:\xampp\htdocs\ticket.php on line 273

Warning: Undefined array key "status" in C:\xampp\htdocs\ticket.php on line 275

Warning: Undefined array key "status" in C:\xampp\htdocs\ticket.php on line 277

Warning: Undefined array key "title" in C:\xampp\htdocs\ticket.php on line 282

Warning: Undefined array key "msg" in C:\xampp\htdocs\ticket.php on line 283

Kann mir jemand sagen, ob ich etwas übersehen habe?

Computer, Webseite, programmieren, MySQL, PHP, Webentwicklung

Php Hashen mit "Salz" / PASSWORD_DEFAULT?

$password = "passwort";
$hashed = password_hash($password, PASSWORD_DEFAULT);
if(password_verify($password, $hashed)){
    echo $hashed;
}

Also so würde ich jetzt den string "passwort" hashen mit etwas vollkommen zufälligem / salz und es zb auf meiner datenbank speicher, alles schön und gut.

Jetzt kommt das große aber, wenn ich die Seite von irgendwo anders aufrufe. Dann mich einloggen will wird das eingegebene wieder gehasht mit einem salz um es mit der sql datenbank abzugleichen.

Das geht aber garnicht weil dieses Salz doch immer ein anderer ist wenn ihr versteht was ich meine.

Hashes ohne salz vergleichen kriege ich schonmal ohne probleme hin.

zum beispiel so würde mein login/abgleich mit der datenbank aussehen :

if(isset($_POST["username"]) && isset($_POST["password"])){

$hash = hash("sha512", $_POST["password"]);

$mysqli1 = new mysqli($servername, $user, $pw, $db);
$result = $mysqli1->query('SELECT id FROM user WHERE username = "'. $_POST["username"]. '"  ');
$result1 = $mysqli1->query('SELECT id FROM user WHERE password = "'. $hash. '"  ');

if($result->num_rows == 1 and $result1->num_rows == 1 ) {
  echo "Login erfolreich"; 
} else {
    echo "Falsches Passwort oder Nutzername";
}
$mysqli1->close();
}

Hab jetzt mysqli benutzt weil es irgendwie übersichtlicher ist, und ob das anfällig für Sql Injections oder so ist spielt eigentlich keine rolle erstmal. Manche stört das

PC, Server, Computer, Technik, Web, Webseite, programmieren, Passwort, Hash, Informatik, IT-Sicherheit, Kryptographie, MySQL, PHP, Programmiersprache, Technologie, web-development, Web Developer

PHP Error durch require()?

Hi, ich raff grad gar nix mehr, ich hab eine PHP Klasse dbConnection, in der ich mit require ein php File (settings.php) einbinde. Das einbinden funktioniert auch, nur binde ich innerhalb von settings.php ein weiteres php File ein, functions.php. Das wiederrum funktioniert nicht. Ich weiß, meine Erklärung ist bissle kompliziert, daher hier der Code:

dbConnection.php

<?php

try {
    require dirname($_SERVER["DOCUMENT_ROOT"]) . "/php/settings/settings.php";
} catch (Throwable|mysqli_sql_exception $exception) {
    error_log(date("d.m.Y, H:m:s") . " | " . $exception . "\n\n", 3, "/hp/cz/aa/gf/www/domains/domain.com/php/logs/php-errors.log");
    header("location: /error/?error=500");
    exit();
}

class dbConnection
{
...
}

settings.php

<?php

try {
    date_default_timezone_set("Europe/Berlin");
    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
    require dirname($_SERVER["DOCUMENT_ROOT"]) . "/php/functions/functions.php";
} catch (Throwable|mysqli_sql_exception $exception) {
    error_log(date("d.m.Y, H:m:s") . " | " . $exception . "\n\n", 3, "/hp/cz/aa/gf/www/domains/domain.com/php/logs/php-errors.log");
    header("location: /error/?error=500");
    exit();
}

hier die relevanten Pfade:

domain.com/php/classes/dbConnection.php

domain.com/php/settings/settings.php

domain.com/php/functions/functions.php

Der Fehler muss an der in settings.php Datei liegen, da ich schon einmal vor und nach dem require in settings.php ein die("hier"); gemacht habe und dabei als das die("hier"); VOR dem

require dirname($_SERVER["DOCUMENT_ROOT"]) . "/php/functions/functions.php";

"hier" ausgegeben hat, und NACH dem

require dirname($_SERVER["DOCUMENT_ROOT"]) . "/php/functions/functions.php";

mir angezeigt wurde, dass diese Seite nicht funktionieren würde. Komisch ist auch, dass der Fehler nicht aufgefangen wird, daher bin ich gerade etwas ratlos. Hoffe meine Frage ist verständlich, ansonsten gerne einfach nachfragen :)

Computer, Internet, HTML, Webseite, programmieren, MySQL, PHP

Verbindung zur Datenbank checken - PHP?

Hi, ich hab folgende Funktion in einer Klasse dbConenction:

private mixed $connection;

public function __construct()
{
    return $this->connect();
}

private function connect()
{
    try {
        $host = "localhost";
        $username = "USER_NAME";
        $pwd = "PWD";
        $database = "DB_NAME";
        $this->connection = new mysqli($host, $username, $pwd, $database);

        if ($this->connection->connect_error) {
            throw new Exception("Connection to database failed. | " . $this->connection->connect_error);
        }
        return $this->connection;
    } catch (Exception $exception) {
        $this->connection = null;
        databaseErrorHandling($exception);
        return null;
    }
}

Die Verbindung zur Datenbank funktioniert auch, ich kann Queries ausführen. Doch mein Problem, wenn ich zum Beispiel den Username für die Datenbank ändere, soll eigentlich durch

if ($this->connection->connect_error)

eine Exception geworfen werden, weil die Verbindung ja nicht aufgebaut werden kann, da der Username falsch ist. Das Gleiche funktioniert auch nicht, wenn ich zum Beispiel das Passwort ändere. Hab in den Docs von PHP nachgelesen und dort haben die das genauso gemacht...

$servername = "localhost";
$username = "username";
$password = "password";

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

// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

Jemand eine Idee, warum das nicht funktioniert, so wie es funktionieren sollte :D, oder Verbesserungsvorschläge?

Danke für jede Hilfe!!!

Computer, SQL, HTML, Webseite, programmieren, Datenbank, MySQL, PHP

Javascript nach Button Klick auf andere Webseite leiten?

Moin!

Ich hab folgende Frage: Wie kann ich es realisieren, dass, wenn ich auf den Success Button klicke, ich dann auf eine andere Seite geleitet werde? Der Link dahin ist auch ein Teil dynamischer PHP Code. Ihr werdet es sehen :)

Hier mein Code:

"use strict";!function(){const n=document.querySelector(".suspend-user"),t=(n&&(n.onclick=function(){Swal.fire({title:"Bist du sicher?",text:"Du kannst diesen Benutzer nicht wiederherstellen!",icon:"warning",showCancelButton:!0,confirmButtonText:"Fortsetzen",cancelButtonText:"Abbrechen",customClass:{confirmButton:"btn btn-primary me-2",cancelButton:"btn btn-label-secondary", text:"Abrechen"},buttonsStyling:!1}).then(function(n){n.value?Swal.fire({icon:"success",title:"Benutzer gelöscht!",text:"Der Benutzer wurde gelöscht.",customClass:{confirmButton:"btn btn-success"}}):n.dismiss===Swal.DismissReason.cancel&&Swal.fire({title:"Vorgang abgebrochen",text:"Der Benutzer wurde nicht gelöscht.",icon:"error",customClass:{confirmButton:"btn btn-success"}})})}),document.querySelectorAll(".cancel-subscription"));t&&t.forEach(n=>{n.onclick=function(){Swal.fire({text:"Are you sure you would like to cancel your subscription?",icon:"warning",showCancelButton:!0,confirmButtonText:"Yes",customClass:{confirmButton:"btn btn-primary me-2",cancelButton:"btn btn-label-secondary"},buttonsStyling:!1}).then(function(n){n.value?Swal.fire({icon:"success",title:"Unsubscribed!",text:"Your subscription cancelled successfully.",customClass:{confirmButton:"btn btn-success"}}):n.dismiss===Swal.DismissReason.cancel&&Swal.fire({title:"Cancelled",text:"Unsubscription Cancelled!!",icon:"error",customClass:{confirmButton:"btn btn-success"}})})}})}();

Und ich möchte gern auf folgende Seite weitergeleitet werden:

index.php?page=deleteUser&&delete_id=<?=$user_data['user_id']?>

Könntet ihr mir hier behilflich sein? Wenn ich auf den Button "Fortsetzen" klicke erscheint noch eine Bestätigungsnachricht, wenn man dann auf "OK" klickt, soll der Redirect ausgeführt werden.

Danke euch im Vorraus!

HTML, programmieren, JavaScript, PHP, Technologie, Webentwicklung

Xampp website nicht über iphone erreichbar?

Habe in den browser meine ip adresse eingegeben

und bin mit dem selben Router verbunden ( aber der pc über das strom mit einem lan kabel )

xampp apache webserver läuft.

habe gehört das es möglich sein soll aber es funktioniert nicht.

Auch als ich http:// + meine ip eingegeben habe erschien irgendwas mit pdf konnte nicht geladen werden

wie mach ich das ich die seite jetzt aufrufen kann über mein handy ?

(und zweite frage : wie mache ich das mit dem router weiterleiten falls jemand von ausserhalb die seite besuchen will.

Kenne plattformen auf der man das einfach hochladen kann aber möchte es halt so machen zum lernen.)

Computer, Internet, Technik, Webseite, JavaScript, Informatik, IP-Adresse, PHP, Router, Technologie, xampp

Meistgelesene Beiträge zum Thema PHP