Supportnet / Forum / Skripte(PHP,ASP,Perl...)
Variable mit HTML Elementen definieren...
Frage
Also... ich als php anfaenger hatte mir heute vorgenommen ein kleines script zu schreiben. Vergleichbar mit nem Banner Add in dem Fall aber n ganz simples auktionsscript womit man auf einer seite ganz leicht kleine artikel thumbs mit n bisschen text drunter einfüegen kann.
das script hat allerdings 2 kleine (wohl eher große >.<) fehler. Zuerstmal, damit ich hier nicht fuern Trottel gehalten werde, ich weiß dass sie Variable $auktion so nicht definiert werden darf, bzw es nichts nuetzt, weil mann dan im ergebniss auch nur "$inhalt" ausgegeben bekommt, weiß aber auch leider noch nicht wie das richtig gemacht werden muss. bitte an der stelle also um ein paar tipps.
problem nr2. sobald das script von der admin.php (also dem formular etc) aufgerufen wird gibt er sofort "Keinen Auktionstitel eingegeben" aus... was mir z.Z. unbegreiflich ist. Liegt mit sicherheit nicht an dem Formular (das kann ich recht gut mitlerweile ^-^) Muss also auch irgendwie n fehler im script sein, den ich staendig zu uebersehen scheine.
zu guter letzt, hier mein script:
-------------------------------------------------
<?php
$titel = $_POST["atitel"];
$bild = $_POST["abild"];
$link = $_POST["alink"];
$text = $_POST["atext"];
if ($titel == "") {
echo "Keinen Auktionstitel eingegeben! \n";
} else if ($bild == "") {
echo "Kein Vorschaubild eingegeben! \n";
} else if ($link == "") {
echo "Keinen Link zur Auktionsseite eingegeben! \n";
} else if ($text == "") {
echo "Keinen Kommentar eingegeben! \n";
}
else {
$text=str_replace("<","<",$text);
$text=nl2br($text);
$auktion = '<A HREF="$link" target="_blank"><B>$titel</B><BR><IMG SRC="$bild" alt="$titel" border="0"></A><BR>$text
<HR style="height: 1px; border: #587308 1px solid">';
$auktionsarchiv = "auktion.txt";
$fp = fopen($auktionsarchiv,"r");
$variable = fread($fp, filesize($auktionsarchiv));
$fp = fopen($auktionsarchiv,"w");
fwrite($fp, $auktion);
fclose($fp);
$fp=fopen($auktionsarchiv,"a");
fwrite($fp, $variable);
fclose($fp);
echo "Auktion wurde hinzugefügt";
}
?>
-------------------------------------------------
Wäre dankbar fuer schnelle (und hilfreiche =)) antworten.
mfg
muu2005
Antwort 1 von muu2005
Hab soeben einige neue feststellungen gemacht ^.^
Die "leere-felder-ueberpruef-funktion" O.o scheint nun keinen streß zumachen wenn ich die gesendeten infos nich mit dem $_POST befehl festlege, also einfach nur
$titel = "$atitel";
$bild = "$abild";
$link = "$alink";
$text = "$atext";
was irgendwie komisch is >.<
Zitat aus meinem PHP Handbuch:
HTTP POST Variablen: $_POST
Anmerkung: Dieses Array wurde mit PHP 4.1.0 eingeführt. In älteren Versionen benutzen Sie das Array $HTTP_POST_VARS. Ein assoziatives Array mit Variablen, das an das aktuelle Skript mit der POST-Methode übergeben wurde. Es ist automatisch global in allen Gültigkeitsbereichen.
zwar habe ich $HTTP_POST_VARS auch noch nie getestet, aber laut dieser aussage sin die beiden befehle doch eindeutig in solchen situationen, wie meiner anzuwenden oder?
und erkentniss nr2: er traegt das ganze nich in die .txt datei ein O.o
ausgabe funktioniert aber, habs mit echo "$auktion"; getestet.
mmm is wohl doch mehr defekt als ich anfangs vermutet hatte... naja, an der stelle, entschuldigung das ich mich mit so nem mangelhaften script ueberhaupt an die oeffentlichkeit wage, aber sonst lerne ich es wohl nie ^^°
Die "leere-felder-ueberpruef-funktion" O.o scheint nun keinen streß zumachen wenn ich die gesendeten infos nich mit dem $_POST befehl festlege, also einfach nur
$titel = "$atitel";
$bild = "$abild";
$link = "$alink";
$text = "$atext";
was irgendwie komisch is >.<
Zitat aus meinem PHP Handbuch:
HTTP POST Variablen: $_POST
Anmerkung: Dieses Array wurde mit PHP 4.1.0 eingeführt. In älteren Versionen benutzen Sie das Array $HTTP_POST_VARS. Ein assoziatives Array mit Variablen, das an das aktuelle Skript mit der POST-Methode übergeben wurde. Es ist automatisch global in allen Gültigkeitsbereichen.
zwar habe ich $HTTP_POST_VARS auch noch nie getestet, aber laut dieser aussage sin die beiden befehle doch eindeutig in solchen situationen, wie meiner anzuwenden oder?
und erkentniss nr2: er traegt das ganze nich in die .txt datei ein O.o
ausgabe funktioniert aber, habs mit echo "$auktion"; getestet.
mmm is wohl doch mehr defekt als ich anfangs vermutet hatte... naja, an der stelle, entschuldigung das ich mich mit so nem mangelhaften script ueberhaupt an die oeffentlichkeit wage, aber sonst lerne ich es wohl nie ^^°
Antwort 2 von f*euervogel
erstens nicht
$titel = $_POST["atitel"];
sondern
$titel = $_POST['atitel'];
zweitens:
mit welcher methode wird denn dein formular im html definiert?
$titel = $_POST["atitel"];
sondern
$titel = $_POST['atitel'];
zweitens:
mit welcher methode wird denn dein formular im html definiert?
Antwort 3 von muu2005
oh danke ^^° wie gesagt bin noch anfaenger.
methode im formular is POST
methode im formular is POST
Antwort 4 von muu2005
die daten werden jetzt eingrtragen, letztes problem is nur noch die $auktion variable...

