Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

$ POST und Meta-Refresh gleichzeitig ?

Frage Entwicklung PHP

Mitglied: agentxi

agentxi (Level 1) - Jetzt verbinden

20.09.2006, aktualisiert 05.07.2007, 8221 Aufrufe, 5 Kommentare

Guten Tag,

ich habe ein Script geschrieben (eine Grußbox) in der Können User über eine eingabe Oberfläche Daten eintragen.

Auf der anderen Seite hat eine Entsprechende person die möglichkeit diese Daten einzusehen.
Zur Zeit löse ich es so, das ich über einen Meta-Refresh die Daten aktualisiere um neue Einträge anzeigen zu lassen.

Nun möchte ich das Script erweitern. Unter anderem werden aus einem Forumal was vor diesem Script "geschaltet" ist mehrere POST Datein gesendet. Diese möchte ich auf die Ausgabe umleiten. Dies Funktioniert auch.

Jedoch sind die $POST nach einem Refresh weg, obwohl sie für die Funktion des Scripts wichtig sind. (unter anderem Username, Password in md5 form und weitere angaben)

Ich habe im ernsten Moment an Cookies gedacht, jedoch weiß ich aus eigener Erfahrung das diese ab und an doch abgeschaltet sind, drum würde ich gerne bei der post methode bleiben. Get halte ich für unsicher und die parameter könnten die 2KB grenze sprängen.

Und meine Frage nun: Muss ich cookies/ Get verwenden, oder gibt es noch weitere Alternativen ?

Vielen Dank,
agentxi
Mitglied: GreyFox
20.09.2006 um 15:49 Uhr
Wie wäre es wenn du bei deinen Meta Refresh auch eine URL mit in deinen Meta-Tag nimmst ...
also Bsp <meta http-equiv="refresh"; URL=http://localhost/;>;
Dann kannst du deine Variablen im Adressrumpf mitschleifen ... ?foo=bar z.B.
Man kann es auch kompilziert machen ^^

Oder du speicherst die Sitzung in der Datenbank, wenn du das md5 pwd nicht anzeigen willst, und liest sie immer wieder aufs neue aus

Oder du baust JavaScript mit ein ... bastelst eine hidden form und nimmst die funktion form.submit()
Bitte warten ..
Mitglied: filippg
20.09.2006 um 15:51 Uhr
Hallo,

der Meta-Refresh lässt kein Senden eines HTTP-POST zu.
Zwei Möglichkeiten:
1. Du machst es doch über GET. Die 2KB sollten kein Problem sein, PHP unterstützt ja z.b. auch Sessions, du kannst also die Daten auch einfach auf dem Server halten. Und die Sicherheit: ein POST ist genauso unverschlüsselt wie ein GET, letzteres ist lediglich etwas aufflälliger. Aber da sollte man dann halt einfach keine Nutzerdaten verwenden, sondern diese in der Session auf dem Server lassen (man kann sich auch die Mühe machen, hier eigene Tokens zu verwenden, die z.B. jeweils nur für einen Abruf gültig sind).
2. JavaScript. Damit kannst du einfach alle x Sekunden das Formular verschicken, also einen Refresh mit POST. Oder du lädst gleich ganz elegant nur einzelne Teile neu, das geht dann in Richtung AJAX.

Ich vermute fast mal, du willst dir da mit AJAX usw nicht all zu viel Arbeit machen, die schnellste (aber nicht unbedingt schönste) Lösung ist die 2a (Formularversand per JavaScript), dazu findest du auch alles im Netz.

Filipp
Bitte warten ..
Mitglied: Guenni
21.09.2006 um 18:09 Uhr
@agentxi

Hi,

ich habe dir mal drei kleine Scripte erstellt.

index.php – speichert die gesendeten Daten ab und ruft die Seite test.php auf

01.
<? 
02.
function belegen(){ 
03.
 $handle=fopen("/www/pub/werte.txt","r+"); 
04.
 foreach($_POST as $inhalt){ // an jedes Post-Element…… 
05.
  if($inhalt=="senden") break; // Wenn das Postelement der Submit-Button ist, nachfolg. code überspringen 
06.
  $inhalt.=";"; // .....wird ein Trennzeichen angehangen 
07.
  fwrite($handle, $inhalt); 
08.
09.
 fclose($handle); 
10.
11.
if($txt1 and $txt2){ // Wenn Form-Felder Daten enthalten…… 
12.
 belegen(); // ..... Funktionsaufruf..... 
13.
 header("location:test.php"); // ........ und Seite test.php aufrufen 
14.
15.
?> 
16.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
17.
 "http://www.w3.org/TR/html4/loose.dtd"
18.
 
19.
 <head> 
20.
<title></title> 
21.
</head> 
22.
<html> 
23.
<body> 
24.
<form action="index.php" method="post"
25.
<input type="text" name="txt1"
26.
<input type="text" name="txt2"
27.
<input type="submit" name="cmd" value="senden"
28.
</form> 
29.
</body> 
30.
</html>
neuedaten.html – sendet ebenfalls Formulardaten an test.php

01.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
02.
 
03.
<html> 
04.
<head> 
05.
<title>Untitled</title> 
06.
</head> 
07.
<body> 
08.
<form action="test.php" method="post"> 
09.
<input type="text" name="txt1"> 
10.
<input type="text" name="txt2"> 
11.
<input type="submit" name="cmd" value="senden"> 
12.
</form> 
13.
</body> 
14.
</html>
test.php – liest die abgespeicherten Daten aus der Datei und zeigt diese
und die Daten aus neuedaten.html an

01.
<? 
02.
$handle=fopen("/www/pub/werte.txt","r+"); 
03.
$werte=fgets($handle,10); // Dateiinhalt in Variable einlesen 
04.
fclose($handle); 
05.
$werte=split(";",$werte); // split("Trenzeichen", Variable) trennt die eingelesenen Werte mit 
06.
// Hilfe des Trennzeichens auf, und die Variable wird zum Array, das die einzelnen Werte enthält 
07.
?> 
08.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
09.
 "http://www.w3.org/TR/html4/loose.dtd"
10.
 
11.
<head> 
12.
<title></title> 
13.
</head> 
14.
<html> 
15.
<body> 
16.
<? 
17.
echo "Aktuellen gespeicherten Werte:<p>"
18.
foreach($werte as $inhalt){ 
19.
 $inhalt.="<p>"
20.
  echo $inhalt
21.
22.
echo "Neue Werte:<p>"
23.
echo "$txt1<p>"
24.
echo "$txt2<p>"
25.
?> 
26.
</body> 
27.
</html>
!! Das Verzeichnis und die Datei, wo Werte abgespeichert werden, muß Vollzugriff für
alle oder zumindest für die user/gruppe, die in der httpd.conf aufgeführt sind.

Du kannst nun von index.php Daten abspeichern und an test.php senden,
Daten von neuedaten.html an test.php senden und gespeicherte und neue
Daten zusammen verarbeiten.

Grüße
Günni
Bitte warten ..
Mitglied: agentxi
05.07.2007 um 13:02 Uhr
Danke, ich werde es über Server_sessions machen. Man hört sich
Bitte warten ..
Mitglied: filippg
05.07.2007 um 13:13 Uhr
Wow, da hat die Entscheidung aber lange gedauert.

Filipp
Bitte warten ..
Neuester Wissensbeitrag
Festplatten, SSD, Raid

12TB written pro SSD in 2 Jahren mit RAID5 auf Hyper-VServer

Erfahrungsbericht von Lochkartenstanzer zum Thema Festplatten, SSD, Raid ...

Ähnliche Inhalte
Microsoft Office
Mehr als 20 Excel Dateien öffnen gleichzeitig (7)

Frage von PizzaPepperoni zum Thema Microsoft Office ...

Windows Netzwerk
gelöst Mehrere Windows PCs gleichzeitig zur Domäne (4)

Frage von PharIT zum Thema Windows Netzwerk ...

PHP
Zend Framework - meta description

Frage von harald.schmidt zum Thema PHP ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...