Top-Themen

Aktuelle Themen (A bis Z)

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

Formular aktualisierung verhindern.

Mitglied: 46356

46356 (Level 2)

27.08.2008, aktualisiert 29.08.2008, 4711 Aufrufe, 11 Kommentare

Guten Abend.

Grundsätzlich geht es um die Frage, wie ich es verhindern kann, dass Formulare, bei denen entweder die Url verändert wird oder die aktualisiert werden das Input Feld geleert wird...

Und zwar habe ich ein Formular (kurzform):

<form ... action="thispage.php" ...>
Name: <input type="text" name="name">
Nachname: Hier werden Einträge aus einer Datenbank geholt und der User muss den Link schlussendlich anklicken der seinem Nachnamen entspricht: Also
<a href="?surname=A">A</a>
Das a und b entspricht dem Wert aus der Datenbank ($row->A;)
<a href="?surname=B">B</a>
<input type="submit" value="Absenden">
</form>

<-- Noch mal zusammenfassend:
Der User schreibt seinen Vornamen in das Feld (Name).
Die Datenbank holt die Nachnamen. Der User klickt seinen Namen an. Der Nachname wandert in die Url.
Das Formular wird aktualisiert :@ und das Feld Vorname (Name) wird geleert. Dies möchte ich aber verhindern!

A ja und noch ein 2.tes Problem ergibt sich bei diesem Script:
Wird das Formular abgesendet, kann ich über $_HTTP_GET_VARS['surname'] den Nachnamen nicht mehr abrufen, da er nicht mehr in der URL steht.

Anmerkung: Dies ist nur ein Beispiel und in Echt wählt der User natürlich nicht seinen Nachnamen aus gg

Liebe Grüße und ich bin gespannt auf Eure Antworten,
Alex
Mitglied: bytecounter
28.08.2008 um 09:48 Uhr
Hi Alex,

also so ganz verstanden habe ich das noch nicht. Aber warum machst Du das Ganze nicht mit Ajax? Mit einem XML-Request hast Du das Problem mit der URL nicht mehr. Die Daten kannst Du einfach in einer Session speichern.
Solange Du Daten an eine URL hängst, kann man die jederzeit problemlos (absichtlich) "verbiegen"..

vg
Bytecounter
Bitte warten ..
Mitglied: Arano
28.08.2008 um 15:46 Uhr
Moin...

hm... warum werden die Nachnamen den als Hyperlinks angegeben ?
Wenn du auf einen von denen klickst, hat das mit dem eigentlichem Formular nichts mehr zu tun und dieses wird auch __nicht__ abgeschickt !

Verwende stattdessen doch das <select> (Dropdownliste).
Dann wird beim versenden auch der Name wieder mitgeschickt (weil jetzt das Formular ja abgeschickt wird) den du dann auch wieder anzeigen lassen kannst.
01.
<?php 
02.
  echo '<input type="text" name="name" value="'.(isset($_GET['name'] && trim($_GET['name'])!='' ? $_GET['name'] : '').'">'
03.
?>
~Arano

@bytecounter: weil dann auch ein alternativer Weg her __muss__ für all die die Javascript deaktiviert haben !
Meiner Meinung nach so schon richtig, erst ohne irgendwelchen Javascript zusätzen und dann für die Javascript Freunde mit Extras "erweitern".
Bitte warten ..
Mitglied: 46356
28.08.2008 um 21:40 Uhr
Hallo Arano!

Das mit der Dropdownliste habe ich mir auch schon überlegt.
Aber bei mir hat es nicht funktioniert.

Ich erklär nun schnell die Alterantive:
Es gibt 3 Themen.
Zum Beispiel: Thema A = IT
Thema B = Programmieren
Thema C = PHP
---
hier wird der Stammbaum angezeigt.

Was ich nun genau machen möchte ist, dass alle drei Werte aus einer Datenbank ausgegeben werden.
Und zwar so, dass es drei selects gibt.
Das A select ist immer das, das als erstens angezeigt wird. Dann klickt der User auf einen Wert von A, und das 2 Select wird angezeigt (in PHP / MySQL hätte ich das so realisiert: SELECT A, B FROM Links WHERE A = '$stammbaum von A'
Wie ist es aber möglich dass das ausgewählte Feld im select Tag sofort eine Variable zugewiesen bekommmt (sprich dass das zweite select ohne einen Butten etc. automatisch mit den Werten aufscheint, die zum ausgewählten A gehören....

Laut google wäre das Zauberwort dynamisches Dropdown.

Aber das ist Javascript und ich habe überhaupt keine Ahnung wie ich das mit einer Datenbank verknüpfen kann.

---
Das mit dem Vornamen etc. war nur einen Vereinfachung. In Wirklichkeit handelt es sich um die Links, die ich bis jetzt an die URL gehängt habe...

LG. Alex
Bitte warten ..
Mitglied: bytecounter
29.08.2008 um 09:17 Uhr
Hallo,

alles was sich erst beim Client entscheidet, ist Javascript. Wenn Du es ohne JS machen möchtest, bleibt Dir nichts anderes übrig, als das Formular nach der ersten Auswahl zum Server zu schicken, und das zweite Menu mit PHP zu erzeugen.

..wobei mir gerade einfällt: Vielleicht wären verschachtelte Auswahllisten Deine Lösung:
http://de.selfhtml.org/html/formulare/auswahl.htm#menuestruktur

vg
Bytecounter
Bitte warten ..
Mitglied: 46356
29.08.2008 um 10:50 Uhr
Hallo bytecounter!

Danke für den Tip! Das wäre genauso gut... :D
Aber lassen sich damit auch drei Optionen anzeigen?
Z.b.:
IT
->Programmieren
-->PHP
-->Java
-->C#
->Betriebssysteme:
-->Windows
-->Mac
usw.

Nach selfhtml geht das nicht:
Mit <optgroup> ist in HTML und XHTML nur eine einzige tiefere Ebene möglich, innerhalb eines optgroup-Elements darf kein weiteres optgroup-Element vorkommen. Eine Menüverschachtelung über mehrere Ebenen ist daher derzeit nicht realisierbar, auch wenn diese Möglichkeit mit den Worten "könnte eventuell später mal kommen" im HTML-Standard eingeräumt wird.

Vielleicht eine Alternative?
LG. Alex
Bitte warten ..
Mitglied: bytecounter
29.08.2008 um 11:26 Uhr
Hmm...langsam wird's trickreich

Du könntest so eine Verschachtelung auch nur grafisch realisieren:
01.
<optgroup label="IT"> 
02.
  <option style="padding-left:5px;" label="...">Programmieren</option> 
03.
  <option style="padding-left:10px;" label="...">PHP</option> 
04.
  <option style="padding-left:10px;" label="...">Java</option> 
05.
  <option style="padding-left:5px;" label="...">Betriebsyssteme</option> 
06.
  .... 
07.
</optgroup>
Durch das padding rückst Du den Text einfach weiter nach rechts, wodurch Du die verschiedenen Ebenen darstellst. Hat zwar den Nachteil, dass man auch auf Programmieren klicken kann, aber da würde ich dann auf der Folgeseite einfach alle dazugehörenden Themen auflisten.

Ansonsten doch Javascript..

vg
Bytecounter
Bitte warten ..
Mitglied: 46356
29.08.2008 um 12:10 Uhr
Hallo bytecounter!

Vielen, vielen Dank für die vielen Tips :D
Die letzte Möglichkeit erwies sich bis jetzt als die beste und ich werde die nun verwenden (DANKE)

LG. Alex
Bitte warten ..
Mitglied: 46356
29.08.2008 um 13:51 Uhr
Hallo nochmals...
Es funktioniert zwar, aber wie kann ich doppelte Einträge verhindern?

01.
							<select name="select">	 
02.
							<?php 
03.
							$abfrage = "SELECT A, B, C FROM Links"; 
04.
							$ergebnis = mysql_query($abfrage); 
05.
							while($row = mysql_fetch_object($ergebnis)) 
06.
07.
							?> 
08.
 
09.
											 
10.
							<optgroup label="<?php echo $row->A; ?>"> 
11.
							  <option style="padding-left:5px;" label="<?php echo $row->B; ?>"><?php echo $row->B; ?></option> 
12.
							  <option style="padding-left:10px;" label="<?php echo $row->C; ?>"><?php echo "-->".$row->C; ?></option> 
13.
 
14.
							<?php } ?> 
15.
							</select>
Hab mal ein Bild angehängt, dann seht ihr, wie ich es meine:
59fb6dd8e7f28cb817f741c8892ca2ee-thislike - Klicke auf das Bild, um es zu vergrößern
Bitte warten ..
Mitglied: 46356
29.08.2008 um 13:52 Uhr
Ach ja:
Distinct bzw. GROUP BY
bringen nichts...

Sonst bin ich wieder beim Ausgangsprobel ;)
LG. Alex
Bitte warten ..
Mitglied: bytecounter
29.08.2008 um 14:00 Uhr
Um das Bsp IT->asdf->asdf nehmen:

Dann steht "asdf" ja in den Spalten B und C, oder sehe ich da was falsch?
Ansonsten müsste ich mal den Aufbau Deiner Datenbank haben, falls ich das nu falsch verstanden hab.

Eventuell hilft Dir folgender Code:

01.
... 
02.
 <option style="padding-left:5px;" label="<?php echo $row->B; ?>"><?php echo $row->B; ?></option>  
03.
<?php if ($row->B != $row->C) { 
04.
  ?> 
05.
  <option style="padding-left:10px;" label="<?php echo $row->C; ?>"><?php echo "-->".$row->C; ?></option>  
06.
  <?php 
07.
08.
?> 
09.
...
Bitte warten ..
Mitglied: 46356
29.08.2008 um 14:32 Uhr
Hallo!

asdf steht sowohl in der Spalte B und in der Spalte C (also kein Fehler im Datenbankaufruf).
Mein einziges Problem ist nun, dass wie auf dem Bild zu sehen ist, jeder Eintrag seperat gelistet ist.

Aber ich möchte gerne, dass alles das zu IT gehört zusammengehört ;)

LG. Alex
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
IPv6 Aktualisierung
gelöst Frage von trallerBatch & Shell3 Kommentare

Hallo, ich versuche gerade ein Script zu schreiben, um die IPv6 bei einem DynDNS Anbieter zu aktualisieren. Ich muss ...

Windows Server

Druckertreiber Aktualisierung über PrintServer

Frage von 34279Windows Server5 Kommentare

Hallo zusammen, ich habe hier einen Windows Server 2008 R2 der Printserver ist. Wir haben nun für einen Drucker ...

Windows Server

Aktualisierung der Gruppenmitgliedschaft in laufender Benutzersitzung

gelöst Frage von emeriksWindows Server1 Kommentar

Hi, nach meinem Kenntnisstand muss sich ein Windows Benutzer neu anmelden, damit Änderungen an seiner direkten oder indirekten Gruppenmitgliedschaft ...

Apache Server

Joomla - Aktualisierung über das Backend möglich?

Frage von FA-jkaApache Server3 Kommentare

Hallo, ich Esel hab' mich breitschlagen lassen, mich um die Homepage von einer Vereinigung zu kümmern (in der ich ...

Neue Wissensbeiträge
Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 11 StundenWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Sicherheit

Zero Day-Schwachstelle im Internet Explorer - wird von APT bereits ausgenutzt

Information von kgborn vor 21 StundenSicherheit

Im Kernel des Internet Explorer scheint es eine Zero Day-Lücke zu geben, die von staatlichen Akteuren (APT) im Rahmen ...

Microsoft
Folder Security Viewer-Lizenzen zu gewinnen
Information von kgborn vor 21 StundenMicrosoft

Ich nehme das Thema mal in Absprache mit Frank hier auf, da es für den einen oder anderen Administrator ...

Hardware

Feueralarm killt Festplatten in Rechenzentrum - führt zu größerem Ausfall

Information von kgborn vor 22 StundenHardware12 Kommentare

Noch ein kleiner Beitrag für Administratoren, die in Rechenzentren aktiv sind - so als Fingerzeig. Denn es gibt Szenarien, ...

Heiß diskutierte Inhalte
Linux
Linux Server oder Windows Server - lohnt eine Umstellung auf Linux und ebenso basierende SW bei einer langfristigen Planung?
Frage von motus5Linux25 Kommentare

Wir brauchen bei uns einen neuen Server. Dieser wird als Fileserver, Domäne Controller sowie Exchange Server verwendet. Wir versuchen ...

DSL, VDSL
ISP Wechsel auf Vodefone Koax, Gebäudeverkabelung nur per Cat 7
gelöst Frage von wusa88DSL, VDSL18 Kommentare

Hallo Zusammen, ich bin momentan bei Mnet als Glasfaser Kunde und möchte Preis/Leistungs-Technisch zu Kabel Deutschland / Vodafone wechseln. ...

Windows Server
Domänencontroller trennen
Frage von Akit57Windows Server14 Kommentare

Hallo, ich hoffe das mir hier jemand meine Frage trotz der spärlichen Informationen die ich geben kann beantworten kann: ...

Hardware
Feueralarm killt Festplatten in Rechenzentrum - führt zu größerem Ausfall
Information von kgbornHardware12 Kommentare

Noch ein kleiner Beitrag für Administratoren, die in Rechenzentren aktiv sind - so als Fingerzeig. Denn es gibt Szenarien, ...