Datensatz an MySQL übergeben im selben Formular
Hallo allerseits
Liebe Leute..
Folgendermassen. Ich möchte einen Datensatz in der MySQL-Tabelle abspeichern. Tabelle besitzt nur einen Attribut "Projekttitel" jetzt im Testfall. Im selben Formular soll alles geschehen. Ich scheitere kläglich..
Ich bedanke mich für jegliche Tipps und Tricks schon mal im Voraus, falls Ihr einen Fehler entdeckt oder es besser wisst, wie man es macht.
Danke und viele Grüsse
Liebe Leute..
Folgendermassen. Ich möchte einen Datensatz in der MySQL-Tabelle abspeichern. Tabelle besitzt nur einen Attribut "Projekttitel" jetzt im Testfall. Im selben Formular soll alles geschehen. Ich scheitere kläglich..
Ich bedanke mich für jegliche Tipps und Tricks schon mal im Voraus, falls Ihr einen Fehler entdeckt oder es besser wisst, wie man es macht.
Danke und viele Grüsse
<html><head> <title> </title>
</head>
<?php
include ("dbopen.inc.php");
?>
<body >
<?php
if (isset($_GET['submit'])) {
$ausgabe = '';
$fehler = '';
if (isset($_GET['Projekttitel']) && !is_array($_GET['Projekttitel']) && $_GET['Projekttitel'] != '') {
$ausgabe .= "INSERT INTO test (ID) VALUES ('$_GET[Projekttitel]');";
} else {
$fehler .= 'Fehler !! ';
}
}
?>
<h3> EINTRAGEN HIER:</h3> <br>
<a href="index.php">Startseite</a><br><br>
<form action="<?php echo htmlspecialchars ($_SERVER['PHP_SELF']); ?>" method="GET">
<input type="text" name="Projekttitel" size="30" value="<?php
if (isset($_GET['Projekttitel']) && is_array ($_GET['Projekttitel'])) {
echo htmlspecialchars ($_GET['Projekttitel']);
}
?>" /> Projekttitel:<br /><br />
<br /> <br />
<input type="submit" name="submit" value="Speichern" />
</form>
</body>
</html>
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 166335
Url: https://administrator.de/contentid/166335
Ausgedruckt am: 22.11.2024 um 04:11 Uhr
18 Kommentare
Neuester Kommentar
Hallo
und wo soll der SQL Befehl ausgeführt werden?
Dir fehlt ein mysql_query($ausgabe) oder ein $DB->query($ausgabe) je nachdem was du verwendest.
Davon abgesehen ist es tödlich wie du programmierst, du lässt eine Eingabe in einem SQL Befehl ohne diese vorher zu validieren.
Schau dir mal ein kapitel PHP/MySQL SQL Injection an.
$_GET['Projekttitel'] != '') {
$ausgabe .= "INSERT INTO test (ID) VALUES ('$_GET[Projekttitel]');";
$ausgabe .= "INSERT INTO test (ID) VALUES ('$_GET[Projekttitel]');";
und wo soll der SQL Befehl ausgeführt werden?
Dir fehlt ein mysql_query($ausgabe) oder ein $DB->query($ausgabe) je nachdem was du verwendest.
Davon abgesehen ist es tödlich wie du programmierst, du lässt eine Eingabe in einem SQL Befehl ohne diese vorher zu validieren.
Schau dir mal ein kapitel PHP/MySQL SQL Injection an.
Hi,
meine Frage ist absolut nicht irrelevant, denn wenn du in der Datei nichts drin stehen hast mit der Datenbank wirst du auch nichts in die DB eintragen können, weil die gar nicht bekannt ist.
Und so isses hier auch ...
Was du dir ansehen solltest habe ich dir bereits gesagt - so lernst du auch nichts, wenn du nur vorgekautes hinschreibst, was noch dazu nicht zum Ziel führt ...
Aber das sagte Moe ja auch schon ...!
VG
meine Frage ist absolut nicht irrelevant, denn wenn du in der Datei nichts drin stehen hast mit der Datenbank wirst du auch nichts in die DB eintragen können, weil die gar nicht bekannt ist.
Und so isses hier auch ...
Was du dir ansehen solltest habe ich dir bereits gesagt - so lernst du auch nichts, wenn du nur vorgekautes hinschreibst, was noch dazu nicht zum Ziel führt ...
Aber das sagte Moe ja auch schon ...!
VG
Hi,
du sollst nach PHP und MYSQL googlen.
1) Du kennst sie, die dbopen.inc.php kennt sie, aber das wars ... dir fehlt der entscheidende Punkt, den Moe nannte:
Zitat:
Dir fehlt ein mysql_query($ausgabe) oder ein $DB->query($ausgabe) je nachdem was du verwendest.
Und weiter:
Alles was du machst ist dein SQL query in einer Variable zu speichern.
Du fragst ja nicht mal nach was damit gemeint ist, das zeigt uns dann einfach nur: Du liest nicht das was wir dir schreiben!
2) Keine Ahnung was du damit sagen willst...
Code? Bekommste ... ob du was damit anfangen kannst bezweifel ich, aber wir werden sehen
database.inc.php
Und weiter mit Beispiel:
Das Formular musst du noch entsprechend einbauen...
Und wie angemerkt ... sql injection hab ich nicht eingebaut ...
VG
[Edit Biber] Codeformatierung auf "type=php" ergänzt [/Edit]
Oh danke
du sollst nach PHP und MYSQL googlen.
1) Du kennst sie, die dbopen.inc.php kennt sie, aber das wars ... dir fehlt der entscheidende Punkt, den Moe nannte:
Zitat:
Dir fehlt ein mysql_query($ausgabe) oder ein $DB->query($ausgabe) je nachdem was du verwendest.
Und weiter:
Alles was du machst ist dein SQL query in einer Variable zu speichern.
Du fragst ja nicht mal nach was damit gemeint ist, das zeigt uns dann einfach nur: Du liest nicht das was wir dir schreiben!
2) Keine Ahnung was du damit sagen willst...
Code? Bekommste ... ob du was damit anfangen kannst bezweifel ich, aber wir werden sehen
database.inc.php
<?php
class Database
{
private $handler;
// Constructor zum Verbinden
public function __construct($host,$user,$pass,$database){
if(!$this->handler = mysql_connect($host,$user,$pass))
echo "Fehler beim Verbinden...";
else {
if (!mysql_select_db($database,$this->handler))
echo "Fehler beim Auswählen der database...";
}
return $this->handler;
}
// Verbindung zum Datenbankserver
public function setDB($host,$user,$pass) {
if(!$this->handler = mysql_connect($host,$user,$pass))
echo "Fehler beim Verbinden...";
return $this->handler;
}
// Auswahl der Datenbank
public function selectDB($database) {
if (!mysql_select_db($database,$this->handler))
echo "Fehler beim Auswählen der database...";
}
// Abfrage an Datenbank
public function SQL($query) {
$result = mysql_query($query,$this->handler) or die(mysql_error());
return $result;
}
// Destructor
function __destruct() {
// mysql_close($this->handler);
}
}
?>
Und weiter mit Beispiel:
<?php
REQUIRE_ONCE("database.inc.php");
$_SESSION['db']=new Database("Server","User","Passwort","Datenbank");
$result=$_SESSION['db']->SQL("INSERT INTO test (ID) VALUES ('$_GET[Projekttitel]')");
Und wie angemerkt ... sql injection hab ich nicht eingebaut ...
VG
[Edit Biber] Codeformatierung auf "type=php" ergänzt [/Edit]
Oh danke
NICHT hilfreich!
Zitat von @29725:
> Zitat von @Xaero1982:
> ----
> Ach das ist ca. von 2006 oder so
>
> Er wollte Code, nun hat er Code ... )
>
> VG
NICHT hilfreich!
> Zitat von @Xaero1982:
> ----
> Ach das ist ca. von 2006 oder so
>
> Er wollte Code, nun hat er Code ... )
>
> VG
NICHT hilfreich!
Willst du mich auf den Arm nehmen?!
Wenn du keine Ahnung hast brauchst du keine sinnlosen Kommentare schreiben!
VG
[OT]
Kennt ihr denn schon mein immer wieder gern rezitiertes "Fehlende Passgenauigkeit von Anforderungen und Voraussetzungen"?
Ich fürchte, der schon so oft von mir erbettelte 1-Euro-Döner-farbene Haken hängt zwar am Beitrag, ist aber vollkommen irreführend.
@themannr1
Bitte nicht verschnupft reagieren, aber nach meinem Eindruck nützt dir ein egal ob 10zeiliger oder 100seitiger Fertigcode
mit oder ohne Klassen oder Bart noch überhaupt nichts.
Investiere sinnvollerweise erst mal ein, zwei Abende in ein Tutorial zum Thema "mySQL und php".
Von diesen Tutorials gibt es nun wirklich mehr als FDP-WählerInnen in Bremen und sie sind strukturiert und es stehen Wahrheiten darin.
Wenn ich diesen für alle Beteiligten unbefriedigenden Beitrag der Bremer FDP hinterher schicken darf, dann schreib mir bitte eine PN mit Betreff "Ab dafür".
Ansonsten lasse ich ihn hier auch stehen, falls einer von euch ihn mal für eine Bewerbungsmappe braucht.
[Edit 23:30]
Sorry @themannr1 und danke @Xaero1982 für den Hinweis - meine Reaktion war vor allem hervorgerufen durch ChristophDs Kommentar, den ich fälschlicherweise dem Beitragsersteller zugeordnet habe.
Dennoch - ich habe eben nochmal den Beitragsverlauf gelesen.
Zu dem (konstruktiv und ehrlich gemeinten) Hinweis, sich erstmal mit den Grundlagen auseinandersetzen und das strukturiert, stehe ich nach wie vor.
Okay, das Anraunzen lass ich weg.
[/Edit]
Grüße
Biber
[/OT]
Kennt ihr denn schon mein immer wieder gern rezitiertes "Fehlende Passgenauigkeit von Anforderungen und Voraussetzungen"?
Ich fürchte, der schon so oft von mir erbettelte 1-Euro-Döner-farbene Haken hängt zwar am Beitrag, ist aber vollkommen irreführend.
@themannr1
Bitte nicht verschnupft reagieren, aber nach meinem Eindruck nützt dir ein egal ob 10zeiliger oder 100seitiger Fertigcode
mit oder ohne Klassen oder Bart noch überhaupt nichts.
Investiere sinnvollerweise erst mal ein, zwei Abende in ein Tutorial zum Thema "mySQL und php".
Von diesen Tutorials gibt es nun wirklich mehr als FDP-WählerInnen in Bremen und sie sind strukturiert und es stehen Wahrheiten darin.
Wenn ich diesen für alle Beteiligten unbefriedigenden Beitrag der Bremer FDP hinterher schicken darf, dann schreib mir bitte eine PN mit Betreff "Ab dafür".
Ansonsten lasse ich ihn hier auch stehen, falls einer von euch ihn mal für eine Bewerbungsmappe braucht.
[Edit 23:30]
Sorry @themannr1 und danke @Xaero1982 für den Hinweis - meine Reaktion war vor allem hervorgerufen durch ChristophDs Kommentar, den ich fälschlicherweise dem Beitragsersteller zugeordnet habe.
Dennoch - ich habe eben nochmal den Beitragsverlauf gelesen.
Zu dem (konstruktiv und ehrlich gemeinten) Hinweis, sich erstmal mit den Grundlagen auseinandersetzen und das strukturiert, stehe ich nach wie vor.
Okay, das Anraunzen lass ich weg.
[/Edit]
Grüße
Biber
[/OT]
Edit: