Warum kann dieser php code keine Verbindung zur Datenbank herstellen?

Ich sitze hier und verzweifle förmlich daran, warum sich die eingegebenen Daten aus:

<!DOCTYPE html>
<html>
  <head>
    <h1>Der Weg ins Paradies</h1>
    <link rel="stylesheet" href="GL.css">
  </head>
    <p>Die Welt dadraußen ist trist, doch <br> sein kein Schaf, sei ein Wolf</p>
    <form method="post" action="Registrierungsseite.php">
      <p><label>Name:<br><input type="text" name="Name"></label></p>
      <p><label>E-Mail:<br><input type="text" name="Mail"></label></p>
      <p><label>Passwort:<br><input type="password" name="Passwort"></label></p>
      <p><label>IBAN:<br><input type="text" name="IBAN"></label></p>
      <p><input type="submit" value="Registrieren"></p>
    </form>
  </body>
</html>

nicht in der MySQL-Datenbank wiederfinden.

Meine PHP-Datei ist diese hier:

<?php
  // Get the form data
  $name = $_POST['name'];
  $email = $_POST['email'];
  $password = $_POST['password'];
  $iban = $_POST['iban'];

  // Connect to the MySQL database
  $db = mysqli_connect("localhost", "root", "", "paradies");

  // Check if the connection was successful
  if (mysqli_connect_errno()) {
    // If the connection failed, display an error message and exit
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
    exit;
  }

  // Insert the form data into the MySQL database
  $query = "INSERT INTO paradies (name, email, password,iban) VALUES ('$name', '$email', '$password', '$iban')";

  if (mysqli_query($db, $query)) {
    // If the insert was successful, redirect the user to the login page
    header("Location: GL.php");
    exit;
  }
  else {
    // If the insert failed, display an error message
    echo "Error: " . $query . "<br>" . mysqli_error($db);
  }

  // Close the MySQL connection
  mysqli_close($db);
?>

Ich sehe den Fehler einfach nicht, da sobald man die Daten absendet, es zwar zur PHP-Datei weitergeleitet wird, dann jedoch lediglich der Code zu sehen ist. Die Datenbank hat dann natürlich auch keinen Eintrag.

Danke im Voraus.

HTML, Datenbank, MySQL, PHP, phpMyAdmin
Wert einer HTML Tabelle an Popup übergeben?

Ich habe eine, mit PHP dynamisch erzeugte Tabelle. In dieser Tabelle möchte ich die ID aus der ersten Spalte auslesen, die einem bestimmten Datensatz innerhalb meiner Datenbank zugeordnet ist. Wenn ich auf eine besstimmte Zeile klicke möchte ich auch die ID aus dieser Zeile haben. Diese soll wiederum an ein Popup übergeben werden, damit ich innerhalb dieses Popups Daten aus meiner Datenbank auslesen kann. Anbei findet ihr noch Bilder zu meiner Tabelle und dem Popup. Ich freue mich über jede Hilfe, bin schon seit Stunden am suchen.

    <form>
    <tr onclick="dialogOeffnen('loslegen-dialog')">
    <td>
            <?php echo $row["ID"] . "<br>"; ?>
          </td>
          <td>
            <?php echo $row["Vorname"] . "<br>"; ?>
          </td>
          <td>
            <?php echo $row["Nachname"] . "<br>"; ?>
          </td>
          <td>
            <?php echo $row["Vorname2"] . "<br>"; ?>
          </td>
          <td>
            <?php echo $row["Nachname2"] . "<br>"; ?>
          </td>
          <td>
            <?php echo $row["Vorname3"] . "<br>"; ?>
          </td>
          <td>
            <?php echo $row["Nachname3"] . "<br>"; ?>
          </td>
          <td>
            <?php echo $row["Vorname4"] . "<br>"; ?>
          </td>
          <td>
            <?php echo $row["Nachname4"] . "<br>"; ?>
          </td>
          <td>
            <?php echo $row["Titel"] . "<br>"; ?>
          </td>
          <td>
            <?php echo $row["Standort"] . "<br>"; ?>
          </td>
          <td>
            <?php echo $row["Klasse"] . "<br>"; ?>
          </td>
          <td>
            <?php echo $row["Beginn"] . "<br>"; ?>
          </td>
          <td>
            <?php echo $row["Abgabe"] . "<br>"; ?>
          </td>
          <td>
            <center><a href=<?php echo "uploads/" . $FileActualName?>">Link</a></center>
          </td>
          <td>
            <input  type="submit" onclick="dialogOeffnen('loslegen-dialog')" value="<?php echo $row["Genehmigt"]?>">
          </td>
          <td>
            <?php echo $row["Erstellt"] . "<br>"; ?>
          </td>
      </tr>
  </form>

Aktuell wird immer nur der Titel der letzten Zeile übergeben.

Bild zu Frage
HTML, Webseite, Datenbank, PHP, Webentwicklung
c# http post request?

C#

            var httpClient = new HttpClient();
            var values = new Dictionary<string, string>
            {
                { "username", UsernameTextBox.Text },
                { "email", EmailTextBox.Text }
            };

            var content = new FormUrlEncodedContent(values);

            var response = await httpClient.PostAsync("http://subdomain.domain.tld/file.php", content);

            var responseString = await response.Content.ReadAsStringAsync();
            FSCMessageBox.Show(responseString);

PHP

<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'PHP/PHPMailer/src/Exception.php';
require 'PHP/PHPMailer/src/PHPMailer.php';
require 'PHP/PHPMailer/src/SMTP.php';
$mail = new PHPMailer(true);
$whitelist = array("...");
$auth = false;
foreach($whitelist as $ip)
{
    if($ip == $_SERVER['REMOTE_ADDR']) {$auth = true;}
}
if(!$auth)
{
    http_response_code(403);
    exit();
}
try
{
    $code = "";
    for ($i = 0; $i < 8; $i++)
    {
        $ascii = rand(48, 122);
        if ($ascii > 57 && $ascii < 65 || $ascii > 90 && $ascii < 97)
        {
            $ascii -= 7;
        }
        $code .= chr($ascii);
    }
    echo $code;
    $mail->SMTPDebug = 2;                                       
    $mail->isSMTP();                                            
    $mail->Host       = "...";                    
    $mail->SMTPAuth   = true;                             
    $mail->Username   = "...";                 
    $mail->Password   = "...";                        
    $mail->SMTPSecure = "tls";                              
    $mail->Port       = 587;  
    $mail->setFrom("...", "...");           
    $mail->addAddress($_POST['email']);          
    $mail->isHtml();       
    $mail->Subject = "Verification Code";
    $mail->Body    = 
    "
    <h1>Hello, ".$_POST['username']."!</b1>
    <h4>Your verification code is ".$code.".</h4>
    <p>If you don't know why you received this E-Mail, you can safely ignore and delete it.</p>
    ";
    $mail->send();
    http_response_code(200);
}
catch (Exception $e)
{
    http_response_code(503);
    exit(); 
}
?>

Ist da ein Fehler? Wenn ich den php code ohne dem Post Request und mit festen Werten ausführe, geht alles. Also muss es doch am c# code liegen, oder?

Wenn ich es mit dem Post Request versuche, wird im Programm eine MessageBox angezeigt, wo einfach garnichts drin steht.

FSCMessageBox.Show(responseString);

Email wird auch nicht verschickt.

Die Daten wie host, username, password, email etc. sind alle richtig, da liegt der Fehler nicht.

HTML, Webseite, PHP, Webentwicklung
SQL Anfrage an SQLite DB?

Hallo,

ich habe folgendes Problem:

Ich habe diesen PHP Code, der einen Insert und einen Update ausführen soll. Beides funktioniert, wenn ich jeweils das andere aus kommentiere. Wenn ich beides ausführen möchte dann kommt:

Fatal error: Maximum execution time of 30 seconds exceeded in  Unknown on line  0

Der Code:

//NOTE variablen
$bildname = $_FILES["DateiHochladen"]["name"];
$alttext = $_POST['imgalttext'];
$fach = $_GET['t'];
$titel = $_POST['titel'];
$video = $_POST['video'];
$veroeffentlichen = $_POST['veroefffentlichen'];


//NOTE lek update
$lekupdate = "UPDATE '$fach' set naechste = :titel, veroeffentlichen = :datum  WHERE id = (SELECT max(id)   FROM '$fach')
";


$lektionupdate = $verbindung->prepare($lekupdate);
$lektionupdate->bindparam(':titel', $titel);
$lektionupdate->bindparam(':datum', $veroeffentlichen);
$lektionupdate->execute(); 

//Lek erstellen

$lekerstellen = "INSERT INTO '$fach' (titel, img, alttext, video, vorherige) VALUES ( :titel,  :img,  :alttext, :video, (SELECT titel FROM '$fach' WHERE id = (select max(id) from $fach)))";

$lekerstellen = $verbindung->prepare($lekerstellen);
$lekerstellen->bindparam(':titel', $titel);
$lekerstellen->bindparam(':img', $bildname);
$lekerstellen->bindparam(':alttext', $alttext);
$lekerstellen->bindparam(':video', $video);
$lekerstellen->execute();

Ich habe mich auch schon im Internet schlau gemacht, aber leider nichts gefunden.

Danke im voraus!

SQL, Webseite, Programmierer, Update, Datenbank, PHP, Programmiersprache, Webentwicklung, SQLite, Database, Datenbankabfrage
PHPMailer schickt unendlich E-Mails?

Ich habe eine index.php Datei auf meinem Webspace:

<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require '.../PHPMailer/src/Exception.php';
require '.../PHPMailer/src/PHPMailer.php';
require '.../PHPMailer/src/SMTP.php';
$mail = new PHPMailer(true);
try
{
    $mail->SMTPDebug = 2;                                       
    $mail->isSMTP();                                            
    $mail->Host       = "...";                    
    $mail->SMTPAuth   = true;                             
    $mail->Username   = "...";                 
    $mail->Password   = "...";                        
    $mail->SMTPSecure = "tls";                              
    $mail->Port       = 587;  
    $mail->setFrom("...", "...");           
    $mail->addAddress("email1@...");
    $mail->addAddress("email2@...");      
    $mail->isHTML();                        
    $mail->Subject = "...";
    $mail->Body    = "<h1>...</h1>
    <h3>...</h3>
    <p>...</p>";
    $mail->send();
    echo "E-Mail geschickt!";
}
catch (Exception $e)
{
    echo "Konnte nicht geschickt werden! Mailer Error: {$mail->ErrorInfo}";
}
?>

Das funktioniert auch, wenn man auf die Website geht, steht da "E-Mail geschickt", und die Emails kommen auch an.

Problem: Jetzt werden jede 1-30 min Emails verschickt, bei der email1 email adresse ist alles normal, bei email2 ist der ganze Text zitiert. Wieso werden jetzt immer E-Mails verschickt? Wieso ist der Text bei email2 zitiert?

Webseite, PHP, Webentwicklung
Nochmal PHP Hangman Problem :) Überschreibt die Buchstaben immer beim Raten?

Hallo, ich bin schon seit 2 Wochen mit einem Hangman Game beschäftigt komme jetzt aber an einem Punkt gar nicht mehr weiter.

So sieht es daweil mal aus darunter natürlich ein Button und ein Input Feld für das Raten des Buchstabens.

Mein Problem: Wenn ich (wie man oben sieht den Buchstaben "o" eingebe) wird er dort platziert wo er sein soll, alles gut. Jedoch wenn ich einen weiteren Buchstaben eingebe wird der neue z.B. "m" an die erste Stelle platziert jedoch verschwindet das o wieder. Wie könnte ich dieses Problem fixen. Bitte ausführlich Antworten. Danke

Hier der Code zum Verständnis (natürlich gibt es noch anderen Code hat aber nicht für das Problem die Priorität):

$randomWord = "test";
$_SESSION['randomWord'] = $randomWord;
$randomLetter = $_POST['enteredLetter'];
$_SESSION['letter'] = $randomLetter;
$_SESSION['alreadyfound'] = array();


for ($i = 0; $i < strlen($_SESSION['randomWord']) ; ++$i) { 
            if (substr($_SESSION['randomWord'],$i,1) == $_SESSION['letter']) {  
              $_SESSION['alreadyfound'][] = $i;
            }
            if (in_array($i,$_SESSION['alreadyfound'])) { 
               echo " ". substr($_SESSION['randomWord'],$i,1);
            } else {
               echo " _";
            }
        
  } 

Danke für jede Hilfe.

Bild zu Frage
HTML, PHP, Programmiersprache
PHP/HTML - Wie kann ich in jeder Zelle meiner Tabelle ein Dropdownmenü ausgeben?

Hallo zusammen,

folgendes Problem:

Ich möchte eine Tabelle haben, die in jeder Zelle ein Dropdownmenü hat. Später möchte ich die ausgewählten Werte in der Datenbank speichern.

Da die Tabelle selbst nicht statisch und aufgrund von anderen Parametern größer/kleiner, etc. ist, kann ich nicht in jede Zeile das Dropdown hineinschreiben.

Mein Dropdownmenü (welches einzeln einwandfrei funktioniert):

<form id="form" name="form" method="post">
  <select Vorname2='NEW'>
    <option value=""> </option>
    <?php while ($cat = mysqli_fetch_array($vornamen,MYSQLI_ASSOC)):; ?>
      <option value="<?php echo $cat['vorname'];?>">
        <?php echo $cat['vorname'];?>
      </option>
    <?php endwhile; ?>
  </select>
</form>

Wenn ich diesen Code zweimal verwende (auch unter anderem Namen), dann kann ich dennoch nur bei dem Menü etwas auswählen, welches zuerst im Quelltext vorkommt.

Die Wiederholungen versuche ich mit einer Loop gleichzeitig mit dem Aufbau der Tabelle zu intigrieren. In jede einzelne "Test"-Zeile soll später das Dropdownmenü.

  for ($x = 0; $x < $anzahltage; $x++) {
    echo "<tr>";
      echo "<td>";
?>
    Hier steht der Quelltext von oben
<?php
  echo "</td>";
  echo "<td> test 2</td>";
  echo "<td> test 3</td>";
  echo "<td> test 4</td>";
  echo "<td> test 5</td>";
  echo "<td> test 6</td>";
  echo "</tr>";
}

Gibt es da bessere Ideen?

Ich bin nicht so gut im Programmieren. Ich kenne nicht alle Befehle. Also bitte nicht zu streng sein. :)

SQL, HTML, Webseite, Datenbank, MySQL, PHP, Webentwicklung
Javascript kleiner mache?
            $("[data-group]").click(function () {
                if ($(this).prop('checked')) {
                    $('[data-group="' + $(this).data('group') + '"]').prop('checked', '');
                    $(this).prop('checked', 'checked');
                    otherCheckbox.dispatchEvent(new Event('change'));
                }
            });


            $("[data-group]").click(function () {
                if ($(this).prop('checked')) {
                    $('[data-group="' + $(this).data('group') + '"]').prop('checked', '');
                    $(this).prop('checked', 'checked');
                    otherCheckbox1.dispatchEvent(new Event('change'));
                }
            });


            $("[data-group]").click(function () {
                if ($(this).prop('checked')) {
                    $('[data-group="' + $(this).data('group') + '"]').prop('checked', '');
                    $(this).prop('checked', 'checked');
                    otherCheckbox2.dispatchEvent(new Event('change'));
                }
            });


            $("[data-group]").click(function () {
                if ($(this).prop('checked')) {
                    $('[data-group="' + $(this).data('group') + '"]').prop('checked', '');
                    $(this).prop('checked', 'checked');
                    otherCheckbox3.dispatchEvent(new Event('change'));
                }
            });


            $("[data-group]").click(function () {
                if ($(this).prop('checked')) {
                    $('[data-group="' + $(this).data('group') + '"]').prop('checked', '');
                    $(this).prop('checked', 'checked');
                    otherCheckbox4.dispatchEvent(new Event('change'));
                }
            });


            $("[data-group]").click(function () {
                if ($(this).prop('checked')) {
                    $('[data-group="' + $(this).data('group') + '"]').prop('checked', '');
                    $(this).prop('checked', 'checked');
                    otherCheckbox5.dispatchEvent(new Event('change'));
                }
            });
HTML, JavaScript, JQuery, PHP

Meistgelesene Fragen zum Thema PHP