Moin Moin,
ich möchte gern eine Merkliste für angemeldtete Kunden haben.
Wie bekomme ich eine/mehre Objekt ID´s in die jeweilige Kundendatei und bei bedarf wieder raus?.
Oder kennt jemand vielleicht ein "externes" Script?
Merkliste
Re: Merkliste
Hi Mobby,
ich arbeite gerade an etwas ähnlichem (Favoriten) und habs wie folgt gelöst.
In der KV ein Feld Favoriten angelegt, in welchem kommasepariert die Objekt IDs gespeichert werden.
Der angemeldetet User sieht dann einen Link zum hinzufügen bzw. zum entfernen des jeweiligen Profils zu seinen Favoriten.
Die Seite zum speichern/löschen wird wie folgt aufgerufen http://www.domain.tld/index.php?favID=ObjectID&delete=true|false
Code zum speichern/entfernen.
Es wird geprüft ob der Favorit bereits vorhanden ist oder nicht, und es werden entsprechende Fehlermeldungen ausgegeben.
Ist nicht der schönste Code, aber es funktioniert.
Hoffe das hilft dir
PS: Ich habe den Code als include auf der Seite mit der LV
ich arbeite gerade an etwas ähnlichem (Favoriten) und habs wie folgt gelöst.
In der KV ein Feld Favoriten angelegt, in welchem kommasepariert die Objekt IDs gespeichert werden.
Der angemeldetet User sieht dann einen Link zum hinzufügen bzw. zum entfernen des jeweiligen Profils zu seinen Favoriten.
Die Seite zum speichern/löschen wird wie folgt aufgerufen http://www.domain.tld/index.php?favID=ObjectID&delete=true|false
Code zum speichern/entfernen.
Es wird geprüft ob der Favorit bereits vorhanden ist oder nicht, und es werden entsprechende Fehlermeldungen ausgegeben.
Code: Alles auswählen
<?php
$uid = $_SESSION['webuser']['ID'];
if(isset($_REQUEST['favID']) AND $_REQUEST['delete']!='true'){
$favID = $_REQUEST['favID'];
$name = mysql_query("SELECT input_Firma FROM tblObject_1 WHERE OF_ID = '".$favID."'");
$row = mysql_fetch_row($name);
if($row != ''){
$Favs = $_SESSION['webuser']['Intern_Favoriten'];
if(isset($Favs) AND $Favs != ''){
// Wenn es bereits Favoriten gibt
$Cats = explode(",",$Favs); // String teilen und in eine Array schreiben
}else{
// Falls Favoriten leer sind einen neuen Array erstellen
$Cats = array();
}
if(!in_array($favID,$Cats)){
array_push($Cats,$favID);
$Cats_out = implode(',',$Cats);
$_SESSION['webuser']['Intern_Favoriten'] = $Cats_out;
$sql = "UPDATE tblWebUser SET Intern_Favoriten='".$Cats_out."' WHERE ID='".$uid."'";
$result = mysql_query($sql);
if($result){
echo "<div id=\"hinweis\">";
echo "<img src=\"/img/layout/icons/speichern_ok.gif\" /> <span style=\"font-weight:bold;\">".$row[0]."</span> erfolgreich zu den Favoriten gespeichert";
echo "</div>";
}else{
echo "<div id=\"hinweis\">";
echo "<img src=\"/img/layout/icons/speichern_fehler.gif\" /> Fehler beim speichern";
echo "</div>";
}
}else{
echo "<div id=\"hinweis\">";
echo "<img src=\"/img/layout/icons/speichern_fehler.gif\" /> Dieses Profil ist bereits in Ihren Favoriten";
echo "</div>";
}
}else{
echo "<div id=\"hinweis\">";
echo "<img src=\"/img/layout/icons/speichern_fehler.gif\" alt=\"Speichern fehler\" /> Ein Profil mit dieser ID gibt es leider nicht";
echo "</div>";
}
}elseif(isset($_REQUEST['favID']) AND $_REQUEST['delete']=='true'){
$delID = $_REQUEST['favID'];
$Favs = $_SESSION['webuser']['Intern_Favoriten'];
$Cats = explode(",",$Favs); // String teilen und in eine Array schreiben
if(in_array($delID,$Cats)){
$del_ref = array_search($delID,$Cats);
unset($Cats[$del_ref]);
$Cats_del = implode(',',$Cats);
unset($_SESSION['webuser']['Intern_Favoriten']);
$_SESSION['webuser']['Intern_Favoriten'] = $Cats_del;
$sql_del = "UPDATE tblWebUser SET Intern_Favoriten='".$Cats_del."' WHERE ID='".$uid."'";
$result = mysql_query($sql_del);
if($result){
echo "<div id=\"hinweis\">";
echo "<img src=\"/img/layout/icons/speichern_ok.gif\" /> Favoriten erfolgreich gelöscht";
echo "</div>";
}else{
echo "<div id=\"hinweis\">";
echo "<img src=\"/img/layout/icons/speichern_fehler.gif\" /> Fehler beim löschen";
echo "</div>";
}
}else{
echo "<div id=\"hinweis\">";
echo "<img src=\"/img/layout/icons/speichern_fehler.gif\" /> Fehler beim löschen, kein Favorit mit dieser ID vorhanden";
echo "</div>";
}
}
?>
Hoffe das hilft dir
PS: Ich habe den Code als include auf der Seite mit der LV
Gruß Liquid
Re: Merkliste
moin Liquid,
Favoriten: genau das meine ich damit
Werde es heute abend mal testen und basteln. Wird wieder ne lange Nacht
Favoriten: genau das meine ich damit
Werde es heute abend mal testen und basteln. Wird wieder ne lange Nacht
Viele Grüße
Mobby
webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)
Mobby
webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)
Re: Merkliste
Na dann mal viel Erfolg.
Theoretisch musst du lediglich "Intern_Favoriten" überall gegen deinen Feldnamen tauschen und in den SQL Queries die tbl_Object mit deiner ID versehen und es sollte funktionieren.
Theoretisch musst du lediglich "Intern_Favoriten" überall gegen deinen Feldnamen tauschen und in den SQL Queries die tbl_Object mit deiner ID versehen und es sollte funktionieren.
Gruß Liquid
Re: Merkliste
wenn das bloss ne Merkliste ist ......
muss die nicht intern gespeichert werden, reicht wenn du die in der Session des angemeldeten Kunden mitspeicherst.......
$_SESSION["favoriten"][] = $_REQUEST["id_des_objects"];
und dann halt vor der Listview mit ner Schleife die IDs per Komma trennen und an die Listview übergeben......
das kann man dann mit nem kleinen Popup machen das man dann auch wieder schliesst, oder mit nem DIV der ne src hat und die dann reloaded dann sieht das gar niemand.
sollte doch reichen oder hab ich was überlesen?!
muss die nicht intern gespeichert werden, reicht wenn du die in der Session des angemeldeten Kunden mitspeicherst.......
$_SESSION["favoriten"][] = $_REQUEST["id_des_objects"];
und dann halt vor der Listview mit ner Schleife die IDs per Komma trennen und an die Listview übergeben......
das kann man dann mit nem kleinen Popup machen das man dann auch wieder schliesst, oder mit nem DIV der ne src hat und die dann reloaded dann sieht das gar niemand.
sollte doch reichen oder hab ich was überlesen?!
Re: Merkliste
Hi,
auch ne schöne Sache, aber die Merkliste=Favoritenliste trifft es genau. Es soll es nur für angemeldete User geben, auch wenn sie sich Tage später wieder anmelden.
auch ne schöne Sache, aber die Merkliste=Favoritenliste trifft es genau. Es soll es nur für angemeldete User geben, auch wenn sie sich Tage später wieder anmelden.
Viele Grüße
Mobby
webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)
Mobby
webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)
Re: Merkliste
Moin,
irgendwie wird nix angezeigt.
Ich habe in der kv ein Textfeld angelegt, dies im extra Reiter Interne und das Feld heißt Favoriten. Nun wird auf der Seite nix angezeigt. Und wenn ich ausgeben lassen will, wird nix angezeigt. Ich habe die ObID angepasst.
Wo habe ich was falsch gemacht?
irgendwie wird nix angezeigt.
Ich habe in der kv ein Textfeld angelegt, dies im extra Reiter Interne und das Feld heißt Favoriten. Nun wird auf der Seite nix angezeigt. Und wenn ich
Code: Alles auswählen
$_SESSION['webuser']['Interne_Favoriten'];
Wo habe ich was falsch gemacht?
Viele Grüße
Mobby
webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)
Mobby
webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)
Re: Merkliste
Wird was angezeigt wenn du Daten manuell in das Feld in der KV schreibst?!
Gruß Liquid
Re: Merkliste
Moin,
nix Ich habe mir per p_v alle Daten ausgeben lassen, es wird nicht mal das Feld angezeigt. Ich habe aber in die tblWebUser geschaut, und dort ist sie vorhanden.
nix Ich habe mir per p_v alle Daten ausgeben lassen, es wird nicht mal das Feld angezeigt. Ich habe aber in die tblWebUser geschaut, und dort ist sie vorhanden.
Viele Grüße
Mobby
webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)
Mobby
webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)
Re: Merkliste
Ja, habe ich gemacht, eben gerade. Hier mal meine Code, vielleicht irgendwoe wieder ein dreher von mir?
Code: Alles auswählen
<?php
$uid = $_SESSION['webuser']['ID'];
if(isset($_REQUEST['favID']) AND $_REQUEST['delete']!='true'){
$favID = $_REQUEST['favID'];
$name = mysql_query("SELECT input_PlatzName FROM tblObject_5 WHERE OF_ID = '".$favID."'");
$row = mysql_fetch_row($name);
if($row != ''){
$Favs = $_SESSION['webuser']['Interne_Favoriten'];
if(isset($Favs) AND $Favs != ''){
// Wenn es bereits Favoriten gibt
$Cats = explode(",",$Favs); // String teilen und in eine Array schreiben
}else{
// Falls Favoriten leer sind einen neuen Array erstellen
$Cats = array();
}
if(!in_array($favID,$Cats)){
array_push($Cats,$favID);
$Cats_out = implode(',',$Cats);
$_SESSION['webuser']['Interne_Favoriten'] = $Cats_out;
$sql = "UPDATE tblWebUser SET Interne_Favoriten='".$Cats_out."' WHERE ID='".$uid."'";
$result = mysql_query($sql);
if($result){
echo "<div id=\"hinweis\">";
echo "<img src=\"/img/layout/icons/speichern_ok.gif\" /> <span style=\"font-weight:bold;\">".$row[0]."</span> erfolgreich zu den Favoriten gespeichert";
echo "</div>";
}else{
echo "<div id=\"hinweis\">";
echo "<img src=\"/img/layout/icons/speichern_fehler.gif\" /> Fehler beim speichern";
echo "</div>";
}
}else{
echo "<div id=\"hinweis\">";
echo "<img src=\"/img/layout/icons/speichern_fehler.gif\" /> Dieses Profil ist bereits in Ihren Favoriten";
echo "</div>";
}
}else{
echo "<div id=\"hinweis\">";
echo "<img src=\"/img/layout/icons/speichern_fehler.gif\" alt=\"Speichern fehler\" /> Ein Profil mit dieser ID gibt es leider nicht";
echo "</div>";
}
}elseif(isset($_REQUEST['favID']) AND $_REQUEST['delete']=='true'){
$delID = $_REQUEST['favID'];
$Favs = $_SESSION['webuser']['Interne_Favoriten'];
$Cats = explode(",",$Favs); // String teilen und in eine Array schreiben
if(in_array($delID,$Cats)){
$del_ref = array_search($delID,$Cats);
unset($Cats[$del_ref]);
$Cats_del = implode(',',$Cats);
unset($_SESSION['webuser']['Interne_Favoriten']);
$_SESSION['webuser']['Interne_Favoriten'] = $Cats_del;
$sql_del = "UPDATE tblWebUser SET Interne_Favoriten='".$Cats_del."' WHERE ID='".$uid."'";
$result = mysql_query($sql_del);
if($result){
echo "<div id=\"hinweis\">";
echo "<img src=\"/img/layout/icons/speichern_ok.gif\" /> Favoriten erfolgreich gelöscht";
echo "</div>";
}else{
echo "<div id=\"hinweis\">";
echo "<img src=\"/img/layout/icons/speichern_fehler.gif\" /> Fehler beim löschen";
echo "</div>";
}
}else{
echo "<div id=\"hinweis\">";
echo "<img src=\"/img/layout/icons/speichern_fehler.gif\" /> Fehler beim löschen, kein Favorit mit dieser ID vorhanden";
echo "</div>";
}
}
?>
Viele Grüße
Mobby
webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)
Mobby
webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)
Re: Merkliste
ich versteh garnicht warum Ihr euch so sehr plagt, das geht doch mit nem
a. Standardfeld in der KV
b. Session Array für FavIDs
c. Standard Session Input Feld das hidden ist
und dann muss man da garnix mit SQL erledigen ........
a. Standardfeld in der KV
b. Session Array für FavIDs
c. Standard Session Input Feld das hidden ist
und dann muss man da garnix mit SQL erledigen ........
Re: Merkliste
Moin,
kannst du mir aufschreiben, wie der code aussieht? Wie bekommt man mehre favID´s rein bzw. wieder ausgelesen?
kannst du mir aufschreiben, wie der code aussieht? Wie bekommt man mehre favID´s rein bzw. wieder ausgelesen?
Viele Grüße
Mobby
webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)
Mobby
webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)
Re: Merkliste
die fav ids trotzdem Kommasepariert natürlich in die KV geschrieben.
<?php
//Favoritensammler
if ($_REQUEST["saveFav"]==true) {
if (!in_array( $_REQUEST["ob_id"],$SESSION[eigeneVariablen][Favoriten]))
$_SESSION[eigeneVariablen][Favoriten][] = $_REQUEST["ob_id"];
else {
print "<script language='javascript'>alert(Seite bereits vorhanden); window.close();</script>";
}
} else {
//hier muss man sich dann noch was zum löschen der Favoriten ausdenken, habe ich grad keinen Kopf dafür
}
for ($i=0; $i<count($_SESSION[eigeneVariablen][Favoriten]);$i++) {
$meineFavs .= $_SESSION[eigeneVariablen][Favoriten][$i];
}
//letztes Komma wegmachen
$meineFavs = substr($smeineFavs, 0, -1);
$_SESSION[webuser][favoritenfeld] = $meineFavs;
//Formular mit der UserID generieren und absenden per JS....... auch keinen Kopf dafür Idee müsste aber passen
<?php
//Favoritensammler
if ($_REQUEST["saveFav"]==true) {
if (!in_array( $_REQUEST["ob_id"],$SESSION[eigeneVariablen][Favoriten]))
$_SESSION[eigeneVariablen][Favoriten][] = $_REQUEST["ob_id"];
else {
print "<script language='javascript'>alert(Seite bereits vorhanden); window.close();</script>";
}
} else {
//hier muss man sich dann noch was zum löschen der Favoriten ausdenken, habe ich grad keinen Kopf dafür
}
for ($i=0; $i<count($_SESSION[eigeneVariablen][Favoriten]);$i++) {
$meineFavs .= $_SESSION[eigeneVariablen][Favoriten][$i];
}
//letztes Komma wegmachen
$meineFavs = substr($smeineFavs, 0, -1);
$_SESSION[webuser][favoritenfeld] = $meineFavs;
//Formular mit der UserID generieren und absenden per JS....... auch keinen Kopf dafür Idee müsste aber passen
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste