Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo,

ich hänge gerade an einem kleinen Problem fest. Vielleicht kann

mir ja jemand von euch helfen.

ich habe ein Script, welches eine unbestimmte Anzahl von Variablen übergeben bekommt. Diese Variablen haben alle den gleichen Namen mit einer sich vortlaufend um 1 erhöhenden Nummer hinten dran:

$chk_box0

$chk_box1

$chk_box2

$chk_box3

u.s.w.

Kennt jemand eine Möglichkeit zu ermitteln, wieviele Variablen übergeben wurden?

Vieleicht in einer Schleife mit dem Befehl isset()?

$i = 0;

while (isset($chk_box$i)){

$i++;

}

So funktioniert halt die schreibweise der Variablen nicht...

Vielen Danl schon mal

Oneside

Am besten du gehst das array $HTTP_GET_Vars durch, so bekommst du alle Variablen die übergeben werden, und dann kannst du eventuell noch nach den Bestimmten Variablen filtern die du brauchst filtern:


reset ($HTTP_GET_VARS);
$i=0;
while (list ($key, $val) = each ($HTTP_GET_VARS)) {
$i++;
}
[/PHP]

bzw $HTTP_POST_VARS wenns von Checkboxen kommt...

Gruß

Fraggy

Originally posted by Fraggy

Am besten du gehst das array $HTTP_GET_Vars durch, so bekommst du alle Variablen die übergeben werden, und dann kannst du eventuell noch nach den Bestimmten Variablen filtern die du brauchst filtern:

bzw $HTTP_POST_VARS wenns von Checkboxen kommt...

Sind $HTTP_GET_VARS und $HTTP_POST_VARS nicht allein abhaengig von der verwendeten Methode?

ääh ... ;)

Da hast du natürlich auch wieder recht...

Originally posted by Schledo

Wieso übergibst Du die Variablen nicht schon in einem Array mit fortlaufendem Index ? Das würde die dann anfallende Überprüfung doch sehr erleichtern.

Weil Deine Loesung nicht mit ausgeschalteten register_globals (Standard ab php 4.2) funktioniert.;)

Originally posted by oneside

$i = 0;

while (isset($chk_box$i)){

$i++;

}

So funktioniert halt die schreibweise der Variablen nicht...

Probier's so:

$i = 0;

while( isset( ${"chk_box".$i} ) ) {

$i++;

}

So hats funktioniert!

Danke für Eure schnelle Hilfe!

Die Frage ist zwar beantwortet, aber nur als Nachtrag :

Weil Deine Loesung nicht mit ausgeschalteten register_globals (Standard ab php 4.2) funktioniert.
Das war nirgendswo hier zu lesen, aber egal.

> Weil Deine Loesung nicht mit

> ausgeschalteten register_globals (Standard ab php 4.2) funktioniert

Die letzte Lösung wohl ebenso wenig.

Aber soll das etwa heissen, dass man nun

keine Arrays mehr übergeben kann?

Würde mich ehrlich wundern.

Originally posted by Schledo

Die Frage ist zwar beantwortet, aber nur als Nachtrag :

Das war nirgendswo hier zu lesen, aber egal.

Stimmt.

Nur brauchst Du Dich nicht wundern, dass Skripte in neueren Versionen ohne Anpassung (im Quellcode oder in /etc/php.ini) nicht mehr richtig funktionieren.

Originally posted by hades

Stimmt.

Nur brauchst Du Dich nicht wundern, dass Skripte in neueren Versionen ohne Anpassung (im Quellcode oder in /etc/php.ini) nicht mehr richtig funktionieren.

Also?

Keine Lust auf meine Frage einzugehen?

@Ryson:

Egal ob register_globals on oder off ist, Du kannst immer Arrays an Funktionen uebergeben.

Meine Aussage:

Weil Deine Loesung nicht mit ausgeschalteten register_globals (Standard ab php 4.2) funktioniert.

ist fuer Schledos Loesungsansatz nicht zutreffend. Es bezog sich faelschlicherweise auf das Uebergeben mit Post und Get und nicht auf das grundsaetzliche Uebergeben von Argumenten und Parametern an Funktionen.

So langsam weichen wir vom bereits geloesten Problem ab.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.