Problem bei MySQL-Abfrage und Tabellen-Eintrag!!!
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
beschreibung
daten
deswegen
eingeben
eintrag
ergebnis
fehler
formular
fragen
gel
gen
insert
leerer eintrag
link liste
quelltext
schreibe
script
target
zunge
-
Habe folgendes Problem:
Ich habe eine MySQL-Abfrage (Link-Liste) geschrieben...
geht auch alles super...
Jetzt habe ich unten im Quelltext ein Formular eingebaut, ?ber welches ich eintr?ge machen will... Aber sobald ich auch Aktualisieren gehe, macht es automatisch einen leeren Eintrag...
Das tut es auch, wenn ich die Seite ?ffne!
Hier der Quelltext:
<? include(\"config.inc.php\"); ?>
<html>
<head>
<title>Zum Testen!</title>
<link href=\"css/style.css\" rel=\"stylesheet\" type=\"text/css\">
</head>
<body>
<div class=\"head\">Meine Linkliste</div>
<table class=\"main\" cellpadding=\"0\" cellspacing=\"0\">
<tr class=\"head\">
<td class=\"name1\">Name</td><td class=\"url1\">Adresse</td><td class=\"beschreibung1\">Beschreibung</td>
</tr></table>
<?
$abfrage=\"SELECT * FROM links\";
$ergebnis=mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
?>
<table class=\"main\" cellpadding=\"0\" cellspacing=\"0\">
<tr>
<td class=\"name\"><? echo $row->urlname ?></td><td class=\"url\"><? echo \"<a href=\\\"$row->url\\\" target=\\\"_blank\\\">$row->url</a>\"; ?></td><td class=\"beschreibung\"><? echo $row->beschreibung ?></td>
</tr>
</table>
<? } ?>
<div class=\"head\">Neuen Link hinzuf?gen:</div>
<table class=\"main\" cellpadding=\"0\" cellspacing=\"0\">
<tr class=\"head\">
<td>Name</td><td>Adresse</td><td>Beschreibung</td></tr><tr>
<form action=\"data.php\" method=\"post\">
<td>
<input type=\"text\" name=\"urlname\">
</td><td><input type=\"text\" name=\"url\"></td><td><input type=\"text\" name=\"beschreibung\"></td></tr>
<tr><td><input type=\"submit\" value=\"Eintragen\" name=\"eintragen\"></td></tr>
</form>
</tr></table>
<?
$urlname = $HTTP_POST_VARS[\"urlname\"];
$url = $HTTP_POST_VARS[\"url\"];
$beschreibung = $HTTP_POST_VARS[\"beschreibung\"];
$eintrag = \"INSERT INTO links (urlname, url, beschreibung) VALUES (\'$urlname\',\'$url\',\'$beschreibung\')\";
mysql_query($eintrag);
mysql_close($verbindung);
?>
</body>
</html>
W?re nett von euch, wenn Ihr mir helfen k?nntet... Ich bin halt noch ein php noob.. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Guten Tag.
Schreibe mal nur den betreffenden Code, nicht den ganzen (das erm?glicht eine schnellere Suche des Fehlers.
Mach mal nciht vot jedes " ein \. Das braucht man in HTML nicht, sondern nur wenn man zB mit php ein " au?geben will (ansonsten w?rde man den String schlie?en, Bsp.: $img = "<img src\"meinild.jpg\">";).
-
Guten Tag.
Schreibe mal nur den betreffenden Code, nicht den ganzen (das erm?glicht eine schnellere Suche des Fehlers.
Mach mal nciht vot jedes " ein \. Das braucht man in HTML nicht, sondern nur wenn man zB mit php ein " au?geben will (ansonsten w?rde man den String schlie?en, Bsp.: $img = "<img src\"meinild.jpg\">";).
So machst du einen Eintrag in deine DB:
<?
$urlname = $HTTP_POST_VARS["urlname"];
$url = $HTTP_POST_VARS["url"];
$beschreibung = $HTTP_POST_VARS["beschreibung"];
$eintrag = "INSERT INTO links (urlname, url, beschreibung) VALUES (\'$urlname\',\'$url\',\'$beschreibung\')";
mysql_query($eintrag);
mysql_close($verbindung);
?>
Dieser Code wir immer bei der Seite aufgerufen, auch wenn du keine Variablen ?bergibst (zB wenn du das Forum nicht oder leer absendest) = leerer Eintrag in DB.
And?rst du nun dein Formular so:
<form action="data.php?go=1" method="post">
und den php-Code so:
<?
if($go == "1")
{
$urlname = $HTTP_POST_VARS["urlname"];
$url = $HTTP_POST_VARS["url"];
$beschreibung = $HTTP_POST_VARS["beschreibung"];
$eintrag = "INSERT INTO links (urlname, url, beschreibung) VALUES (\'$urlname\',\'$url\',\'$beschreibung\')";
mysql_query($eintrag);
mysql_close($verbindung);
}
?>
machst du einen Eintrag nur, wenn du das Formular absendest. Zus?tzlich k?nntest du noch die Eingaben ?berpr?fen. -
Danke, habs hinbekommen...
Was mich jetzt noch interessieren w?rde, ist, was an folgendem Code falsch ist?
<?
if ($beenden)(echo("Daten eingef?gt! <a href=\"data.php\">Weiter</a>"));
?> -
Du musst f?r die if-Abfrage {} benutzen und das ; muss nach das echo und nicht ans Ende:
if ($beenden) { echo "Daten eingef?gt! <a href=\"data.php\">Weiter</a>"; }
-
Danke...
EIne Frage brennt mir noch auf der Zunge und ich will deswegen keinen neuen Thread anfangen:
Wie kann man, nach dem ausf?hren eines Scripts, die POST-Daten l?schen?
Wenn diese nicht gel?scht sind, und man klickt auf aktualisieren, dann schreibt es diese ein weiters mal in die Datenbank... Deswegen sollen sie nach dem Ausf?hren des Scripts geleert werden... -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage