myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

PHP-Formular zum Füllen einer Datenbank

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 27.05.12, 23:21   #1
kaddo
Newbie
 
Registriert seit: May 2011
Beiträge: 50
Bedankt: 6
kaddo ist noch neu hier! | 0 Respekt Punkte
Standard PHP-Formular zum Füllen einer Datenbank

Hallo.
Ich versuche schon seit knapp 2 Stunden, mit einem Formular eine Datenbank zu füllen. Nur leider gelingt mir das nicht. Ich weiß nicht warum. Wenn ich das Formular ausfülle, werde ich auf eine weiße Seite verbunden und nichts weiter passiert - die Datenbank bleibt leer. Gleich vorweg: Es geht hier nicht um eine Seite zum Passwortklau! Es geht um eine schulische Angelegenheit.

Findet jemand dort einen Fehler?

Seite mit Formular..
Code:
 <html>
  <head>
    <title>index</title>
  </head>
  <body>
     <form method="post" action="action.php">
     Name: <input name="Name" type="text"><br>
Klasse: <input name="Klasse" type="text"><br>
     <input type="submit" value="Login">
     </form>
  </body>
  </html>
...verbindet auf...
Code:
<?php 
if (isset($Send)) 
{ 
mysql_connect("#","#","#") or die ("Keine Verbindung");  
  

$ID = $_POST["Name"];  
$Geraet = $_POST["Klasse"];  
 

$eintragen = "INSERT INTO Inventar VALUES ('$Name', '$Klasse')";  

$eintragen = mysql_query($eintragen) or die (mysql_error());  
} 
?>
...die wiederum die Datenbank befüllen soll.

Nur wie gesagt, wird die Datenbank nicht befüllt, ich verde auf eine leere Seite verbunden. Den farblich markierte Teil habe ich mit dem Link zur Datenbank, dem Nutzernamen und dem Passwort versehen.
kaddo ist offline   Mit Zitat antworten
Ungelesen 28.05.12, 04:22   #2
Your_Conscience
Hinter dir!
 
Registriert seit: Apr 2010
Beiträge: 1.125
Bedankt: 487
Your_Conscience ist noch neu hier! | 0 Respekt Punkte
Standard

Also ich bin jetzt kein Profi, aber ich "musste" mir auch mal eine php-Datei basteln, um Einträge in eine Datenbank vorzunehmen.

Zitat:
mysql_connect("#","#","#") or die ("Keine Verbindung");
Da muss die URL des Servers rein, der Datenbankname, Benutzername und das Passwort.
Zitat:
$eintragen = "INSERT INTO Inventar VALUES ('$Name', '$Klasse')";
Hier sagst du ihm zwar, was du eintragen möchtest, aber nicht wo genau.

Am besten, ich poste mal ein Beispiel:
Code:
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title></title>
</head>

<body>
	<?php	
		$names=mysql_query('set names utf8');	
		$benutzer = $_POST["benutzer"];
		$h = date("G");
		$m = date("i");
		$s = date("s");
		$d = date("z");
		$y = date("Y");
		$ip = $_SERVER['REMOTE_ADDR'];
		$sql = "INSERT INTO Tabellenname (name, h, m, s, d, y, ip) VALUES ('$benutzer', $h, $m, $s, $d, $y, '$ip')";		
		$db = mysqli_connect("Servername", "Datenbank-Benutzername", "Datenbank-Passwort", "Datenbank-Name") or die ("Keine Verbindung moeglich: " . mysql_error());
		//Datenbank-Benutzername und Datenbank-Name könnte auch vertauscht gewesen sein
		mysqli_query($db, $sql);
	?>
</body>

</html>
Ich hoffe, ich konnte dir weiterhelfen.
Your_Conscience ist offline   Mit Zitat antworten
Ungelesen 28.05.12, 07:57   #3
ProgMaster
Banned
 
Registriert seit: Mar 2012
Beiträge: 337
Bedankt: 93
ProgMaster ist noch neu hier! | 0 Respekt Punkte
Standard

Du scheinst offensichtlich nicht wirklich Ahnung von der Materie zu haben. Ich hoffe es ist nichts wichtiges für die schule, das mal zum Einsatz kommen soll. Davon solltest du die Finger lassen.
ProgMaster ist offline   Mit Zitat antworten
Ungelesen 30.05.12, 20:00   #4
mosnyy
Anfänger
 
Registriert seit: Apr 2012
Beiträge: 1
Bedankt: 0
mosnyy ist noch neu hier! | 0 Respekt Punkte
Standard

bei deinem Insert syntax ist Klasse und Name natürlich nicht definiert wenn du ID und Geraet definierst.
VERGESS BITTE NICHT DEINE STRINGS ZU ESCAPEN!!!
das hier ist nur ein snippet dessen was ich als falsch erachtet habe:

Code:

$ID = $_POST["Name"];  
$Geraet = $_POST["Klasse"];  
 

$eintragen = "INSERT INTO Inventar VALUES ('$ID', '$Geraet')";  

QUERY and escape here!
mosnyy ist offline   Mit Zitat antworten
Ungelesen 31.05.12, 19:48   #5
urga
Mitglied
 
Benutzerbild von urga
 
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
urga ist noch neu hier! | 0 Respekt Punkte
Standard

Zitat:
Wenn ich das Formular ausfülle, werde ich auf eine weiße Seite verbunden und nichts weiter passiert - die Datenbank bleibt leer.
-> [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] einschalten. das hilft ungemein.
PHP-Code:
error_reporting (E_ALL); 
wie nähert man sich sonst an sowas an:

1) ein s***** schreiben welches ein sql absetzt ohne formulareingaben:
PHP-Code:
msql_connect(...);
$sql "insert .....";
echo 
"$sql<br>\n";

mysql_query ($sql); 
wenn damit das gewuenschte in der datenbank steht
2) das s***** per formular ansprechen:
PHP-Code:
error_reporting (E_ALL);
if (isset(
$Send)) 

mysql_connect("#","#","#") or die ("Keine Verbindung");  
  

$ID $_POST["Name"];  
$Geraet $_POST["Klasse"];  
 

$sql"INSERT INTO Inventar VALUES ('$Name', '$Klasse')";  

echo 
"$sql<br>\n";

$result mysql_query($sql) or die (mysql_error());  

hehe, und beim copy&paste habe ich auch deine fehler gefunden
da hilft auch kein error_reporting

probier doch mal die version aus, die ich erstellt habe und frage dich dann, warum das s***** weder fehler meldet, noch sonstige ausgaben macht... geschweige denn was in die DB schreibt. kleiner tipp: "if".
und wenn dann was in der DB steht aber nicht das gewuenschte ... dann meditiere nochmal ueber deine variablen
__________________
entropie erfordert keine wartung
urga ist offline   Mit Zitat antworten
Ungelesen 31.05.12, 20:27   #6
ProgMaster
Banned
 
Registriert seit: Mar 2012
Beiträge: 337
Bedankt: 93
ProgMaster ist noch neu hier! | 0 Respekt Punkte
Standard

@urga...

Vorgehensweise gut erläutert, dennoch überflüssig meiner Meinung nach.
Wenn man es selbst nicht schafft ohne fremde Hilfe, dann fehlen einem einfach die benötigten Analysefähigkeiten um jemals etwas ordentliches programmieren zu können.

Wenn man zwei Linke Beine hat, dann wird's auch nichts mit Fußball!
ProgMaster ist offline   Mit Zitat antworten
Ungelesen 31.05.12, 20:33   #7
urga
Mitglied
 
Benutzerbild von urga
 
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
urga ist noch neu hier! | 0 Respekt Punkte
Standard

mann'o'mann,

lass das nen 8 klaessler sein, der sein erstes programm schreibt...
jeder hat mal klein angefangen.

abgesehen davon scheint mir die nicht akademische lehre der informatik in deutschland auf ziemlich miesem niveau.
na klar: die guten sind in der wirtschaft; die freaks in der forschung.

die 0815 lehrkraft ist weder gut, noch freak. leider ....
__________________
entropie erfordert keine wartung
urga ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:41 Uhr.


Sitemap

().