php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 04.11.2004, 00:29  
Gast
 
Beiträge: n/a
Standard [Erledigt] Checkboxen in array und parse_ini übernehmen

Hallo,
ich habe ein ini-file, welches durch variable Formulare geschrieben werden soll. Jetzt habe ich das Problem, daß eine nicht markierte checkbox keinen Wert übermittelt. Der Effekt ist, daß ich zwar einmalig den Wert "1" für eine markierte checkbox schreiben kann, doch diesen nicht wieder löschen kann, weil eben kein Wert übergeben wird.

Kann mir einer helfen folgendes script zu verbessern?
Hier erstmal das ini-file (config.ini)

Code:
[news]
enable = "1"
readmore = "1"

[birthday]
enable = "1"
reminder = "1"
... hier ein Auszug aus dem Formular (für die News):

Code:
# Konfiguration einlesen
$datei = "db/config.ini";
if (!file_exists($datei)) $datei = "../db/config.ini";
$config   = parse_ini_file($datei,true);
.....
if ($config[news][enable] == 1) { 
   $check = "checked"; 
} else { 
   $check=""; 
} 

echo "News anzeigen: <input type='checkbox' name='news_enable' value='1'",$check,">";

if ($config[news][large] == 1) { 
   $check = "checked"; 
} else { 
   $check=""; 
} 

echo "News Readmore-Funktion: <input type='checkbox' name='news_readmore' value='1'",$check,">";
......
und hier die Funktion zum Schreiben des ini-files:

Code:
foreach ($config as $key1=>$array) {
      foreach ($array as $key2=>$value) {
          $postname = $key1 . "_" . $key2;
          # Wenn Post übergeben wurde, dann zuweisen...
          if (isset($HTTP_POST_VARS[$postname])) {
             $config[$key1][$key2] = $HTTP_POST_VARS[$postname];
             }
      }
 }

if (WriteIni($config,"../db/config.ini")) {
    echo "Die Konfiguration wurde erfolgreich geschrieben!";
}

# ini-db schreiben #
function WriteIni($assoc_arr, $path)  {
$content = "; CONFIG-Datei für die Page4You-Hauptkonfiguration\n; Diese Datei wird im Adminstrationsbereich mittels\n; Web-Oberfläche [CONFIG] geschrieben\n\n";

foreach ( $assoc_arr as $key=>$elem )  {
  $content .= "[".$key."]\n";
  foreach ( $elem as $key2=>$elem2) {
     $content .= $key2." = \"".$elem2."\"\n";
  }

  $content .= "\n";
}

if (!$handle = fopen($path, 'w')) {
  return false;
}

if (!fwrite($handle, $content)) {
   return false;
}

fclose($handle);
return true;

}
Das ini-file hat ca. 200 Einträge und über die Formulare soll immer nur ein gewisser Bereich des ini-files neu geschrieben werden.

Danke schonmal.... ich hoffe Ihr versteht was ich meine.
Thomas
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 04.11.2004, 01:09  
Gast
 
Beiträge: n/a
Standard Re: Checkboxen in array und parse_ini übernehmen

Zitat:
Zitat von thgorjup
ich habe ein ini-file, welches durch variable Formulare geschrieben werden soll. Jetzt habe ich das Problem, daß eine nicht markierte checkbox keinen Wert übermittelt.
Hier stellen fortgeschrittene PHP Programmierer Fragen. Dazurechnen kannst Du Dich allerdings erst dann, wenn Du das PHP Handbuch und die üblichen FAQ gelesen hast.

11.10. Wie kann man Checkboxen verarbeiten?
http://php-faq.info/index.php?aktion...id=126&lang=de
  Mit Zitat antworten
Alt 04.11.2004, 10:04  
Gast
 
Beiträge: n/a
Standard

Natürlich kenn ich die FAQ zu den Checkboxen. War mein ersten Anlaufpunkt. Aber dort steht nicht das was ich wissen will. Ich nehme an, Du hast nicht verstanden was ich meine.

Mir würde es schon reichen, wenn ich weis, wie ich einen Wert (z.B. 0) für eine nicht markierte Checkbox per POST übergeben kann.

Wird nämlich nichts übergeben, ist "isset($HTTP_POST_VARS[$postname])" = FALSE und das will ich eben nicht. Soll TRUE sein mit Inhalt = "0"

Gruß
Thomas
  Mit Zitat antworten
Alt 04.11.2004, 10:07  
Gast
 
Beiträge: n/a
Standard

print_r( $_POST ); ?
  Mit Zitat antworten
Alt 04.11.2004, 17:58  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von thgorjup
Natürlich kenn ich die FAQ zu den Checkboxen. War mein ersten Anlaufpunkt. Aber dort steht nicht das was ich wissen will. Ich nehme an, Du hast nicht verstanden was ich meine.
Deine Frage hatte ich schon verstanden, Du allerdings nicht die Antwort.
Zitat:
Mir würde es schon reichen, wenn ich weis, wie ich einen Wert (z.B. 0) für eine nicht markierte Checkbox per POST übergeben kann.
Dann hast Du die FAQ wohl nicht verstanden. Es werden nur aktivierte Checkboxen übermittelt. Auch bei Radiobuttons und Select Feldern werden nur die ausgewählten Wert übertragen.

Und für den Fall, daß es absolut nicht möglich ist, daß Script 2 per include eine Liste der vorhandenen Formularvariable bekannt gemacht werden kann, gibt es immer noch die Möglichkeit, diese Liste in einer Session abzulegen. Und diese Liste arbeitest Du eben ab und guckst mit isset() nach, ob der Client dazu was zurückgemeldet hat.
  Mit Zitat antworten
Alt 05.11.2004, 00:29  
Gast
 
Beiträge: n/a
Standard

Ok, mit dieser Antwort kann ich schon mehr anfangen.
Werd mal was zurecht coden.... Danke!

Gruß
Thomas
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Turnierbaum aus array erstellen kingflo PHP-Fortgeschrittene 11 30.07.2008 11:32
Soapfault: Undefined Property Argi PHP-Fortgeschrittene 0 28.07.2008 11:17
ARRAY: alle möglichen Kombinationen Tentacle PHP Tipps 2006 13 12.05.2006 00:18
Übersicht aus mehrdimensionalem Array erzeugen Crypi PHP-Fortgeschrittene 0 30.01.2006 13:44
Array auslesen andrew22 PHP Tipps 2006 3 21.01.2006 23:06
Array Formatierung PHP Tipps 2006 3 17.01.2006 19:12
Menü mit Unterpunkten supertramp Beitragsarchiv 7 18.10.2005 22:40
Problem beim vergleichen von 2 Arrays PHP Tipps 2005-2 1 06.10.2005 14:25
(schnellere) Funktion zum Zusammenfassen von CSS PHP-Fortgeschrittene 21 08.08.2005 16:47
Sortieren von Arrays mit mehr als 2 Dimensionen (Teil 2) Buhmann PHP-Fortgeschrittene 4 12.07.2005 14:03
Array wie auslesen? PHP Tipps 2005 7 07.03.2005 11:43
[Erledigt] Mehrdimensionales Array in eindimensionales Array umwandeln PHP-Fortgeschrittene 3 03.01.2005 22:31
Abfrage mit id aus anderer Tabelle suter PHP Tipps 2004-2 15 16.12.2004 14:25
Array aus Checkboxen wird nicht korrekt gefüllt PHP-Fortgeschrittene 5 23.08.2004 17:24

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php parse_ini, php markierte bereich neu in eine datei schreiben, php array übernehmen, checkbox value $handle = fopen, parse_ini, checkbox php value von datei übernehmen, nicht aktivierte checkbox mit post übertragen, checkbox array nicht markiert, php checkbox kein wert, checkbox php checked name in array schreiben, augewählte checkboxen per post übergeben, checkboxen als array übermittelt

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:25 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.