zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden function erstellen

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 07.07.2007, 19:07
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 07.04.2007
Beiträge: 311
ct2oo4 befindet sich auf einem aufstrebenden Ast
Standard function erstellen

Hi Leute,
ich versuche gerade ein Shopsystem zu basteln, natürlich GANZ einfach .
Es funktioniert zwar bisher, ist aber etwas unkonventionell aufgebaut:
Und zwar gibt es bisher 3 Bereiche aus denen man auswählen kann. (Preise sind erdacht! © by den jeweiligen Herstellern! Ich möchte nix verkaufen...)
Mein Problem liegt im Speziellen im "Warenkorb". Dort wird geprüft ob ein Cookie vorhanden ist (je ein Cookie für die jeweiligen Bereiche, und wir sollen Cookies nehmen...[Schule] )
Im Moment lasse ich den Server prüfen ob ein Cookie für den jeweiligen Bereich angelegt wurde. Inhalt des Cookies:
PHP-Code:
function delArr($array) {
 
$bwert = array();
 
$banz = array(); 
 foreach(
$array as $key => $wert) {
  if(
$wert) {
   
array_push($banz,$wert);
   
array_push($bwert,$key);
  }
 }
 
$string "WERT-".implode("-",$bwert)."-ANZAHL%".implode("%",$banz);
 return 
$string;

Ja ich weis... aber es funktioniert
Ich lese es dann folgendermaßen aus:
PHP-Code:
if ($_COOKIE[techbestellung]) {

$anzahl explode("%",$_COOKIE[techbestellung]);
$what explode("-",$anzahl[0]);
echo 
"<li>aus unserer Technikabteilung:</li><ul>
"
;


$ausgabeANZ = array();
foreach (
$anzahl as $entry) {
 if (
is_numeric($entry)) {
  
array_push($ausgabeANZ,$entry);
 }
}

$ausgabeWHAT = array();
foreach (
$what as $entry) {
 if(
is_numeric($entry)) {
  
array_push($ausgabeWHAT,$entry);
 }
}

$i 0;
while(
$i count($ausgabeWHAT)) {
 
$key $ausgabeWHAT[$i];
 echo 
"<li>".$technik[name][$key]." : ".$ausgabeANZ[$i]."</li>";
 
$i++;
}
echo 
"</ul>";

Und nun müsste man dies ja in jeden Bereich schreiben.. ich möchte einfach aus Ehrgeiz eine Funktion daraus machen...

Bisherige Versuche blieben erfolglos:
PHP-Code:
function int($cookie) {
 
$anzahl explode("%",$_COOKIE[$cookie]);
 
$what explode("-",$anzahl[0]);
  
$ANZ = array();
  foreach (
$anzahl as $entry) {
   if (
is_numeric($entry)) {
    
array_push($ANZ,$entry);
   }
  }
  
$WHAT = array();
  foreach (
$what as $entry) {
   if(
is_numeric($entry)) {
    
array_push($WHAT,$entry);
   }
  }

Gibt es die Möglichkeit die beiden Arrays einfach von der Funktion zu erstellen zu lassen und im weiteren Verlauf des Scripts zu nutzen? Vielen Dank schon im Voraus!

MfG Matze


fast vergessen: Unser kleiner Shop
__________________
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 07.07.2007, 20:02
Benutzerbild von ArcVieh
//
XHTMLforum-Kenner
 
Registriert seit: 19.12.2006
Ort: Gütersloh
Beiträge: 1.844
ArcVieh sorgt für eine eindrucksvolle AtmosphäreArcVieh sorgt für eine eindrucksvolle Atmosphäre
Standard

Du müsstest die Arrays als return Wert angeben und die Funktion aufrufen, damit sie im globalen Bereich verfügbar sind.

Ich meine gehört zu haben, das array_push() nicht empfohlen sein soll, sondern das man stattdessen so vorgehen soll: $arr[] = <wert>;
$_COOKIE[techbestellung] sollte man auch so schreiben: $_COOKIE['techbestellung']
Code:
int('techbestellung');
int('anderercookie');
__________________
CSS-FAQ beantwortet die meisten Fragen | Retro coding gegen Divitis | Code validieren & posten für Hilfe
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 08.07.2007, 11:39
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 07.04.2007
Beiträge: 311
ct2oo4 befindet sich auf einem aufstrebenden Ast
Standard

ich dachte, man kann nur einen Wert mit return zurückgeben und dieser müsste String, Int, double,... sein!? Aber ich werde es mal ausprobieren



edit:
So ich habe es mal ausprobiert und wie ich mir dachte funktioniert das nicht, denn das selbe Problem hatte ich schon mit meiner ersten Funktion "delArr()". Dort musste ich auch erst die beiden Arrays in einen String umwandeln.
Folgendermaßen hatte ich es jetzt probiert:
PHP-Code:
function int($cookie) {
 
$anzahl explode("%",$_COOKIE[$cookie]);
 
$what explode("-",$anzahl[0]);
  
$ausgabeANZ = array();
  foreach (
$anzahl as $entry) {
   if (
is_numeric($entry)) {
    
array_push($ausgabeANZ,$entry);
   }
  }
  
$ausgabeWHAT = array();
  foreach (
$what as $entry) {
   if(
is_numeric($entry)) {
    
array_push($ausgabeWHAT,$entry);
   }
  }
  return 
$ausgabeANZ;
  return 
$ausgabeWHAT;
}  

// aufruf mit:
int('techbestellung'); 
Hat jmd eine andere idee?
MfG Matze


(das mit dem cookie probier ich später, möchte erstmal das es im generellen funktioniert... )
__________________

Geändert von ct2oo4 (08.07.2007 um 11:53 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 08.07.2007, 13:01
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 21.01.2007
Beiträge: 106
Artemis befindet sich auf einem aufstrebenden Ast
Standard

Wenn du mehrere Werte zurückgeben willst, musst du das als Array tuen.
PHP-Code:
  return array($ausgabeANZ$ausgabeWHAT); 
Die Ausgabe kannst du dann per list "holen"
PHP-Code:
list($Anzahl$Was) = int('irgendwas'); 
Mit Zitat antworten
  #5 (permalink)  
Alt 08.07.2007, 14:38
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 07.04.2007
Beiträge: 311
ct2oo4 befindet sich auf einem aufstrebenden Ast
Standard

ahh vielen Dank!!! Funktioniert einwandfrei!
MfG
__________________
Mit Zitat antworten
  #6 (permalink)  
Alt 09.07.2007, 12:24
Benutzerbild von mantiz
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 25.02.2007
Beiträge: 2.843
mantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz sein
Standard

@ArcVieh:
Sorry, ist etwas offtopic, aber kannst Du Dich noch daran erinnern, wieso man array_push nicht verwenden sollte oder evtl. sogar wo du das gehört/gelesen hast?

Würde mich sehr interessieren, da ich array_push eigentlich recht häufig verwende.
Mit Zitat antworten
  #7 (permalink)  
Alt 09.07.2007, 16:04
Benutzerbild von netspy
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 13.08.2004
Ort: Leipzig
Beiträge: 1.953
netspy sorgt für eine eindrucksvolle Atmosphärenetspy sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von mantiz Beitrag anzeigen
@ArcVieh:
Sorry, ist etwas offtopic, aber kannst Du Dich noch daran erinnern, wieso man array_push nicht verwenden sollte oder evtl. sogar wo du das gehört/gelesen hast?
Steht doch als Anmerkung in der Doku.
Zitat:
Anmerkung: Wenn Sie array_push() verwenden, um ein Element an ein Array anzuhängen, ist es besser $array[] = zu benutzen, da dies den zusätzlichen Aufwand vermeidet, eine Funktion aufzurufen
Mario
__________________
AppDev Blog · AppDev Forum
Mit Zitat antworten
  #8 (permalink)  
Alt 09.07.2007, 18:24
Benutzerbild von mantiz
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 25.02.2007
Beiträge: 2.843
mantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz sein
Standard

*g, Tomaten auf den Augen, wenn man denkt, dass man die Doku nicht mehr lesen muss.

Vielen Dank.
Mit Zitat antworten
Antwort

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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
DIV ein- / ausblenden Benshy CSS 3 10.11.2009 19:49
Grafiken je nach Zustand Visu CSS 14 07.10.2009 20:28
Function in Function Bosko Serveradministration und serverseitige Scripte 9 07.11.2008 19:24
Javascript für alle Browser darstellen lassen? Pinking Javascript & Ajax 10 08.10.2008 09:32


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:38 Uhr.