PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks. |
 |

05-10-2016, 17:37
|
Ewsg
Registrierter Benutzer
|
|
Registriert seit: Aug 2016
Beiträge: 9
|
|
php session
Hallo,
Ich habe eine kleine Herausforderung in einem php script.
Leider bin ich kein Profi und erhoffe mir hier weiter zu kommen.
Durch meine SQL Abfrage lese ich bestimmte Daten aus einer TAbelle aus und speichere Sie in die session.
PHP-Code:
$sql = "SELECT v1.id, v1.name, v1.vorname, v1.passwort, v1.mail, v2.sakt1, v2.lakt1, v2.szeichen1 FROM ".$cbs['user_table']." as v1, ".$cbs['user_table2']." as v2 WHERE ".$sql." && v2.id=v1.id";
Diese speicher ich nun in eine sitzungssesssion:
PHP-Code:
$_SESSION['sitzungen_id'] = $DBdata['id']; $_SESSION['sitzungen_name'] = strtolower($DBdata['name']); $_SESSION['sitzungen_mail'] = strtolower($DBdata['mail']); $_SESSION['sitzungen_passwort'] = md5($_POST['password']); $_SESSION['sitzungen_szeichen'] = md5($_POST['szeichen']); $_SESSION['sitzungen_get_referer'] = $DBdata['referer'];
Soweit klappt das auch sehr gut.
Leider gibt es Spalten wie z.B. szeichen das nur Werte von 1 bis 12 beinhaltet. Der tatsächliche Wert ist in einer Sprachdatei gespeichert.
Somit bekomme ich nicht das Sternzeichen sondern nur die Zahl in meine session gespeichert.
Wie bekomme ich es hin dass die session nach der erfolgreichen SQL Abfrage auch die dazugehörigen Werte aus der Sparchdatei speichert und nicht bloss die Zahl.
Ich danke schon mal im voraus
Gruss
|

06-10-2016, 17:52
|
Ewsg
Registrierter Benutzer
|
|
Registriert seit: Aug 2016
Beiträge: 9
|
|
Hat keiner eine Idee ??
|

06-10-2016, 18:01
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 3.769
|
|
Wozu willst du die Daten überhaupt in die Session speichern? In die Session gehören nur Sitzungsdaten und keine Daten aus der Datenbank.
|

07-10-2016, 09:55
|
Ewsg
Registrierter Benutzer
|
|
Registriert seit: Aug 2016
Beiträge: 9
|
|
Da mir die Daten in dieser View des scriptes nicht zur Verfügung stehen und ich Sie dennoch per Email versenden möchte, dachte ich ich speichere Sie in die session und habe dann die Werte die ich an die Email übergeben kann.
Es klappt ja soweit bloss nimmt er die Werte aus der DB und wandelt Sie nicht um in die dazugehörigen Daten aus der Sprachdatei.
Bin aber auch für andere Lösungen offen.
|

07-10-2016, 12:04
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 3.769
|
|
Zitat:
Zitat von Ewsg
Da mir die Daten in dieser View des scriptes nicht zur Verfügung stehen und ich Sie dennoch per Email versenden möchte, dachte ich ich speichere Sie in die session und habe dann die Werte die ich an die Email übergeben kann.
|
Du solltest eine Session nicht als globalen Speicher missbrauchen. Wenn du Daten in einem View brauchst, dann übergib diese Daten an den View.
|

07-10-2016, 12:59
|
Ewsg
Registrierter Benutzer
|
|
Registriert seit: Aug 2016
Beiträge: 9
|
|
Hallo,
Danke für die Antwort. Gibt es dabei ein Sicherheitsproblem??
Ich brauche diese Daten nicht in einr View, sondern dazu, dass Sie direkt in den Emailbody geschrieben werden.
Evtl. würdest du mir helfen?
Gruss
|

07-10-2016, 13:17
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 3.769
|
|
Zitat:
Zitat von Ewsg
Gibt es dabei ein Sicherheitsproblem??
|
Nein.
Zitat:
Zitat von Ewsg
Ich brauche diese Daten nicht in einr View, sondern dazu, dass Sie direkt in den Emailbody geschrieben werden
|
Dann übergib sie dort auch.
|

07-10-2016, 17:19
|
Ewsg
Registrierter Benutzer
|
|
Registriert seit: Aug 2016
Beiträge: 9
|
|
Das übergeben ist nicht das Problem. Das funktioniert einwandfrei.
Aber Wie schon gesagt sind der Datenbank nur ZAhlen gespeichert, wobei jede einzelne Zahl in der Spachdatei auch einen bestimmten Namen zugewiesen ist.
Aber ich bekommen es nicht hin, dass die gespeicherte Daten in der Session in die dazugehörigen Daten aus der Sprachdatei umwandelt.
Dabei bräuchte ich hilfestellung.
Danke
|

07-10-2016, 17:47
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 3.769
|
|
Zitat:
Zitat von Ewsg
Das übergeben ist nicht das Problem. Das funktioniert einwandfrei.
Aber Wie schon gesagt sind der Datenbank nur ZAhlen gespeichert, wobei jede einzelne Zahl in der Spachdatei auch einen bestimmten Namen zugewiesen ist.
Aber ich bekommen es nicht hin, dass die gespeicherte Daten in der Session in die dazugehörigen Daten aus der Sprachdatei umwandelt.
|
Du brauchst die Daten nicht in der Session. Verabschiede dich von dieser Idee.
|

07-10-2016, 17:54
|
Ewsg
Registrierter Benutzer
|
|
Registriert seit: Aug 2016
Beiträge: 9
|
|
OK das habe ich verstanden.
Die SQL Abfrage steht in der php Datei. Nun kommen wir zur Template Seite.
Dort frage ich nun die Daten ab:
PHP-Code:
Haarfarbe: <?php if(!empty($DBdata['test1'])) echo $language['test1'][$DBdata['test1']];?>
Soweit so gut. Nun die Übergabe an die Mail dies schreibe ich direkt in die xxx.msg:
PHP-Code:
$language['test1'][$DBdata['test1']]
Dies klappt aber nicht. Da kommt arry...... aber keine Ausgabe.
Mit
PHP-Code:
$_SESSION[sitzungen_test1]
wird der DB Inhalt angezeigt.
Und das klappt nicht
|

07-10-2016, 17:58
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 3.769
|
|
"klappt nicht" ist keine Fehlerbeschreibung. Gibts eine Fehlermeldung im Error-Log? Hast du dir schon mal die Variableninhalte mit var_dump() ausgeben lassen und überprüft, ob sie das beinhalten, das du vermutest?
|

07-10-2016, 20:27
|
Ewsg
Registrierter Benutzer
|
|
Registriert seit: Aug 2016
Beiträge: 9
|
|
Die Variablen geben genau das aus was Sie eigentlich sollten, den Wert aus der Datenbank.
wenn ich aber versuche, dass die session den Datenbankwert umzuwanden und den dementsprechenden Wert aus der Sprachdatei zu holen klappt das nicht.
In der Email kommt es dann so an:
Array['test']]
echo Array['test'][1
Array['test'][1
Den Wert (1)aus der Db schreibt er ans ende
|

07-10-2016, 21:19
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 3.769
|
|
Ich kann mit der Beschreibung überhaupt nix anfangen. Bitte poste Beispielcode, bei dem das Fehlverhalten nachvollziehbar auftritt. Und vergiss bitte endlich die Session, die hat damit nichts zu tun.
|

07-10-2016, 22:55
|
Ewsg
Registrierter Benutzer
|
|
Registriert seit: Aug 2016
Beiträge: 9
|
|
OKK dann mal los mit dem was ich habe.
Es gibt eine favouriten.php und das template dazu favoriten.html
es wird eine class wird das email versenden verwendet.
Hier ein Auszug aus der favoriten.php
PHP-Code:
$sql = "SELECT v1.id, v1.name, v1.vorname, v1.passwort, v1.mail, v2.sakt1, v2.lakt1, v2.szeichen1 FROM ".$cbs['user_table']." as v1, ".$cbs['user_table2']." as v2 WHERE ".$sql." && v2.id=v1.id";
$_SESSION['sitzungen_id'] = $DBdata['id']; $_SESSION['sitzungen_name'] = strtolower($DBdata['name']); $_SESSION['sitzungen_mail'] = strtolower($DBdata['mail']); $_SESSION['sitzungen_passwort'] = md5($_POST['password']); $_SESSION['sitzungen_szeichen'] = md5($_POST['szeichen']); $_SESSION['sitzungen_get_referer'] = $DBdata['referer'];
Hier ein Auszug aus der faviriten.html
PHP-Code:
<td width="404" align="left" valign="top" class="textw"> <br> <div><h2> $DBdata[vorname] aus $DBdata[ort]</h3><?php echo $language['countryde'][$DBdata['country']]; ?></h2><br /><br /></div> <h3>Profil-Nr.: $DBdata[id]</h3> <h3>$DBdata[gebdat] ($DBdata[age1])</h3> <?php if(!empty($DBdata['szeichen1'])) { echo $language['szeichen'][$DBdata['szeichen1']]; } else { echo 'keine Angabe'; } ?></h3><br> <br /> <a href="http://XXXXXXXXXXXXXXXXX.php?" class="textw"><b><h3> « ... Zurück zur Damengelarie ... </h3></b></a></h3><br /> </td>
Alles was in der fsvoriten.php deklariert wurde kann dann im Moment mit:
Kundennummer: $_SESSION[sitzungen_szeichen]
direkt in die send_favourites_contact_request.msg eingetragen werden.
in dem Template klappt das mit dem auslesen der Datenbank und Sprachdatei aber wenn die Email gesendet ist wird alles so ausgegeben wie es in der DAtenbank gesoeichert ist. Ich brauche aber die daten in Kombination mit der Spachdatei
Sprachdatei:
PHP-Code:
<?php // Sternzeichen $language['szeichen'][0] = "bitte angeben"; $language['szeichen'][1] = "Steinbock"; $language['szeichen'][2] = "Wassermann"; $language['szeichen'][3] = "Fische"; $language['szeichen'][4] = "Widder"; $language['szeichen'][5] = "Stier"; $language['szeichen'][6] = "Zwilling"; $language['szeichen'][7] = "Krebs"; $language['szeichen'][8] = "Löwe"; $language['szeichen'][9] = "Jungfrau"; $language['szeichen'][10] = "Waage"; $language['szeichen'][11] = "Skorpion"; $language['szeichen'][12] = "Schütze"; ?>
So nun bin ich gespannt. Bitte vergiss nicht ich bin im Moment noch Anfänger und das script existiert schon ich möchte nur paar Änderungen vornehmen.
Geändert von Ewsg (08-10-2016 um 10:14 Uhr)
Grund: Link verschleiert
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Ähnliche Themen
|
Thema |
Autor |
Forum |
Antworten |
Letzter Beitrag |
php + session + probs
|
Madison |
PHP Developer Forum |
4 |
13-03-2006 16:45 |
PHP Chat - Session
|
bamless |
PHP Developer Forum |
2 |
28-05-2005 00:16 |
Session Problem in PHP
|
tmoellmann |
PHP Developer Forum |
4 |
06-07-2004 12:33 |
PHP Session
|
0413 |
HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS |
0 |
05-03-2004 16:37 |
PHP & Session
|
DMKlein |
Apps und PHP Script Gesuche |
2 |
07-11-2003 20:17 |
Themen-Optionen |
|
Thema bewerten |
|
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.
HTML-Code ist aus.
|
|
|
|
PHP News
|