Daten über Formular in SQL Datenbank eintragen

Leyrana

Grünschnabel
Hallo zusammen!

Also ich bin absolut überfragt...
Ich habe mich auch schon durch unzählige Hilfeseiten gelesen und bin hier im Forum so ziemlich alles durchgegangen aber so recht hilfreich war alles nicht.

Ich möchte über ein Formular Daten in eine SQL-Datenbank eintragen.
Für Testzwecke habe ich XAMPP auf meinem Rechner installiert und mein Skript funktioniert auch lokal. Die Daten werden einwandfrei in meine lokale Datenbank eingetragen.
Aber, und das ist das wundersame....
Ich habe mir zum Test bei Lycos.de PHP und MySQL freigeschalten und eine einfache Datenbank erstellt und das passende Script hochgeladen und auf einmal kann ich eben keine Daten mehr eintragen.

Meine Vermutungen sind, dass ich entweder keine Schreibrechte vergeben habe
(wenn das so sein sollte, habe ich keine Ahnung wie ich das mache)
oder irgendetwas stimmt mit der if-Abfrage nicht...

[vereinfachte Datenbankstruktur: Id int, Name varchar(20), Vorname varchar(20)]

Mein Skript:

<html>
<head>
<?php
if ($gesendet)
{
$db = mysql_connect("localhost", "username", "");
mysql_select_db("datenbank", $db);

$sqlab = "insert test";
$sqlab .= "(vorname, name) values ";
$sqlab .= "('$vn', '$na')";

mysql_db_query("datenbank", $sqlab);

$num = mysql_affected_rows();
if ($num>0)
echo "Es wurde 1 Datensatz hinzugefügt<p>";
else
{
echo "Es ist ein Fehler aufgetreten, ";
echo "es wurde kein Datensatz hinzugefügt<p>";
}
mysql_close($db);
}
?>
</head>

<body>
Geben Sie einen vollständigen Datensatz ein und senden Sie das
Formular ab:
<form action = "eingabe.php" method = "post">
<input name="na"> Name<p>
<input name="vn"> Vorname<p>

<input type="submit" name="gesendet" value="Senden">
<input type="reset">
</form>

</body>
</html>

Vielen Dank für Hilfe schon mal im Vorraus!

P.S. Habe das Skript auch bei einem Freund auf einem Linux Rechner getestet. Da habe ich das gleiche Problem...

mfg
Leyrana:( :(
 
Zuletzt bearbeitet:
Original geschrieben von Leyrana
Hallo zusammen!

Also ich bin absolut überfragt...
Ich habe mich auch schon durch unzählige Hilfeseiten gelesen und bin hier im Forum so ziemlich alles durchgegangen aber so recht hilfreich war alles nicht.
Sorry, aber das kann nicht sein. Das Problem wurde allein hier im Forum mehrmals besprochen.

Selbst wenn Du nicht weisst woran es liegt, hätte ein Blick in die PHP-FAQ auf jedenfall geholfen:

Ich kann nach Abschicken des Formulars nicht auf meine Variablen zugreifen, was tun?

http://de3.php.net/manual/de/ini.sect.data-handling.php#ini.register-globals

Und bitte nicht falsch verstehen, das ist nicht böse gemeint, aber es kann schon etwas nervend sein, wenn man, gerad zu dem "Standard-Problem" schlechthin immer wieder die gleichen Fragen hier sieht. ;)
 
naja nen Vollprofi mag das langweilen, aber ein Anfänger steigt halt nicht gleich bei allen Topics durch.

habe mir die Seiten auch angesehen, aber nicht wirklich die Lösung für mein Problem gefunden.

Allerdings habe ich jemanden gefunden der mit mir mein Skript durchgegangen ist und abgeändert hat.

Also Problem gelöst für's erste :)

Danke trotzdem

mfg
Leyrana
 
Ich weiss ja nicht wie der "Durchgänger" es abgeändert hat, aber den Hinweis bezüglich register Globals von Chino solltest du dir für deine Zukunft zu Herzen nehmen und auf OFF stellen.

Was den Code auch noch verschönern würde, wären @ s vor Anweisungen wie mysql_query (ausser beim Debuggebn, wenn das Script noch nicht fertig ist), sowie or die und ähnliche Konstrukte um Fehler nach eigener Definition abzufangen und zu melden:

Beispiel:

PHP:
$sth = @mysql_query("SELECT....") or die("Fehler: ".mysql_error());
 
Zurück