php.de

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

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 10.11.2004, 16:03  
Gast
 
Beiträge: n/a
Standard kalender - variablenuebermittlung

hi!
ich habe versucht ein script zu programmieren für einen kalender mit dem ich durch die monate schalten kann. dazu hab ich eine function geschrieben welche die kalendertabelle ausgibt und eine wo die neuen variablen für die 2 neuen monate (vormonat,folgender monat) ausgerechnet und weitergegeben werden sollen, jedoch funktioniert die variablenweitergabe einfach nicht... kann mir jemand bitte helfen??

die kalender klasse:
PHP-Code:
<?
//classes
class calendarSettings 
{
    var 
$tablewidth    300;
    var 
$tableheight   300;
    var 
$fontface      "Arial";
    var 
$fontsize      10;
    var 
$bordersize    1;
    var 
$bordercolor   "#000000";
    var 
$bg_color      "#ffffff";
    var 
$font_color    "#000000";
    var 
$bg_we_color   "#ffffff";
    var 
$font_we_color "#000000";

function 
calendarSettings () {
    if (
func_num_args() == 10) {
        
$array_args func_get_args();
        
$this->tablewidth  $array_args[0];
        
$this->tableheight $array_args[1];
        
$this->fontface    $array_args[2];
        
$this->fontsize    $array_args[3];
        
$this->bordersize  $array_args[4];
        
$this->bordercolor $array_args[5];
        
$this->bg_color    $array_args[6];
        
$this->font_color  $array_args[7];
        
$this->bg_we_color $array_args[8];
        
$this->font_we_color $array_args[9];
        }
    }

}
?>
die funktionen:
PHP-Code:
<?
$date 
time(); 
$yy date("Y"); 
$mm date("m"); 
$dd date("d"); 

function 
previousNext ($dd,$mm,$yy) {

    
$today getdate();
    
$month $mm;
    
$year $yy;
        
    
$today getdate();
    
$month = isset($month) ? $month  $today['mon'];
    
$year  = isset($year)  ? $year   $today['year'];

    
$lastyear  = ($month==1) ? $year-$year;
    
$lastmonth = ($month==1) ? 12      $month-1;

    
$nextyear  = ($month==12) ? $year+$year;
    
$nextmonth = ($month==12) ? 1       $month+1;


print 
"<a href=\"index.php?mm=$lastmonth&yy=$lastyear\"> << Vormonat </a>";
print 
"<a href=\"index.php?mm=$nextmonth&yy=$nextyear\"> Nächster Monat >> </a>";

}

function 
calendar($dd,$mm,$yy) {
        
    
$month $mm;
    
$year $yy;
        
    
$today getdate();
    
$month = isset($month) ? $month  $today['mon'];
    
$year  = isset($year)  ? $year   $today['year'];
    
$cal_sett = isset($cal_sett) ? $cal_sett : new calendarSettings();

    
$firstday getdate(mktime(000$month1$year));
    
$lastday  date("t"mktime(000$month1$year));
    
    
$monthday 1;
    
    print 
"<table width=$cal_sett->tablewidth height=$cal_sett->tableheight border=0 cellspacing=0 cellpadding=0><tr><td bgcolor=$cal_sett->bordercolor>\n";
    print 
"<table width=100% height=100% border=0 cellspacing=$cal_sett->bordersize cellpadding=0>\n";
        print 
"<tr height=14%>\n";
    print 
"    <td width=15% bgcolor=\"$cal_sett->bg_color\" align=center><font style=\"font: bold ".$cal_sett->fontsize."pt $cal_sett->fontface; color: $cal_sett->font_color\">SO</font></td>\n";
    print 
"    <td width=14% bgcolor=\"$cal_sett->bg_color\" align=center><font style=\"font: bold ".$cal_sett->fontsize."pt $cal_sett->fontface; color: $cal_sett->font_color\">MO</font></td>\n";
    print 
"    <td width=14% bgcolor=\"$cal_sett->bg_color\" align=center><font style=\"font: bold ".$cal_sett->fontsize."pt $cal_sett->fontface; color: $cal_sett->font_color\">DI</font></td>\n";
    print 
"    <td width=14% bgcolor=\"$cal_sett->bg_color\" align=center><font style=\"font: bold ".$cal_sett->fontsize."pt $cal_sett->fontface; color: $cal_sett->font_color\">MI</font></td>\n";
    print 
"    <td width=14% bgcolor=\"$cal_sett->bg_color\" align=center><font style=\"font: bold ".$cal_sett->fontsize."pt $cal_sett->fontface; color: $cal_sett->font_color\">DO</font></td>\n";
    print 
"    <td width=14% bgcolor=\"$cal_sett->bg_color\" align=center><font style=\"font: bold ".$cal_sett->fontsize."pt $cal_sett->fontface; color: $cal_sett->font_color\">FR</font></td>\n";
    print 
"    <td width=15% bgcolor=\"$cal_sett->bg_color\" align=center><font style=\"font: bold ".$cal_sett->fontsize."pt $cal_sett->fontface; color: $cal_sett->font_color\">SA</font></td>\n";
    print 
"</tr>\n";


while (
$monthday <= $lastday) {
        print 
"<tr>\n";
        for (
$i=0;$i<7;$i++) {
            if ((
$i >= $firstday['wday'] && $monthday <= 7) || ($monthday <= $lastday && $monthday > (7-$firstday['wday']))) {
                
                    if (
$i == || $i == 6)
                        print 
"    <td bgcolor=\"$cal_sett->bg_we_color\" align=center><font style=\"font: ".$cal_sett->fontsize."pt $cal_sett->fontface; color: $cal_sett->font_we_color\">$monthday</font></td>\n";
                    else
                        print 
"    <td bgcolor=\"$cal_sett->bg_color\" align=center><font style=\"font: ".$cal_sett->fontsize."pt $cal_sett->fontface; color: $cal_sett->font_color\">$monthday</font></td>\n";
                    
                    
                
$monthday++;
                }
            else {
                if (
$i == || $i == 6)
                    print 
"    <td bgcolor=\"$cal_sett->bg_we_color\" align=center><font style=\"font: ".$cal_sett->fontsize."pt $cal_sett->fontface; color: $cal_sett->font_color\"></font></td>\n";
                else
                    print 
"    <td bgcolor=\"$cal_sett->bg_color\" align=center><font style=\"font: ".$cal_sett->fontsize."pt $cal_sett->fontface; color: $cal_sett->font_color\"></font></td>\n";
                }
            }
        print 
"</tr>\n";
        }

    print 
"<tr height=14%>\n";
    print 
"    <td colspan=7 bgcolor=\"$cal_sett->font_color\" align=center><font style=\"font: bold ".$cal_sett->fontsize."pt $cal_sett->fontface; color: $cal_sett->bg_color\">" .$firstday['month']." ".$firstday['year']."</font></td>\n";
    print 
"</tr>\n";

    print 
"</table>\n";
    print 
"</td></tr></table>\n";

    }
?>
und die index.php datei
PHP-Code:
<? 
include ("class.php");
include (
"function4.php");
?>
<html>
<head>
</head>
<body>
<table>
<tr><td align="center">
<? 
previousNext
($dd,$mm,$yy);
calendar($dd,$mm,$yy); 
?></td></tr>
</table>
</body>
</html>
danke für eure bemühungen
mfg
phpnooby
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 10.11.2004, 19:07  
Gast
 
Beiträge: n/a
Standard

Samal:
Wo rufst du den dd und yy aus der URL ab?
und oder wo machst du bei previousNext () $dd,$mm und $yy global?
Ich glaub du hast nen kleinen Denkfehler drin!
  Mit Zitat antworten
Alt 10.11.2004, 22:45  
Gast
 
Beiträge: n/a
Standard

ja $dd,$mm und $yy sind am anfang des scripts definiert und werden dann in previousNext verändert und sollten dann dort per link wieder an die seite zurückgegeben und geändert werden.... aber kann sein, dass es so nicht funktionieren kann....
mlg
  Mit Zitat antworten
Alt 11.11.2004, 22:49  
Gast
 
Beiträge: n/a
Standard

Also ich sehe da auf jeden fall kein $_GET und da muss auf jedenfall irgendwo eins sein!
  Mit Zitat antworten
Alt 11.11.2004, 23:17  
Gast
 
Beiträge: n/a
Standard

wo muss ich denn das hinschreiben??
  Mit Zitat antworten
Alt 12.11.2004, 08:22  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 643
kid01 befindet sich auf einem aufstrebenden Ast
kid01 eine Nachricht über Skype™ schicken
Standard

previousNext($dd,$mm,$yy);
calendar($dd,$mm,$yy);

previousNext($_GET['dd'],$_GET['mm'],$_GET['yy']);
calendar($_GET['dd'],$_GET['mm'],$_GET['yy']);


form method=POST ->$_POST['var']
form method=GET ->$_GET['var']
kid01 ist offline   Mit Zitat antworten
Alt 12.11.2004, 19:21  
Gast
 
Beiträge: n/a
Standard

1. längst keine Fortgeschrittene Frage..
2.
Zitat:
previousNext($_GET['dd'],$_GET['mm'],$_GET['yy']);
calendar($_GET['dd'],$_GET['mm'],$_GET['yy']);
Öh ja aber immer daran das sowas von Client kommt und abgefragt werden sollte!
So:
PHP-Code:
$dd $_GET['dd'];
$mm $_GET['mm'];
$yy $_GET['yy'];
if(!
is_numeric($dd) || $dd 31)
{die(
'Fehler: Validierung von $dd im Eimer!'); }
if(!
is_numeric($mm) || $mm 12)
{die(
'Fehler: Validierung von $mm im Eimer!'); }
if(!
is_numeric($yy))
{die(
'Fehler: Validierung von $yy im Eimer!'); }
previousNext($dd,$mm,$yy);
calendar($dd,$mm,$yy); 
  Mit Zitat antworten
Alt 13.11.2004, 00:34  
Gast
 
Beiträge: n/a
Standard

VIELEN DANK FÜR EURE HILFE!
ich habe das script jetzt geändert, es läuft jez fast perfekt nur beim ersten aufrufen bekomme ich eine fehlermeldung:

Notice: Undefined index: mm in d:\inetpub\wwwroot\php\kalender\calendar\bearb\TMP hr1ts73arz.php on line 42

Notice: Undefined index: yy in d:\inetpub\wwwroot\php\kalender\calendar\bearb\TMP hr1ts73arz.php on line 43

Notice: Undefined index: mm in d:\inetpub\wwwroot\php\kalender\calendar\bearb\TMP hr1ts73arz.php on line 59

Notice: Undefined index: yy in d:\inetpub\wwwroot\php\kalender\calendar\bearb\TMP hr1ts73arz.php on line 60

was mache ich nochimmer falsch??

PHP-Code:
<?
//classes
class calendarSettings 
{
    var 
$tablewidth    300;
    var 
$tableheight   300;
    var 
$fontface      "Arial";
    var 
$fontsize      10;
    var 
$bordersize    1;
    var 
$bordercolor   "#000000";
    var 
$bg_color      "#ffffff";
    var 
$font_color    "#000000";
    var 
$bg_we_color   "#ffffff";
    var 
$font_we_color "#000000";

function 
calendarSettings () {
    if (
func_num_args() == 10) {
        
$array_args func_get_args();
        
$this->tablewidth  $array_args[0];
        
$this->tableheight $array_args[1];
        
$this->fontface    $array_args[2];
        
$this->fontsize    $array_args[3];
        
$this->bordersize  $array_args[4];
        
$this->bordercolor $array_args[5];
        
$this->bg_color    $array_args[6];
        
$this->font_color  $array_args[7];
        
$this->bg_we_color $array_args[8];
        
$this->font_we_color $array_args[9];
        }
    }

}

//variables
$date time(); 
$yy date("Y"); 
$mm date("m");  


function 
previousNext($mm,$yy) {

    
$mm $_GET['mm'];  // = line 42
    
$yy $_GET['yy'];      // = line 43

    
$lastyear  = ($mm==1) ? $yy-1  $yy;
    
$lastmonth = ($mm==1) ? 12     $mm-1;

    
$nextyear  = ($mm==12) ? $yy+$yy;
    
$nextmonth = ($mm==12) ? 1     $mm+1;
    

print 
"<a href=\"calendar.php?mm=$lastmonth&yy=$lastyear\"> << Vormonat </a>";
print 
"<a href=\"calendar.php?mm=$nextmonth&yy=$nextyear\"> Nächster Monat >> </a>";

}

function 
calendar($mm,$yy) {
        
    
$mm $_GET['mm'];  // = line 59
    
$yy $_GET['yy'];      // = line 60

    
$cal_sett = isset($cal_sett) ? $cal_sett : new calendarSettings();

    
$firstday getdate(mktime(000$mm1$yy));
    
$lastday  date("t"mktime(000$mm1$yy));
    
    
$monthday 1;
    
    print 
"<table width=$cal_sett->tablewidth height=$cal_sett->tableheight border=0 cellspacing=0 cellpadding=0><tr><td bgcolor=$cal_sett->bordercolor>\n";
    print 
"<table width=100% height=100% border=0 cellspacing=$cal_sett->bordersize cellpadding=0>\n";
        print 
"<tr height=14%>\n";
    print 
"    <td width=15% bgcolor=\"$cal_sett->bg_color\" align=center><font style=\"font: bold ".$cal_sett->fontsize."pt $cal_sett->fontface; color: $cal_sett->font_color\">SO</font></td>\n";
    print 
"    <td width=14% bgcolor=\"$cal_sett->bg_color\" align=center><font style=\"font: bold ".$cal_sett->fontsize."pt $cal_sett->fontface; color: $cal_sett->font_color\">MO</font></td>\n";
    print 
"    <td width=14% bgcolor=\"$cal_sett->bg_color\" align=center><font style=\"font: bold ".$cal_sett->fontsize."pt $cal_sett->fontface; color: $cal_sett->font_color\">DI</font></td>\n";
    print 
"    <td width=14% bgcolor=\"$cal_sett->bg_color\" align=center><font style=\"font: bold ".$cal_sett->fontsize."pt $cal_sett->fontface; color: $cal_sett->font_color\">MI</font></td>\n";
    print 
"    <td width=14% bgcolor=\"$cal_sett->bg_color\" align=center><font style=\"font: bold ".$cal_sett->fontsize."pt $cal_sett->fontface; color: $cal_sett->font_color\">DO</font></td>\n";
    print 
"    <td width=14% bgcolor=\"$cal_sett->bg_color\" align=center><font style=\"font: bold ".$cal_sett->fontsize."pt $cal_sett->fontface; color: $cal_sett->font_color\">FR</font></td>\n";
    print 
"    <td width=15% bgcolor=\"$cal_sett->bg_color\" align=center><font style=\"font: bold ".$cal_sett->fontsize."pt $cal_sett->fontface; color: $cal_sett->font_color\">SA</font></td>\n";
    print 
"</tr>\n";


while (
$monthday <= $lastday) {
        print 
"<tr>\n";
        for (
$i=0;$i<7;$i++) {
            if ((
$i >= $firstday['wday'] && $monthday <= 7) || ($monthday <= $lastday && $monthday > (7-$firstday['wday']))) {
                
                    if (
$i == || $i == 6)
                        print 
"    <td bgcolor=\"$cal_sett->bg_we_color\" align=center><font style=\"font: ".$cal_sett->fontsize."pt $cal_sett->fontface; color: $cal_sett->font_we_color\">$monthday</font></td>\n";
                    else
                        print 
"    <td bgcolor=\"$cal_sett->bg_color\" align=center><font style=\"font: ".$cal_sett->fontsize."pt $cal_sett->fontface; color: $cal_sett->font_color\">$monthday</font></td>\n";
                    
                    
                
$monthday++;
                }
            else {
                if (
$i == || $i == 6)
                    print 
"    <td bgcolor=\"$cal_sett->bg_we_color\" align=center><font style=\"font: ".$cal_sett->fontsize."pt $cal_sett->fontface; color: $cal_sett->font_color\"></font></td>\n";
                else
                    print 
"    <td bgcolor=\"$cal_sett->bg_color\" align=center><font style=\"font: ".$cal_sett->fontsize."pt $cal_sett->fontface; color: $cal_sett->font_color\"></font></td>\n";
                }
            }
        print 
"</tr>\n";
        }

    print 
"<tr height=14%>\n";
    print 
"    <td colspan=7 bgcolor=\"$cal_sett->font_color\" align=center><font style=\"font: bold ".$cal_sett->fontsize."pt $cal_sett->fontface; color: $cal_sett->bg_color\">" .$firstday['month']." ".$firstday['year']."</font></td>\n";
    print 
"</tr>\n";

    print 
"</table>\n";
    print 
"</td></tr></table>\n";

    }

//print site

print "<html>";
print 
"<head>";
print 
"</head>";
print 
"<body>";
print 
"<table>";
print 
"<tr><td align=\"center\">";

previousNext($mm,$yy); 
calendar($mm,$yy); 

print 
"</td></tr>";
print 
"</table>";
print 
"</body>";
print 
"</html>";
?>
thx und mfg
phpnooby
  Mit Zitat antworten
Alt 13.11.2004, 13:03  
Gast
 
Beiträge: n/a
Standard Falsch!!

Nach meiner erkenntnis muss man die Variablen die in einer Funktion sind nicht mit $_GET oder $_POST holen sondern einfach den namen benutzen den man in die klammer geschrieben hat.
Ich programmier nur mit php seit anfang August (bin 13 Jahre) und bei mir klappt des in den funktionen mit dem Variablen Namen oben in der funktion Beispiel:
Code:
function printuserdata($nn,$vn,$mail)
{
echo "Nachname:".$nn."
Vorname:".$vn."
Mail:".$mail;
}
//dann

printuser("Schmidt","Alexander","s.a@gmx.de");
und dann wird z.B. in der Variable $nn Schmidt gespeichert
in der Variable $vn Alexander und in der Variable $mail wird s.a@gmx.de gespeichert.
Dann kannst du die Vraiablen so aufrufen mit dem was in der Klammer steht.


Des $_GET brauchst für die Parameter in dem Link
  Mit Zitat antworten
Alt 13.11.2004, 14:43  
Gast
 
Beiträge: n/a
Standard

ja aber so wie du es erklärst ohne $_GET werden die variablen erst recht nicht übermittlet....
  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
[Erledigt] Kalender aktuellen Tag markieren al-kohli-ker Scriptbörse 5 27.05.2008 07:52
Kalender in PHP rezix PHP Tipps 2008 3 10.01.2008 15:42
Kalender Problem pPanther PHP Tipps 2008 10 12.12.2007 18:32
MySQL-Abfrage in Kalender tsvst Datenbanken 5 13.09.2006 08:22
Tagesansicht bei Kalender macht Probleme Borlox PHP Tipps 2006 20 30.06.2006 13:05
Suche PHP Event Kalender PHP Tipps 2005-2 2 28.09.2005 19:57
[Script] Kalender Beitragsarchiv 11 20.09.2005 15:31
fehler im Kalender PHP-Fortgeschrittene 3 01.06.2005 12:58
Kalender... arcor PHP Tipps 2005 13 08.05.2005 10:01
wochenzahl bei php kalender Sclot PHP Tipps 2005 12 11.03.2005 12:46
[Erledigt] Rollenspiel Kalender PHP Tipps 2005 4 29.01.2005 18:18
[Erledigt] Kalender Termine hervorheben PHP Tipps 2004-2 1 24.11.2004 13:02
kalender in background einfügen Sclot PHP Tipps 2004 4 06.10.2004 16:04
kalender in php Beitragsarchiv 2 02.08.2004 13:47
[Erledigt] kalender in php PHP Tipps 2004 1 02.08.2004 01:58


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:52 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.