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
GELÖST

variabler DOLLAR POST

Frage Entwicklung PHP

Mitglied: agentxi

agentxi (Level 1) - Jetzt verbinden

15.12.2006, aktualisiert 21.08.2007, 3347 Aufrufe, 4 Kommentare

Guten Abend.

ich möchte mit einer schleife alle POST's auslesen

die schleife sieht ungefähr so aus:

While ($i < 10)
{
echo '<input name="bla'.$i'" />
}
Der Generierte Code ist sauber, so wie ich ihn haben möchte. Nun möchte ich diese Felder alle auswerten:
(Auch schleife)
$bla = $_POST["feldname.$id"];

Mein Problem ist das ich diesen "dynamischen" Post nicht hinbekomme.
möchte als ergebnis es so haben:

1. Durchlauf
$bla = $_POST["feldname1"];

2. Durchlauf
$bla = $_POST["feldname2"];

...

Denke das ist schnell beantwortet
Mitglied: Dani
16.12.2006 um 00:07 Uhr
G' Abend,
probier es mal so:
01.
..... 
02.
echo "<input name='bla.".$i."'>"; 
03.
....
Gruß
Dani
Bitte warten ..
Mitglied: Guenni
17.12.2006 um 15:40 Uhr
@agentxi

Hi,

wenn du bestimmte Daten eines Formulars abfragen willst,
z.B. die Felder, die nur eine Adresse beschreiben, kannst du
diese Felder gruppieren.

01.
<form action="test.php" method="post"> 
02.
<input type="text" name="adresse[]"> 
03.
<input type="text" name="adresse[]"> 
04.
<input type="text" name="adresse[]"> 
05.
<input type="text" name="adresse[]"> 
06.
<input type="submit" value="Anzeigen" name="cmd" /> 
07.
</form>
Das sind 4 Textfelder, die zwar alle den gleichen Namen haben,
durch die eckigen Klammern "sieht" PHP diesen Variablennamen
als Array an.

Das sähe als einfache Variante z.B. so aus:

01.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
02.
<html> 
03.
<head> 
04.
<title>Untitled</title> 
05.
</head> 
06.
<body> 
07.
<? 
08.
$i=0; 
09.
while($i<count($adresse)){ 
10.
 $bla[$i]=$adresse[$i]; 
11.
 $i++; 
12.
13.
for($i=0;$i<count($bla);$i++){ 
14.
  if(strlen($bla[$i])>0){ 
15.
 echo $bla[$i]."
16.
"; 
17.
18.
19.
?> 
20.
<form action="test.php" method="post"> 
21.
<input type="text" name="adresse[]"> 
22.
<input type="text" name="adresse[]"> 
23.
<input type="text" name="adresse[]"> 
24.
<input type="text" name="adresse[]"> 
25.
<input type="submit" value="Anzeigen" name="cmd" /> 
26.
</form> 
27.
</body> 
28.
</html>
Problem an der Sache ist, dass auch Leerzeichen Zeichen sind. Deshalb:

01.
for($i=0;$i<count($bla);$i++){ 
02.
  if(strlen($bla[$i])>0){  //Prüfen, ob Stringlänge größer 0 
03.
 echo $bla[$i]."
04.
"; 
05.
06.
}
Gibt jemand nun ein Leerzeichen ein, so wird das Textfeld trotzdem
ausgewertet, obwohl es ja keine sinnvollen Daten enthält.

Wenn du damit nicht zurechtkommst, wirst du wohl das Textfeld mit
einem regulären Ausdruck auf gültige Zeichen prüfen müssen.

Grüße
Günni
Bitte warten ..
Mitglied: agentxi
05.07.2007 um 13:05 Uhr
Ich habe etwas geschummelt *g*

while($i>10)
{ echo '<input type="hidden" name="data'.$i.'" />';
$i++;}

und genauso lese ich es dann über post wieder aus.
Bitte warten ..
Mitglied: masterG
21.08.2007 um 11:57 Uhr
Ich schließe diesen Thread da die Antowrt gefunden wurde und daher keine weiteren antworten nötig sind.

masterG
(Moderator)
Bitte warten ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(1)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Debian
gelöst Passwörter in Skripten die mit Dollar-Ausrufezeichen beginnen (5)

Frage von crackhawk zum Thema Debian ...

VB for Applications
gelöst ComboBox mit Variabler aus Makro verknüpfen (5)

Frage von Anrion zum Thema VB for Applications ...

Windows 10
Microsoft lobt 15.000 Dollar für Remote nutzbare Bugs in Edge aus (1)

Link von runasservice zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Hyper-V
gelöst Reiner Hyper- V Server oder lieber Rolle (32)

Frage von Winuser zum Thema Hyper-V ...

Linux Netzwerk
gelöst DHCP vergibt keine Adressen (30)

Frage von Maik82 zum Thema Linux Netzwerk ...

Exchange Server
gelöst Bestehende eMails autoamatisch weiterleiten (22)

Frage von metal-shot zum Thema Exchange Server ...

Apache Server
gelöst Lets Encrypt SSL mit Apache2 (20)

Frage von banane31 zum Thema Apache Server ...