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 ::

Einführung in XHTML, CSS und Webdesign

Einführung in XHTML, CSS und Webdesign 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 Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #21  
Alt 15.12.2007, 00:04:07
massel massel ist offline
Anfänger
 
Registriert seit: Oct 2007
Beiträge: 82
AW: Aus Session in die DB?

Ich weiß nicht wie ich das Array $_Session['kid'] bei jeden durchlauf wo die funktion takeit verwendet wird erhöht wird. Ich kann es nicht deutlicher sagen :(

Das Array_push() weiß ich nicht anzuwenden dort, ich habe zb $_Session['kid'][]=$kid; gemacht, geht nicht. Kann mir das bitte jemand an meinem Beispiel anfängergeignet erklären? Ich komme da padu nicht weiter
Mit Zitat antworten
  #22  
Alt 15.12.2007, 00:25:47
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: Aus Session in die DB?

PHP-Code:
function takeit ($kid)
{
    global 
$DB$TEMPLATE;

if (!isset(
$_SESSION['my_kid']))
{
$my_kid = array();
$_SESSION['my_kid'] = $my_kid;
}

$res $DB->query_one("SELECT kname,kid FROM kunde WHERE  kunde.kid = $kid");

$_SESSION['my_kid'][] = array($kid$res); //Wobei hier noch Klärungsbedarf ist!!


... 
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #23  
Alt 15.12.2007, 00:39:59
massel massel ist offline
Anfänger
 
Registriert seit: Oct 2007
Beiträge: 82
AW: Aus Session in die DB?

Danke schon mal für die Hilfe.

hmm, also bei der Übergabe von $res an das Array bekomme ich jetzt die Fehlermeldung:
Fatal error: [] operator not supported for strings in .....

Durch die query wird ja der name der Person geholt. Habs gard auch mal ohne $res versucht, kommt der selbe Fehler. Muss ich die Nummer nochmal als int umwandeln? Macht doch PHP eigentlich alles selbst o?

Geändert von massel (15.12.2007 um 00:40:30 Uhr)
Mit Zitat antworten
  #24  
Alt 15.12.2007, 00:50:25
Tumasch Tumasch ist offline
Junior Member
 
Registriert seit: Dec 2007
Beiträge: 151
AW: Aus Session in die DB?

Verstehe ich das richtig: Du hast dein Fontend, das sendet dir beim anklicken per ajax die $kid. Du willst nun die verschiedenen kids, die kommen, in ein Array packen, und dieses Array in deine Session speichern.

Na dan wollen wir mal:


Nicht gut:
PHP-Code:
$_SESSION['kid']=$kid
---> Lösch die Zeile. Warum? Lies weiter.


Nicht gut:
PHP-Code:
$res $DB->query_one("SELECT kname,kid FROM kunde WHERE kunde.kid=".$_SESSION['kid'].""); 
Besser:
PHP-Code:
$res $DB->query_one("SELECT kname FROM kunde WHERE kid=".$kid); 
--> Das ,kid im select ist überflüssig, da du es ja schon hast. In der WHERE nimm doch einfach $kid.
(ich hoffe du filterst dort noch was, oder? Stichwort SQL-INJECTION!).
Soweit ich sehe holst du dir den Namen des kids, oder?


Nicht gut:
PHP-Code:
$_SESSION['kname']=$res
---> Lösch die Zeile. Warum? Lies weiter.

Nun soll das ganze in der Session gespeichert werden. Am besten du nimmst als key des arrays deine kid-ID (die sollte ja unique sein, oder?)
und als Inhalt der Name.

PHP-Code:
$_SESSION['meine_kids'][$kid] = $res[0]; 
Damit erstellst du ein array namens meine_kids in deiner Session. Der Key ist deine Kidnummer und der Inhalt ist der Name aus der DB.

Nicht gut:
PHP-Code:
            $load['kunde'] .= '<div id="kunde'.$_SESSION['kid'].'">';
            
$load['kunde'] .= $TEMPLATE->parse('template_kunde',$_SESSION['kid'],$_SESSION['kname']);
            
$load['kunde'] .= '</div>'
Besser:
PHP-Code:
            $load['kunde'] .= '<div id="kunde'.$kid.'">';
            
$load['kunde'] .= $TEMPLATE->parse('template_kunde',$kid,$res[0]);
            
$load['kunde'] .= '</div>'
Das kann bleiben:

PHP-Code:
            echo $load['kunde']; 

Nun hast du in deriner Session immer alle kids, die über die funktion abgefragt wurden.
zum löschen eines namens genügt dann

PHP-Code:
unset($_SESSION['meine_kids'][$kid]); 
Um alle aufzulisten genügt

PHP-Code:
foreach($_SESSION['meine_kids'] as $key => $value){
  echo 
$key " heisst "$value;

und um auf eins zuzugreifen

PHP-Code:
echo $_SESSION['meine_kids'][$key]; 

Geändert von Tumasch (15.12.2007 um 00:53:52 Uhr) Grund: Orthografie ....
Mit Zitat antworten
  #25  
Alt 15.12.2007, 00:52:00
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: Aus Session in die DB?

Zitat:
Zitat von massel Beitrag anzeigen
Danke schon mal für die Hilfe.

hmm, also bei der Übergabe von $res an das Array bekomme ich jetzt die Fehlermeldung:
Fatal error: [] operator not supported for strings in .....

Durch die query wird ja der name der Person geholt. Habs gard auch mal ohne $res versucht, kommt der selbe Fehler. Muss ich die Nummer nochmal als int umwandeln? Macht doch PHP eigentlich alles selbst o?
Lass Dir mal $res ausgeben.

PHP-Code:
echo $res
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #26  
Alt 15.12.2007, 00:55:19
Tumasch Tumasch ist offline
Junior Member
 
Registriert seit: Dec 2007
Beiträge: 151
AW: Aus Session in die DB?

@vt1816

Gute Frage was da zurückkommt. oben dachte ich ein Array, aber jetzt wo du es sagt könnte es auch erst der ressuorce-link sein ...
Mit Zitat antworten
  #27  
Alt 15.12.2007, 01:15:43
massel massel ist offline
Anfänger
 
Registriert seit: Oct 2007
Beiträge: 82
AW: Aus Session in die DB?

ich seh schon wieder nen licht im tunnel :).

also nach ausgabe von $res bekomme ich den jeweiligen namen der Person angezeigt.
Was jetzt halt noch kleben bleibt ist die ausgabe die von der ajax kommt, spricht die erste kid die ich gewählt habe wird dem template übergeben und listet sich zu jeden echo von $res auf. Eigentlich sollten ja die namen an das template gehen und dort ausgegeben werden. Ich habe also die kid 3 kleben und bekomme das echo peter pan 3 heist A6 heisst A10....

Je mehr ich dazu nehme desto mehr Nummer reihen sich dahinter an.

die funktion schließt sich übrigens so:
PHP-Code:
    iconv_set_encoding("output_encoding","ISO-8859-1");
    
ob_start("ob_iconv_handler");
    
$ende rflush();
    return 
$ende;

die ajax sieht so aus:
PHP-Code:
function takeit (kid) {
        todo= "kid="+(MMO("kunde").options[MMO("kunde").selectedIndex].value);
        dojo.io.bind({
        url: "<?=$takeiton->getLink()?>"+todo,
        load: function(type, data, evt) { 
              MMO("kunden_div").innerHTML  +=data;
        }, mimetype: "text/plain"});}
Ich hoffe nun ists für euch auch besser zu verstehen/überblicken.

Die AJAX ist eine normale Dojo-funktion. MMO macht nichts anderes wie dojo.byID, also die Rückgabe

Geändert von massel (15.12.2007 um 01:22:50 Uhr)
Mit Zitat antworten
  #28  
Alt 15.12.2007, 01:16:39
Tumasch Tumasch ist offline
Junior Member
 
Registriert seit: Dec 2007
Beiträge: 151
AW: Aus Session in die DB?

Code bitte :-)
Mit Zitat antworten
  #29  
Alt 15.12.2007, 01:35:39
massel massel ist offline
Anfänger
 
Registriert seit: Oct 2007
Beiträge: 82
AW: Aus Session in die DB?

joar :)

also das ganze sieht jetzt so aus:
PHP-Code:
function takeit ($kid)
{
    global 
$DB$DISP$SESSION$TEMPLATE;

if (!isset(
$_SESSION['kid']))
{
$asdf = array();
$_SESSION['kid'] = $asdf;
}

$res $DB->query_one("SELECT kname FROM kunde WHERE kid=".$kid); 

$_SESSION['meine_kids'][$kid] = $res[0];

          
$load['kunde'] .= '<div id="kunde'.$kid.'">';
            
$load['kunde'] .= $TEMPLATE->parse('template_kunde',$kid,$res[0]);
               
$load['kunde'] .= '</div>';  

echo 
$load['kunde'];
echo 
$res;

foreach(
$_SESSION['meine_kids'] as $key => $value){
  echo 
$key " heisst "$value;
}

    
iconv_set_encoding("output_encoding","ISO-8859-1");
    
ob_start("ob_iconv_handler");
    
$redi rflush();
    return 
$redi;

bin nimma ganz wach, das isset kann raus oder?

Geändert von massel (15.12.2007 um 01:39:03 Uhr)
Mit Zitat antworten
  #30  
Alt 15.12.2007, 01:46:36
Tumasch Tumasch ist offline
Junior Member
 
Registriert seit: Dec 2007
Beiträge: 151
AW: Aus Session in die DB?

Habs dir mal umgebaut.

PHP-Code:
<?php
function takeit($kid) {
    global 
$DB$TEMPLATE;

    if (!isset (
$_SESSION['kid'])) {
        
$asdf = array ();
        
$_SESSION['kid'] = $asdf;
    }

    
$kid intval($kid); // zur sicherheit ...

    
$res $DB->query_one("SELECT kname FROM kunde WHERE kid=" $kid);

    
$_SESSION['meine_kids'][$kid] = $res[0];

    
$load '<div id="kunde' $kid '">';
    
$load .= $TEMPLATE->parse('template_kunde'$kid$res[0]);
    
$load .= '</div>';

    
iconv_set_encoding("output_encoding""ISO-8859-1");
    
ob_start("ob_iconv_handler");
    echo 
$load;
    
$redi rflush();
    return 
$redi;
}
function 
deletekid($kid) {
    unset (
$_SESSION['meine_kids'][$kid]);
}
function 
givename($kid) {
    return 
$_SESSION['meine_kids'][$kid];
}
function 
listallkids() {
    foreach (
$_SESSION['meine_kids'] as $key => $value) {
        echo 
$key " heisst " $value "<br>";
    }
}
?>
takeit schreibt einen user ins array und gibt ein div mit deienn daten zurück.

deletekid löscht den angegeben namen aus dem array

givename gibt den Namen eines kids aus dem array zurück.

listallkids listet - kaum zu glauben - die namen der user aus dem array auf.

Genügt das?
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
Session wird zu früh beendet ... sk4ter PHP Grundlagen 2 15.11.2007 18:49:57
session variblen gehen verlohren - immer neue session ID xeta PHP Grundlagen 9 03.08.2006 00:50:33
session problem jogisarge PHP Grundlagen 4 25.10.2005 21:03:15
SESSION daten gehen leider nicht verloren! - wennd as fenster geschlossen wird Phil PHP für Fortgeschrittene und Experten 3 31.03.2004 13:08:33
session überprüfen... Xantos PHP für Fortgeschrittene und Experten 4 21.05.2002 10:54:50


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:28:10 Uhr.


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


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