php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 13.08.2004, 19:06  
Gast
 
Beiträge: n/a
Standard [Erledigt] Parameter an eine funktion übergeben

so ich hab da ein problem, weiß net so richtig wie ich das erklären soll aber ich versuchs mal


also ich bin dabei für nen bekannten so ein kleines script zu schreiben, mit dem man ausflüge buchen bzw. den preis berechnen lassen kann...

jetz hab ich da ein problem:

6 ausflüge, vor jeden ist eine checkbox und dahinter kann man per dropdown menü ein datum auswählen (jeweils tag, monat, year)

so mein problem ist dass ich nicht nen extrem aufgeblasenen text haben will

so da dachte ich mir ich mach für jedes datum ein array mit jeweils 3 elementen

dieses array übergeb ich dann als der funktion, die mir mit ein drei for schleifen drei dropdown menüs erstellt, mit denen man dann das gewünschte datum auswählen kann.

so mein problem ist, dass wenn ich dass array übergeb, ein die dropdown menüs generieren lasse und dann anschließend das datum überprüfen will, dass es net im array ist....

Code:
dat_gen($ausfl_1);
so da wirds halt übergeben.

dann da unten die funktion:
Code:
<?php

function dat_gen(&$dat){
	echo '<table border="0">';

	echo '<td>';
         echo '<select name="day" size="1">
                 <option selected>-</option>';
                 	for($i=1; $i<=31; $i++)
                         {
                         	echo '
                                 <option>'.$i.'</option>';

                         }
         echo '</select>
         </td>';
         $dat[day]=$day;

        echo '<td>';
         echo ' 	<select name="month" size="1">
                 <option selected>-</option>';
                 	for($i=1; $i<=12; $i++)
                         {
                         	echo '
                                 <option>'.$i.'</option>';

                         }
         echo '</select>
         </td>';
         $dat[month]=month;

	echo '<td>';
         echo ' 	<select name="year" size="1">
         $dat[year]=$year;
                 <option selected>-</option>';
                 	for($i=2004; $i<=2006; $i++)
                         {
                         	echo '
                                 <option>'.$i.'</option>';

                         }
         echo '</select>
         </td>';
         $dat[year]=$month;
         echo '</table>';

}

?>
ich vermute ja dass ich irgendwie dass array falsch übergebe (denke mal dass ichs ja als referenz übergeben muss...)
jo und die ganze sache soll halt mit sechs array gemacht werden, bloß irgendwie klappts nicht mal beim ersten, da wirds bei sechs auch net gehen...

hoffe mal dass jemand mein problem versteht und mir helfen kann...

sry falls einer probleme mit der syntax hat, hab sowas in c/c++ gelernt und muss mir das jetz ins php übertragen. ist das erste was ich überhaupt in php mache...
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 13.08.2004, 19:18  
Gast
 
Beiträge: n/a
Standard

Zuerst einmal, die Schreibweise ist falsch, so sollte man das schreiben:
PHP-Code:
<?
$dat
["day"]=$day;
?>
Aber wo kommt $day, $month und $year her? Auch die Zeile
PHP-Code:
<?
$dat
[month]=month;
?>
sieht nicht richtig aus.

Gruß
phpfan
 
Alt 13.08.2004, 19:43  
Gast
 
Beiträge: n/a
Standard

aso sry hatte ich vergessen zu erwähnen, ich habe das array in einer anderen datei noch initialisiert
und halt mit verschiedenen keys belegt
hier: das wird noch im hauptprogramm eingebunden:

Code:
$ausfl_1[day]="-";
$ausfl_1[month]="-";
$ausfl_1[year]="-";
zum zweiten was du gesagt hattes war das mit
Code:
echo '<select name="day" size="1">
da wird day eingegeben und später in das entsprechende array element reingeschrieben.

sry könnt auch sein dass ich viel zu kompliziert denke, falls einer nen besseren vorschlag hat, kann er den auch gern melden
 
Alt 13.08.2004, 20:14  
Gast
 
Beiträge: n/a
Standard

Abgesehen von ein paar syntaktischen Kleinigkeiten fürchte ich, dass hier ein elementares Problem vorliegt, weswegen der Code so nicht funzen kann. Könnte es sein, dass du davon ausgehst, dass sobald in einer option-box was geändert wird, diese Änderung augenblicklich, z.B. bei der Tagangabe, in $dat["day"]=$day gespeichert wird? So gehts leider nicht in PHP. Du kommst wohl nicht drum herum, dich in die Materie noch ein wenig einzuarbeiten. Nur so viel: Wird in einem Formular etwas geändert, muss zuerst ein reload der Seite durchgeführt werden (das kann ein button in deinem Formular erledigen. Erst dann sind deine Formularvariablen (also day, month, year) unter PHP nutzbar.
Stichwörter: $_POST, Sessions, submit-button

Auch sind in PHP Initialisierungen nicht unbedingt notwendig. Du siehst, man kann nach PHP nicht ohne weiteres 1:1 von C/C++ konvertieren.
 
Alt 13.08.2004, 20:19  
Erfahrener Benutzer
 
Registriert seit: 02.08.2004
Beiträge: 209
PHP-Kenntnisse:
Fortgeschritten
Chance
Chance eine Nachricht über ICQ schicken
Standard

1. $day kann nur Funktionieren, wenn register_globals=off ist.
Verweden besser $_GET oder $_POST.
2. Ist $day,$_POST['day'] bzw. $_GET['day'] erst verfügbar, nachdem die abfrage gesendet wurde, du versuchst sie schon vorher abzufragen.
Chance ist offline  
Alt 13.08.2004, 21:14  
Gast
 
Beiträge: n/a
Standard

ok danke erstmal jungs, ihr habt mir schon bisschen weitergeholfen...

werd mich dann mal weiter einarbeiten, falls ich was brauch, frag ich mal wieder nach
 
Alt 14.08.2004, 23:03  
Gast
 
Beiträge: n/a
Standard

sry für den doppelpost
hab nur ne frage:

würds eigentlich gehen, wenn ich eine eine klasse erstelle, darin dann z.b. drei eigenschaften (ausflug_name, ausflug_datum, checkbox) und eine methode(dat_einlesen), mit der man das datum einlesen kann welches dann überprüft wird...

dann mach ich im hauptprogramm 6 instanzen, für jeden auflug halt eine...
dann per methode dat_einlesen, das datum einlesen lasse welches in die eigenschaft ausflug_datum geschrieben wird...

oder geht das in php net?
sry hab noch net so viel über klassen in php gefunden und kann mir deshalb net so recht selberhelfen...
 
Alt 15.08.2004, 15:24  
Gast
 
Beiträge: n/a
Standard

hm irgendwie will keiner helfen und das thema geht unter
naja hab jetz mal die klasse für die ausflüge erstellt, hab aber wieder das selbe problem...

Code:
<?
class ausflug{

         //die drei methoden für die ausflüge
         var $name_ausfl;
         var $datum_ausfl=array("-","-","-");
         var $checkbox;

         function dat_einlesen(){

                 echo '<table border="0">';

		echo '<td>';
         	echo '<select name="datum_ausfl[0]" size="1">
                 <option selected>-</option>';
                 	for($i=1; $i<=31; $i++)
                         {
                         	echo '
                                 <option>'.$i.'</option>';

                         }
         	echo '</select>
         	</td>';

        		echo '<td>';
         	echo ' 	<select name="datum_ausfl[1]" size="1">
                 <option selected>-</option>';
                 	for($i=1; $i<=12; $i++)
                         {
                         	echo '
                                 <option>'.$i.'</option>';

                         }
         	echo '</select>
         	</td>';

		echo '<td>';
         	echo ' 	<select name="datum_ausfl[2]" size="1">
                 <option selected>-</option>';
                 	for($i=2004; $i<=2006; $i++)
                         {
                         	echo '
                                 <option>'.$i.'</option>';

                         }
         	echo '</select>
         	</td>';
         	echo '</table>';
      	}
         function name(){
         	echo $name_ausfl="Kaliningrad";
         }

         function dat_ausg(){
         	echo $dat_ausfl[0];
         }

}

	$daten=new ausflug;



?>
so dann hab ich in meinem formular das hier stehen:

Code:
$daten->dat_einlesen();
geht auch, das ding wird aufgerufen...

so wenn ich jetz ein datum da einstelle unten auf berechnen klicke, kommt auf der nächsten seite, an die das übergeben wurde nichts...

auf der nächsten seite ist halt noch das hier drin:
Code:
$daten->dat_ausg();
so wie ich mir das gedacht hatte müsste da ja jetz praktisch der tag ausgegeben werden...
die seite ist aber einfach leer...

edit: warum wird der ganze quelltext ohne syntax highlighting dargestellt?
 
Alt 15.08.2004, 19:52  
Gast
 
Beiträge: n/a
Standard

Hallo,
im option tag fehlt noch die Angabe des entsprechenden Wertes also z.B.
<option value = "3">. Ohne diese Angaben werden keine Daten weitergeleitet und dann kann er natürlich nichts ausgeben.
 
Alt 18.08.2004, 14:14  
Gast
 
Beiträge: n/a
Standard

hiho
also hab das problem fast gelöst. hab jetz nur noch einen fehler drin:
unzwar werden die daten ja mit der methode dat_einlesen() auf der hauptseite eingelesen und in die eigenschaft datum_ausfl gelesen. so dann klick ich auf submit und auf der nächsten seite müsste diese eigenschaft nochmal ausgegeben werden, das versuch ich mit dat_ausgabe(). da kennt das programm aber die methode nicht, ist ja auch nicht verwunderlich, da die klasse hier nicht eingebunden bzw. übergeben wurde. da hab ich mir gedacht, dass ich einfach per include die klasse einfüge. aber da kam auch schon der fehler, dass dann praktisch diese klasse die alte praktisch überschreibt. also es stehen wieder keine daten in den eigenschaften.
jetz müsst ich wissen wie ich die daten aus den eigenschaften, der neuen seite übergebe?
 
 


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
JS: Einführung - Javascript im Schichtenmodell nikosch Tutorials 4 11.04.2009 17:06
Rekursive Funktion bricht ab... duras666 PHP Tipps 2008 9 28.04.2008 11:36
Funktion mehrere optionale Parameter GSJLink PHP Tipps 2008 10 28.09.2007 17:52
gpc_quotes funktion: verbesserungsvorschläge? Promaetheus PHP Tipps 2007 10 12.08.2007 19:29
[Erledigt] optionale Parameter mit Funktion im Defaultwert PHP Tipps 2007 10 02.01.2007 21:42
Komplexe Funktion: +Übersichtlichkeit, -Performance Jacks Rache PHP Tipps 2006 3 07.06.2006 14:22
Parameter überschreiben Igäl PHP Tipps 2006 8 04.06.2006 19:55
Variable als optionalen Parameter? Mex PHP Tipps 2006 3 20.04.2006 07:05
Parameter an eine bestehende Funktion übergeben. Daskaras HTML, Usability und Barrierefreiheit 6 29.11.2005 10:14
PHP-GTK Tutorial Beitragsarchiv 9 02.11.2005 21:07
Rückgabewert einer rekrusiven Funktion PHP-Fortgeschrittene 7 06.10.2005 18:44
(schnellere) Funktion zum Zusammenfassen von CSS PHP-Fortgeschrittene 21 08.08.2005 16:47
Funktion in einer Funktion aufrufen? PHP Tipps 2005-2 11 14.06.2005 15:14
[Erledigt] Wie kann ich beliebig viele Werte an eine Funktion übergeben PHP Tipps 2005 11 25.01.2005 10:44
[Erledigt] Referenz auf Funktion übergeben PHP-Fortgeschrittene 7 20.07.2004 09:51

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php übertragen von parameter an funktionen, for($i=1;$i<=31;$i ) option select, parameter einer funktion übergeben php, php kontrollkästchen an funktion übergeben, parameter beim funktionsaufruf übergeben php, parameter von einer funktion zur nächsten übergeben php, php funktionen select parameter übergeben, php button funktion parameter aufrufen, php select parameter übergeben, php variablen an funktion übergeben, php variable an funktion übergeben, variable an funktion übergeben php

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