Beiträge von DevFlash
-
-
Weil mein PHPstorm was ich ab und zu benutze sieht irgendwie komisch aus :
-
Moin,
ich wollte mal Fragen, welche IDE ihr so benutzt für die Webentwicklung speziell bei PHP und JS
-
m.scatello , funktioniert Danke sehr.
Dennoch hätte ich ein paar Fragen bezüglich den Code:
mit meta charset="utf-8" kann ich nicht wirklich was anfangen bzw. ich verstehe nicht was das bedeutet.Was ich auch nicht so richtig verstehe sind die HTTPS abfragen, also wie bspw. diese hier :
if(!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS']!='off' or $_SERVER['SERVER_PORT']==443)
wäre cool, wenn du mir den Code ein bisschen erklären kannst, was da genau passiert
-
Ich glaub ihr versteht mein Hauptproblem nicht.
Meine Frage in diesem Thread ist nicht die SQL Injection, sondern das wenn ich die Daten von einem Forumular an die DB schicke und das Formular via F5 refreshe, es immer wieder an die DB gesendet wird. -
Bezügl. diesem Problem, wurde mir auch oft gesagt, dass sich bei so einer Situation am besten mit MVC macht, weil man dann dieses Problem, was ich zurzeit habe verhindern kann.
-
Was meinst du damit?
Damit meine ich, dass ich nenne es mal Sicherheitslücken geprüft werden, bspw. ob die Variable vorhanden ist usw.
-
Ich habe die ".htaccess" Datei in den Ordner "dateien" abgelegt. Es hat auch wunderbar Funktioniert. Jedoch sind in diesem Ordner auch CSS Datein drin und diese Werden Automatisch mit Geblockt so das im Interface das Ganze Design fehlt.
Soweit ich weiß werden die .htacces Datei immer ins Hauptverzeichnis des Projekts gelegt.
-
m.scatello , was ist mit diesen code?
Ich hab den mal ausprobiert, da besteht immer noch das selbe Problem. -
Schau dir zur sicheren Programmierung aufjedenfall folgenden Beitrag an: Sichere Programmierung in PHP.
Ok. Habe ich das richtig dort verstanden, dass man einfach nur Prepared Statements, viele If Abfragen ggf. auch isset() machen muss?
-
CODE:
PHP
Alles anzeigen<html> <head> </head> <body> <form action="" method="post" name="formular1"> <p><b>Ihren Namen hier eingeben</p></b> <input type="text" name="user" size="50" maxlength="150" required/> <input type="submit" name="Button" value="Absenden"> <?php # Error wird gemeldet error_reporting(-1); $servername = "localhost"; $username = "root"; $password = ""; $dbname = "numberguess"; # Connection herstellen $conn = new mysqli($servername, $username, $password, $dbname); #Verbindung prüfen if ($conn->connect_error) { die("Verbindung fehlgeschlagen: " . $conn->connect_error); } if(isset($_POST['user'])) { $user = $_POST['user']; $sql = "INSERT INTO stats (User) VALUES ('$user')"; if ($conn->query($sql) === TRUE) { echo "Neue Verbindung hergestellt"; } else { echo "Error: " . $sql . "<br>" .$conn->error; } } $conn->close(); ?> </body>
-
Aber es kommt auch nur das Wort in die DB was ich zuvor eingegeben habe ... (Ich vermute mal das es im Cache gespeichert ist)
-
Mir ist schon klar, dass isset eine Var. prüft ob Sie exestiert.... Deswegen mache ich das ja ...
Kurzzeitig ging es mit den Fehlern, also da kam kein Fehler, so wie ich es als Lösung oben hatte, aber jetzt sind wieder Fehler da. bzw. das wieder beim refreshen, wieder Daten geschickt werden... Warum??
#UPDATED -
Fehler behoben:
Habe einfach unten die den kompletten if block oben mit bei isset rein getan.also so hier:
<html>
<head>
</head>
<body>
<form action="" method="post" name="formular1">
<p><b>Ihren Namen hier eingeben</p></b>
<input type="text" name="user" value="" size="50" maxlength="150" required/>
<input type="submit" name="Button" value="Absenden">
<?php
# Error wird gemeldet
error_reporting(-1);
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "numberguess";
# Connection wird erstellt
$conn = new mysqli($servername, $username, $password, $dbname);
# Connection prüfen
if ($conn->connect_error)
{
die("Verbindung fehlgeschlagen: " . $conn->connect_error);
}
if (isset($_POST['user']))
{
$user = $_POST['user'];
$sql = "INSERT INTO stats (user) VALUES ('$user')";
if ($conn->query($sql) === TRUE) {
echo "Neue Verbindung hergestellt";
} else {
echo "Fehler: " . $sql . "<br>" . $conn->error;
}
}
$conn->close();
?>
</body>
-
Danke funktioniert, kann geschlossen werden.
-
Moin,
das INSERT funktioniert jetzt. Aber jetzt habe ich das Problem, dass angeblich meine $sql nicht definiert sei...
Hier die Fehlermeldungen:
Notice: Undefined variable: sql in C:\xampp\htdocs\spiel\endscreen.php on line 43
Warning: mysqli::query(): Empty query in C:\xampp\htdocs\spiel\endscreen.php on line 43
Notice: Undefined variable: sql in C:\xampp\htdocs\spiel\endscreen.php on line 46CODE:
<html>
<head>
</head>
<body>
<form action="" method="post" name="formular1">
<p><b>Ihren Namen hier eingeben</p></b>
<input type="text" name="user" value="" size="50" maxlength="150" required/>
<input type="submit" name="Button" value="Absenden">
<?php
# Error wird gemeldet
error_reporting(-1);
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "numberguess";
# Connection wird erstellt
$conn = new mysqli($servername, $username, $password, $dbname);
# Connection prüfen
if ($conn->connect_error)
{
die("Verbindung fehlgeschlagen: " . $conn->connect_error);
}
if (isset($_POST['user']))
{
$user = $_POST['user'];
$sql = "INSERT INTO stats (user) VALUES ('$user')";
}
if ($conn->query($sql) === TRUE) {
echo "Neue Verbindung hergestellt";
} else {
echo "Fehler: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
</body>
-
Nicht eher in $_POST['user'] ?
Grundsätzlich würde ich DevFlash erstmal fragen wollen, wie sein echter Versuch aussieht und was für Fehler auftreten.Allein die Kommentarzeilen deuten auf Fantasiecode hin.
Das hatte ich schon probiert mit einer $_POST['user'];
Aber dann sagt das Programm, dass es nicht definiert ist....
Weil an sich hatte ich das folgendermaßen : $user = $_POST['user'];
Jetzt wäre meine Frage, wie bekomme ich das in die DB geschickt OHNE INSERT?wäre das nicht sinvoll noch eine isset() abfrage oder so
Wäre eine gute Idee, Danke!
-
Moin,
ich habe eine Spiel programmiert namens Zahlraten. Ich wollte das jetzt noch mit einer Datenbank verknüpfen.
Da ist jetzt meine Frage, wie bekomme ich aus ein Textfeld eine Art String Variable und an die DB gesendet.
Meine Datei sind aktuell so aus:- <html>
- <head>
- </head>
- <body>
- <?php
- # Error wird gemeldet
- error_reporting(-1);
- # Verbindung zur DB wird hergestellt
- $pdo = new PDO('mysql:host=localhost;dbname=numberguess', 'root');
- ?>
- <form action="stats.phtml" method="post" name="formular1">
- <p><b>Ihren Namen hier eingeben</p></b>
- <input type="text" name="user" value="" size="50" maxlength="150" required/>
- <input type="submit" name="Button" value="Absenden">
- <?php
- $UserImport = "INSERT INTO stats (user) VALUES (user)";
- $sql = "SELECT * FROM stats";
- foreach ($pdo->query($sql) as $row)
- {
- echo $row['User']."<br />";
- echo $row['savedTries']."<br />";
- echo $row['timeStamp']."<br /><br />";
- }
- ?>
- <br>
- </div>
- </body>
Ich weiß, dass INSERT eine große SQL Injection Gefahr ist, aber ich möchte nur die Funktionalität testen.Würde mich sehr freuen, wenn jemand mir helfen kann.