CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren |
02.12.2012, 22:58:55
|
Anfänger
|
|
Registriert seit: Dec 2012
Alter: 35
Beiträge: 3
|
|
MySQL Datenübertragung
Hallo Zusammen,
ich bin neu hier und hoffe, dass es hier jemanden gibt, der mir weiter helfen kann. Ich habe hier ein Formular über das Daten in eine MySQL - Datenbank übertragen kann. Leider habe ich wohl irgendwo einen Fehler eingetragen und weiß leider nicht wo, aber es funktioniert einfach nicht :( Kann mir irgendjemand helfen den Fehler zu finden?
1000 Dank im Voraus und einen schönen Abend!!
Grüße
NA
PHP-Code:
<html>
<head>
<title>FS09 Studierendenliste</title>
</head>
<body>
<h1>Formular zur Namenseingabe</h1>
<form action="frm_fs09.php" name="frm" method="post">
<p>Vorname:<br><input name="vorname" type="text" size="30" maxlength="30"></p>
<p>Nachname:<br><input name="nachname" type="text" size="30" maxlength="40"></p>
<input type="submit" value="absenden" >
</form>
</body>
</html>
<?php
//Verbindungsdaten
$servername = 'localhost';
$db_user = 'root';
$db_password = '';
//Variablen initialisieren
$vorname = $_POST['vorname'];
$nachname = $_POST['nachname'];
//Schritt 1: Verbindung zum Datenbankserver (MySQL-Server) herstellen
$con = mysql_connect($servername,$db_user,$db_password) or die('Verbindung fehlgeschlagen!');
$datenbankname = 'fs09';
//Schritt 2: Datenbank auswählen
$db = mysql_select_db($datenbankname) or die('Die Datenbank existiert nicht!');
//Schritt 3: Datenbankanfragen
//Daten in Datenbank speichern
//Anfrage erstellen
$einfuegen = "INSERT INTO tbl_fs09_namen VALUES ('$vorname', '$nachname')";
//Anfrage senden
mysql_query($einfuegen);
//Schritt 4: Datenbankanfragen: Ausgabe der Daten in tabell. Form
// Auswahl aller Datensätze
$sql_befehl = "SELECT * FROM tbl_fs09_namen";
//Anfrage senden
$ergebnis = mysql_query($sql_befehl);
echo "<table border='1'> <tr><td colspan='2' class='ueberschrift'>Datenbank $datenbankname</td></tr>";
echo "<tr><td>Vorname</td><td>Nachname</td></tr>";
//Datensätze werden übergeben
while ($row = mysql_fetch_object($ergebnis))
{
echo "<tr><td>$row->vorname</td><td>$row->nachname</td></tr>";
}
echo "</table>";
//Schritt 5: Verbindung zum Datenbankserver beenden
mysql_close($con);
?>
|
03.12.2012, 00:03:51
|
|
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
|
|
AW: MySQL Datenübertragung
Zitat:
Zitat von Verzweifelter
ich bin neu hier und hoffe, dass es hier jemanden gibt, der mir weiter helfen kann.
|
Bei der Informationslage? Keine klar erkennbare Frage, ein finsteres Script (ohne BBcode Formatierung), keine Fehlermeldung...
Da mußte warten, bis die Hellseher kommen.
|
03.12.2012, 00:45:23
|
SELFPHP Experte
|
|
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
|
|
AW: MySQL Datenübertragung
Zitat:
Da mußte warten, bis die Hellseher kommen.
|
Yes, anwesend!
Und danke für die Blumen.
Ich sehe da 2 massive Probleme (oder sinds 3 ? ) - Es wird nicht geprüft ob das Formular wirklich abgesendet wurde
- Es wird auf eine veraltete DB Erweiterung gesetzt
- SQL Injektions oder Syntaxerrors in den Statements werden in Kauf genommen
- Fehler bei der SQL Verarbeitung werden noch nicht einmal ignoriert -->> mysql_error()
|
05.12.2012, 19:04:50
|
Anfänger
|
|
Registriert seit: Dec 2012
Alter: 35
Beiträge: 3
|
|
AW: MySQL Datenübertragung
Zitat:
Zitat von meikel
Bei der Informationslage? Keine klar erkennbare Frage, ein finsteres Script (ohne BBcode Formatierung), keine Fehlermeldung...
Da mußte warten, bis die Hellseher kommen.
|
Hallo Meikel,
hier mein Anliegen "Ich habe hier ein Formular über das Daten in eine MySQL - Datenbank übertragen kann. Leider habe ich wohl irgendwo einen Fehler eingetragen und weiß leider nicht wo, aber es funktioniert einfach nicht :(
Frage: Kann mir irgendjemand helfen den Fehler zu finden?"
Stand alles drin, aber trotzdem danke!
|
05.12.2012, 19:11:33
|
Anfänger
|
|
Registriert seit: Dec 2012
Alter: 35
Beiträge: 3
|
|
AW: MySQL Datenübertragung
Zitat:
Zitat von meikel
Bei der Informationslage? Keine klar erkennbare Frage, ein finsteres Script (ohne BBcode Formatierung), keine Fehlermeldung...
Da mußte warten, bis die Hellseher kommen.
|
Zitat:
Zitat von DokuLeseHemmung
Yes, anwesend!
Und danke für die Blumen.
Ich sehe da 2 massive Probleme (oder sinds 3 ? ) - Es wird nicht geprüft ob das Formular wirklich abgesendet wurde
- Es wird auf eine veraltete DB Erweiterung gesetzt
- SQL Injektions oder Syntaxerrors in den Statements werden in Kauf genommen
- Fehler bei der SQL Verarbeitung werden noch nicht einmal ignoriert -->> mysql_error()
|
Hallo Hellseher ;)
vielen Dank für deine Hilfe!!!! Hilft mir schon etwas weiter.
Aber eine ganz dumme Frage, was ist eine veraltete DB Erweiterung?
Ich muss dazu sagen, bevor du lachst :D ich habe von dem Thema überhaupt keine Ahnung, soll es für eine Klausur können, aber leider kommt mein Verstehen nur seeeeehr schleppend :-/
Vielen Dank!
|
05.12.2012, 19:23:38
|
SELFPHP Experte
|
|
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
|
|
AW: MySQL Datenübertragung
mysql ist veraltet gehört nicht mehr zur Standard Installation
mysqli ist moderner
PDO ist modern und sollte verwendet werden
http://php.net/manual/de/refs.database.php
http://php.net/manual/de/book.pdo.php
Besser wäre dann noch ein ORM wie z.B. doctrine2 oder RedBean, welche beide auf PDO aufsetzen, zu nutzen.
|
06.12.2012, 16:49:54
|
|
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
|
|
AW: MySQL Datenübertragung
Zitat:
Zitat von Verzweifelter
Frage: Kann mir irgendjemand helfen den Fehler zu finden?"
Stand alles drin, aber trotzdem danke!
|
Und was erwartest Du da als Antwort, wenn Du fragst, ob jemand was kann, was Du nicht kannst? Zur Auswahl stehen:
[_] Ja
[_] Nein
Die Verarbeitung eines Formularrequestes muß nach dem EVA Prinzip erfolgen:
E wie Eingabe
V wie Verarbeitung
A wie Ausgabe
Wenn keine Eingabe vorliegt, ist die Verarbeitung sinnlos und es muß das Formular angezeigt werden.
Wenn eine Eingabe vorliegt, folgt die Verarbeitung. Die Ausgabe muß das Ergebnis der Verarbeitung betreffen und nicht die Ausgabe des Formulars - es sei denn, Du erwartest weitere Eingaben.
Und wenn Eingaben verwurstet werden, ist es zwingend, die Variablen, die vom User kommen, zu validieren.
Sicheres Programmieren in PHP
http://www.php-faq.de/q-security-variablen.html
Prüfe importierte Parameter. Traue niemandem
http://www.php-faq.de/q-sicherheit-parameter.html
Zitat:
Zusammenfassend: Traue niemandem. Validiere allen Input oder stirb.
|
Druck Dir das aus und nagel das so hinter den Monitor, daß Du es nicht übersehen kannst.
Sowas gehört zu den Basics, wenn man programmieren will - egal in welcher Sprache.
Lies Dir die DCLP FAQ durch. Und beachte das, was DokuLeseHemmung geschrieben hat.
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 13:39:34 Uhr.
|