Moinsen ich habe für eine Webseite ein wenig PHP Code, welcher mit einer Datenbank verbunden ist.
Das Eingeben von Highscores durch den Nutzer durch Buttonclick klappt soweit auch gut aber:
Problem: es werden irgendwie immer neue Einträge von alleine hinzugefügt und ich weiß nicht wieso.
Bin mir sicher dass es am Code liegt und nicht durch Fremdmanipulation.
Ich poste hier den Code und hoffe, wir werden draus schlauer.
LG
datei index.php
datei indedone.php
datei indexprocess.php --> HIER WIRD DER FEHLER VERMUTET
Das Eingeben von Highscores durch den Nutzer durch Buttonclick klappt soweit auch gut aber:
Problem: es werden irgendwie immer neue Einträge von alleine hinzugefügt und ich weiß nicht wieso.
Bin mir sicher dass es am Code liegt und nicht durch Fremdmanipulation.
Ich poste hier den Code und hoffe, wir werden draus schlauer.
LG
datei index.php
PHP-Quellcode
- <?php
- // Server name must be localhost
- $servername = "localhost";
- // In my case, user name will be root
- $username = "root";
- // Password is empty
- $password = "";
- // Creating a connection
- $conn = new mysqli($servername,
- $username, $password);
- // Check connection
- if ($conn->connect_error) {
- die("Connection failure: "
- . $conn->connect_error);
- }
- $retval = mysqli_select_db($conn, 'geekdata' );
- if(! $retval ) {
- die('Could not select database: ' . mysqli_error($conn));
- }
- $sql2 = "create table IF NOT EXISTS highscore(id INT AUTO_INCREMENT,name VARCHAR(20) NOT NULL,
- score INT ,primary key (id))";
- if(mysqli_query($conn, $sql2)){
- }else{
- echo "Could not create table: ". mysqli_error($conn);
- }
- // Closing connection
- $conn->close();
- ?>
datei indedone.php
PHP-Quellcode
- <?php
- $servername = "localhost";
- $username = "root";
- $password = '';
- $dbname = "geekdata";
- // Create connection
- $conn = mysqli_connect($servername, $username, $password, $dbname);
- // Check connection
- if (!$conn) {
- die("Connection failed: " . mysqli_connect_error());
- }
- echo 'Hier die Highscores: <br>';
- $sql = "SELECT * FROM `highscore` ORDER BY `highscore`.`score` DESC";
- $result = mysqli_query($conn, $sql);
- if (mysqli_num_rows($result) > 0) {
- // output data of each row
- while($row = mysqli_fetch_assoc($result)) {
- echo $row["name"]. ": ";
- echo $row["score"]. "<br /><br />";
- }
- } else {
- echo "No messages";
- }
- mysqli_close($conn);
- ?>
datei indexprocess.php --> HIER WIRD DER FEHLER VERMUTET
PHP-Quellcode
- <meta http-equiv="refresh" content="0; url=./indexdone.php" />
- <?php
- $servername = "localhost";
- $username = "root";
- $password = '';
- $dbname = "geekdata";
- $fname = $_POST['fname'];
- $lname = $_POST['lname'];
- try {
- $conn = new PDO("mysql:host=$servername; dbname=$dbname", $username, $password);
- // set the PDO error mode to exception
- $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
- $sql = "INSERT INTO highscore (name, score)
- VALUES ('$fname', '$lname')";
- // use exec() because no results are returned
- $conn->exec($sql);
- echo "New record inserted";
- }
- catch(PDOException $e)
- {
- echo $sql . "<br>" . $e->getMessage();
- }
- $conn = null;
- ?>