SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Das Zend Framework

Das Zend Framework zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #11  
Alt 03.06.2005, 17:19:11
abrodeck abrodeck ist offline
Anfänger
 
Registriert seit: May 2005
Beiträge: 9
AW: verschachteltes if ... then

Hallo nochmal,
hat ein bischen gedauert (hab leider noch was anderes zu tun).
Die Sache die mir vorschwebte mit dem disablen der Felder bei entsprechenden Bedingungen habe ich inzwischen verworfen. Es hätte zwar geklappt, aber in den tiefen Schachtelungen sieht man dann bald nicht mehr durch. Ich frage nun einfach vor dem schreiben in die DB meine Bedingungen ab und gebe einsprechende Meldungen aus. Das geht genausogut, der Code ist nicht so lang und der User erfährt wenigstens warum was nicht geht.

Meinen Code von ganz oben habe ich aber doch ein bisschen abgeändert. Es ist nun alles PHP mit HTML über echo. Bin trotzdem für Kritik offen, denn man kann nur lernen ;o))

PHP-Code:
<?php
$eintrag 
mysql_fetch_array($eintraegeMYSQL_ASSOC);
@
reset($eintrag);
$anzahl  count($eintrag);

// Schleife ausfuehren um Tabelle mit Mitarbeiterdaten aufzubauen
$i=0;
while (
$i <= $anzahl-1) {
    
$key  key($eintrag);
    
$wert $eintrag[$key];

// "Schulamt" soll nicht editierbar sein
// Wenn die Schleife den key "Schulamt" erreicht wird der entsprechende Wert in
// ein nicht editierbares Input ausgegeben, damit es nicht verändert werden kann
// eine entsprechende Meldung wird mit ausgegeben
if ($key == "Schulamt") {

    echo(
"<tr>");
    echo(
"<td class=\"mittel\" align=\"center\" bgcolor=\"#979797\">$key:");
    echo(
"</td>");
    echo(
"<td class=\"mittel\" align=\"center\" bgcolor=\"#979797\">");
    echo(
"<input type=\"text\" size=\"60\" maxlength=\"80\" value=\"$wert (nicht &auml;nderbar)\"
    name=\"$key\" disabled=\"yes\">"
);
    echo(
"</td>");
    echo(
"</tr>");
    }

    else {

//Das "else" der übergeordneten if-Anweisung
//Die anderen Felder werden nicht gesperrt
echo("<tr>");
echo(
"<td class=\"mittel\" align=\"center\" bgcolor=\"#979797\">$key:");
echo(
"</td>");
echo(
"<td class=\"mittel\" align=\"center\" bgcolor=\"#979797\">");
echo(
"<input type=\"text\" size=\"60\" maxlength=\"80\" value=\"$wert\" name=\"$key\">");
echo(
"</td>");
echo(
"</tr>");
}

$i++;
@
next ($eintrag);
}
?>
Danke nochmal an alle !

Gruß

Andreas
__________________
Die einen sehen in jeder Herausforderung ein Problem, die anderen sehen in jedem Problem eine Herausforderung !
Mit Zitat antworten
  #12  
Alt 08.06.2005, 03:01:33
AA AA ist offline
Anfänger
 
Registriert seit: Mar 2005
Beiträge: 5
AW: verschachteltes if ... then

zwischen
Code:
$wert = $eintrag[$key];
und
Code:
$i++;
alles löschen.

dann nochmal nachdenken: es soll prinzipiell das gleiche gerüst ausgegeben werden. lediglich 2 eigenschaften ändern sich innerhalb des gerüstes in abhängigkeit irgendeiner bedingung.

das heisst, du schreibst das so um, dass du bei bedarf die sich unterscheidenden eigenschaften einfügst oder weglässt (oder änderst).

statt dem gelöschtem code fügst du das hier ein:

Code:
$field_disabled = ( $key == 'Schulamt' ) ? ' disabled="disabled"' : '';
$readonly_txt = ( $key == 'Schulamt' ) ? ' (nicht &auml;nderbar)' : '';

echo('<tr>');
echo('<td class="mittel" align="center" bgcolor="#979797">'. htmlspecialchars($key) .':');
echo('</td>');
echo('<td class="mittel" align="center" bgcolor="#979797">');
echo('<input type="text" size="60" maxlength="80" value="'. htmlspecialchars($wert). $readonly_txt .'"
		name="'. htmlspecialchars($key) .'"'. $field_disabled .'>');
echo("</td>");
echo("</tr>\n");
die beiden "eigenschaften" die sich je bedingung ändern, sind ganz oben definiert. das ist einmal das "disabled" und einmal die ergänzung des textes im gesperrten eingabefeld.

beide variablen werden im nachfolgendem html-code eingesetzt und je nach bedingung mit den festgelegten werten gefüllt oder auch nicht. damit sparst du nicht nur code, sondern musst bei änderungen des codes nicht 2 blöcke ändern (die ja auch umfangreicher sein könnten).

übrigens: wenn in deinen html-feldern einfach die werte aus der datenbank eingefügt werden, dann dürfen da keine anführungszeichen dabei sein, sonst zerhaut es dir die darstellung. von sicherheitsaspekten mal ganz abgesehen.

ich habe das in meinem beispiel gleich mit korrigiert (htmlspecialchars).
Mit Zitat antworten
  #13  
Alt 15.06.2005, 12:40:41
abrodeck abrodeck ist offline
Anfänger
 
Registriert seit: May 2005
Beiträge: 9
AW: verschachteltes if ... then

@ AA

danke für diese Version, sie scheint ein wenig einfacher zu sein als meine. Werde es bei Gelegenheit mal testen, denn im Moment habe ich meine andere Version am laufen.
Danke auch für den Hinweis mit "htmlspecialchars"

Gruß
Andreas
__________________
Die einen sehen in jeder Herausforderung ein Problem, die anderen sehen in jedem Problem eine Herausforderung !
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Array in Function shewolf PHP Grundlagen 5 01.02.2003 19:21:48


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:15:50 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt