Auswertung des Pulldownmenüs
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abruf
action
adresse
anzeigen
aussehen
auswahl
auswertung
brauchst zwei
datei
dateiname
eintrag
exit
formen
formular
gel
quelltext
script
space
testphase
variable
-
MIttlerweile wei? es wohl jeder...ich versuch da halt was mit ner Textdateiverwaltung.
Kein Bock das jetzt alles zu beschreiben.
aus jeden fall wird nun f?r jede erstellte datei ein eintrag in die Datenbank erstellt, und dann in dem pulldown men? ?ber eine while() schleife ausgegeben.
Jetzt will ich, dass die angew?hlte datei aus der Db gel?scht wird(Das si ja kein problem)
aber dass die datei vom space gel?scht wird...
mit unlink() kenn ich das ja.
Aber wie man das mit dem Pulldownmen? macht...?.... -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
hallo
echo "Auswahl: " . $auswahl;
<br>
<form action="test.php" method="post" enctype="multipart/form-data">
<select name="auswahl" size="1">
<option>Auswahl1</option>
<option>Auswahl2</option>
<option>Auswahl3</option>
<option>Auswahl4</option>
<option>Auswahl5</option>
</select>
<input type="submit" value="Submit">
Im unteren Teil des Codes steht das Formular. Oben ist die Auswertung. Wenn du jetzt dem <select> den einen Namen gibst, kannst du nachher den Text des angew?hlten Elementes unter der Variable mit dem selben Namen abrufen.
Ich hoffe ich habe deine Frage beantworten k?nnen. Sonst frag einfach nochmals nach. -
die Datei-namen werden ja von der DB importiert.
Und die form action() kapier ich nicht so ganz...ich will es ja noch in der gleichen datei l?schen. -
Du kannst bei action= auch wieder den Namen angeben von der Datei in der das Formular steht.
Wie sieht denn dein Formular bis jetzt aus.
Poste mal den Quelltext, dann kann man dir vielleicht besser helfen. -
das formular ist direkt in der gleichen datei.
code:
loeschen.php
<html> <head><?php include('confic.inc.php');?>//in der confic wird die verbinfund zur DB aufgebaut. <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <a href="index.php">Zur?ck</a><br> Datei ausw?hlen, um zu l?schen:<br> <form method="post"> <select name="datei_select"> <?php $sql='SELECT * FROM dateien'; $query=mysql_query($sql); while($fetch=mysql_fetch_array($query)) { echo'<option>'.$fetch['Name'].'</option>'; } ?> .txt </select> </form> <br><br><br><br><br><bR><br> ___________________________________________<br> Ausgew?hlte Datei:<form method="post"><input type="Submit" name="loeschen" value="L?schen"></form> </body> </html>
-
Du brauchst zwei PHP-Scripts:
Das erste zeigt das Formular an und ruft das zweite auf, wenn das Formular abgesendet wurde.
Das zweite pr?ft, ob die Datei existiert und l?scht sie dann. Au?erdem sollte es eine Erfolgs- oder Fehlermeldung anzeigen, damit man sieht, ob der L?schversuch geklappt hat.
In der Testphase w?rde ich dir f?r die ?bertragung des Dateinamens die Methode GET vorschlagen. Da siehst du gleich, ob das Formular die richtige Option ausgew?hlt hat. Sp?ter kannst du das ohne weiteres ?ndern. Du musst in deinem PHP-Script nur die Variable $_REQUEST statt $_POST verwenden.
Ganz kurz und unvollst?ndig:
Script1:
<?php
$script2 = 'Name_des_zweiten_Scriptes.php';
printf(
'<form action="%s" method="%s">',
$script2,
GET
);
// hier jetzt deine Datenbankabfrage
// mit Formularausgabe
...
print('</form>');
?>
Script2:
<?php
$form_name = 'datei_select';
$base_path = 'txt/';
if( !isset( $_REQUEST[$form_name] ) ) {
print('Keine Datei ausgew?hlt!');
exit();
}
if( !file_exist( $base_path.$_REQUEST[$form_name] ) ) {
print('Die ausgew?hlte Datei existiert nicht!');
exit();
}
if( unlink( $base_path.$_REQUEST[$form_name] ) === FALSE ) {
print('Die ausgew?hlte Datei konnte nicht gel?scht werden!');
exit();
}
print('Datei wurde gel?scht.');
exit();
?> -
es k?nnte ja so gehen
//button //restslicher HTML-code <?php if($_POST['loeschen']) { unlink('txt/'.$fetch['Name'].'.txt'); }
das geht aber nciht.
eigentlich will ich nur wissen, wie es in der art dieses scripts geht.
Beitrag ge?ndert am 23.10.2005 12:04 von benutzernaemelchen -
Das geht deshalb nicht in einem Vorgang, weil der Browser das "ausgewertete Formular" an die Adresse beim Server schickt, die mit "action" angegeben wurde.
Wenn Script1 (mit Formular) in deinem Browser erscheint, wei? der Server (und damit Script1) schon nichts mehr von deinem Men?.
Erst wenn du das Formular abschickst, erf?hrt der Server (und damit Script2), welche Datei du im Browser ausgew?hlt hast.
Mann k?nnte zwar beide Vorg?nge in einem Script kombinieren, aber das w?rde die Sache nur verkomplizieren. Dazu m?sstest du am Anfang des Scripts eine Abfrage machen, ob $_REQUEST['datei_select'] gesetzt wurde. Wenn nicht, zeigst du das Formular an. Wenn ja, dann l?schst du die Datei. Es bleiben aber zwei getrennte Vorg?nge.
Ein grobes Grundger?st k?nnte so aussehen:
$form_name = 'datei_select';
if( !isset( $_REQUEST[$form_name] ) )
{
// mach es wie in Script 1
...
exit();
}
else
{
// mach es wie in Script2
...
exit();
}
Die Anzeige des Formulars sollte dann aber auch anders aussehen, da ja immer das gleiche Script aufgerufen wird:
printf(
'<form action="%s" method="%s">',
$_SERVER['PHP_SELF'],
GET
);
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage