• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Einstellungen per localhost speichern und abrufen.

Leider nicht, ich bin mit meiner Seite vor knapp drei Jahren angefangen, mit etwas HTML, dann habe ich mir PHP angeeignet, bei js bin ich über eine Galileo-Grundkurs - DVD nicht wesentlich hinausgekommen und kann mir nur dies oder das erschließen. Ajax habe ich nur ehrfürchtig von weitem gesehen. Etwas SQL noch, aber im Grund möchte ich nicht mit einer ausführlichen Datenbank arbeiten, sondern erstmal nur minimale Einstellmöglichkeiten bieten, die schon mal von Nutzern angefragt wurden ("Schön wäre auch, wenn man die Medien aussuchen könnte,....".
 
ich verstehe, ajax kannst du ganz einfach haben wenn du dir die Jquery lib zunutze machst
Kurzer crashkurs, das was du in php machen willst speicherst du in eine externe php datei, zb ajax.php
dann rufst du die auf
Code:
var auswahl = localStorage.getItem('auswahl');
$.ajax({
			type: "POST", url: "./ajax.php", data: { auswahl:auswahl },
			success: function(result){
				alert("Dein Ergebnis: "+result); // oder
                                $('#content'.html(result); // direkt in der seite ausgeben, wie du willst
			}
		});
also du schickst via POST den string auswahl an die ajax.php, dort kannst du die POST variable abrufen, verarbeitest sie dort und gibst aus was du ausgeben willst (echo) und result liefert es dir wieder auf die seite.

Alles weitere hier ;) jQuery.ajax() | jQuery API Documentation
 
Ich habe jetzt mal ganz simpel etwas in localStorage geschrieben und dann Deinen Code (bis auf die "Direkt in die Seite"-Variante) eingegeben und es kommen fehlermeldungen wie "$is not defined", da habe ich wohl grundsätzlich was falsch gemacht.
 
Ich habe ohne weiteres Drumherum einfach etwas in de localStorage gepackt und dann deinen CODE hinterhergepackt. Aber dann müsste doch hinterher der abgerufene localstorage-wert was in ajax.php stehen oder? Und was per alert ausgegeben werden?
Code:
<script>
localStorage.setItem("auswahl", "Spiegel");
var auswahl = localStorage.getItem('auswahl');
$.ajax({
			type: "POST", url: "./ajax.php", data: { auswahl:auswahl },
			success: function(result){
				alert("Dein Ergebnis: "+result); 
			}
		});
		</script>
 
"meine ajax"?, du meinst die ajax.php? (Die ist leer). Ansonsten, wie gesagt, von ajax keine Ahnung....

jquery habe ich auf meiner home-Seite aber in der Testdatei nicht implementiert...Werde es noch mal damit versuchen...
 
ja ohne jquery zu implementieren kannst du auch keine jquery anweisungen machen :D
und wenn nichts in der ajax.php drin ist dann kommt auch nix raus - ich sagte doch, dein php kram zum bearbeitung der auswahl muss in die ajax.php ;)
Es wäre ratsam wenn du dir mal ein Tutorial reinziehst bezüglich jquery ajax, das ist schnell gemacht
 
Da habe ich natürlich was missverstanden, ich dachte, in die ajax.php kommt das Ergebnis der Auswahl. jetzt habe ich das mal ausprobiert und es wird jetzt per alert angezeigt, was in der ajax.php steht, aber im localstorage steht damit noch nichts?? habe ich wieder was falsch verstanden? Eigentlich ist doch der Ablauf: Der Nutzer bekommt die Medien angezeigt, er wählt aus, speichert in localstorage ab, ruft die home Seite auf, dort wird als erstes geguckt: Steht was im localstorag und wenn ja was und nach diesen Vorgaben wird die Seite aufgebaut.

Also: Wo landet das Ergebnis von
Code:
var auswahl = localStorage.getItem('auswahl');

Noch eine Frage:
Code:
$('#content'.html(result);
stellt das Ergebnis aus ajax.php in die id "content"?
 
Zuletzt bearbeitet:
du schickst doch die variable 'auswahl' an deine ajax.php
dort holst du sie wieder ab
Code:
$auswahl = mysql_real_escape_string($_POST['auswahl']);
dort verarbeitest du sie und schmeißt dein Ergebnis raus, was auch immer das ist
Code:
$hier_wird_was_gemacht = "Danke für die Auswahl: ".$auswahl;
echo  $hier_wird_was_gemacht;

so und im Alert müßte dann stehen "Danke für die Auswahl: Spiegel"
 
das wäre dann quasi eine anzeige, was du da zurück bekommst weiß ich ja nicht, ob Text, ein Hinweis, oder gar eine ganze HTML struktur.
Wenn du dir zB was mit HTML oderso in der ajax aufbaust kannst du den inhalt direkt in einen container platzieren, aber meist reagiert man auf werte aus der ajax
 
Also nochmal für Dummies: Ich habe jetzt diesen Code hier: auf meiner home-seite:

Code:
localStorage.setItem("auswahl", "Deutschlandfunk BR rbb ndr mde sz faz");
var auswahl = localStorage.getItem('auswahl');
$.ajax({
			type: "POST", url: "./ajax.php", data: { auswahl:auswahl },
			success: function(result){
				alert("Dein Ergebnis: "+result); 
			}
		});
In die ajax.php-Datei habe ich auch eine Auswahl von Medien reingeschrieben, diese Auswahl wird mit alert angezeigt, in den localstorage abgelegt wird aber das, was ich mit localStorage.setitem gesetzt habe. Wie Du merkst verstehe ich das Ganze immer noch nicht richtig...Sorry (Und dann diese Hitze...)
 
Zuletzt bearbeitet:
ich versteh einfach nicht was bei dem ganzen überhaupt rauskommen soll.
was macht die AJAX (bitte posten) und was passiert bzw. soll passieren wenn du auf den Button gedrückt hast?
 
Also: Ich biete dem Nutzer eine Seite mit einer Liste mit ca. 20 checkboxen mit allen Medien, deren feeds ich jetzt auf meiner Startseite aufbereite und darstelle Nachrichtentisch. Die heißt dann z. B. nachrichtenisch.de/einstellungen.php. (Evtl. würde ich als zweites auch noch die Auswahl zwischen 3, 5, 7 oder 10 Zeilen-Darstellung anbieten.)

Wieviele und welche von den checkboxen ausgewählt werden, will ich per localstorage am Rechner des Nutzers speichern lassen. (Und wohl auch noch mal auf der Einstellungsseite auflisten, nach dem Motto: Diese Medien haben Sie ausgewählt. Und mit zwei Buttons "Speichern" und "Löschen". Auf meiner jetzigen Startseite möchte ich eine Abfrage einbauen: Steht eine Medienauswahl im localstorage und wenn ja, gib die ausgewählten Medien in ein array... Dieses Array will ich dann durchlesen lassen, z. B. indem in vor jedem jetzt vorhandenen div mit der class=border abfrage, ob das Medium im localstorage (und jetzt im array), also gewünscht war. Soweit der Plan....

P.S. Das einzige, was mir bisher richtig gelungen ist: Anzeigen lassen, was der Nutzer ausgewählt hat (ohne was in den localstorage zu packen) oder willkürlich mit setitem localstorage setzen....
 
Zuletzt bearbeitet:
Das einzige, was mir bisher richtig gelungen ist: Anzeigen lassen, was der Nutzer ausgewählt hat

und wie übergibst du die auswahl bislang? bzw wo kommt sie her? DB?
So komplex ist das ja nicht, aber ich muss schon wissen WIE diese liste an Feeds dann ausgegeben wird, sonst weiß ich ja nicht wie ich dir das aus loalstorage gespeicherte array wieder einbinden kann
 
Bisher frage ich ja auf der Homepage nichts ab, bzw. es gibt keine Auswahl, bisher lautet der Code so (Auszug):

Code:
<div class="border">
 <a href="http://www.heute.de/" target='_blank'> 
<img src="logos/heutelogo.jpg" alt="ZDF" title= "Quelle: ZDF" style=" margin:3px 0px 5px -45px ; padding:0px;"/></a>
<ul> <?php $string=cachetest("http://www.heute.de/?view=rss","zdf"); verarbeiteFeed($string,10); ?> </ul></div>
<div class="border"> <a href="http://www.deutschlandfunk.de/nachrichten.353.de.html" target='_blank'>  <img src="logos/dlf.jpg" alt="Deutschlandfunk" title= "Quelle: Deutschlandfunk" style=" margin:3px 0px 5px -45px ; padding:0px;"/></a>  <?php feedholen("http://www.deutschlandfunk.de/nachrichten.353.de.rss",10); ?> </div>

<div class="border"><a href="http://www.br.de/themen/aktuell/inhalt/nachrichten/index.html" target='_blank'> 
<img src="logos/b5aktuell.jpg" alt="Bayerischer Rundfunk" title= "Quelle: Bayerischer Rundfunk" style=" margin:3px 0px 5px -45px ; padding:0px;"/></a>
<ul> <?php $string=cachetest("http://www.br.de/nachrichten/meldungen/nachrichten-bayerischer-rundfunk100~newsRss.xml","br"); verarbeiteFeed($string,10); ?> </ul></div> 
<div class="border"><a href="http://www.inforadio.de/nachrichten/index.html" target='_blank'> 
<img src="logos/inforadio.jpg" alt="rbb-Inforadio"  title= "Quelle: rbb-inforadio" style=" margin:3px 0px 5px -45px ; padding:0px;"/></a>
<ul> <?php $string=cachetest("http://www.inforadio.de/nachrichten/index.xml/feed=rss.xml","inforadio"); verarbeiteFeed($string,10); ?> </ul> 
</div>
es folgen all die andere Medien, die Du auf meiner Seite siehst. Ich weiß, das ist nicht die eleganteste Form der Programmierung, aber ich bin vor 2 Jahren damit aus reiner Notwendigkeit angefangen, mit sehr wenig HTML und fast ohne PHP-Kenntnisse, und dann hat sich das Stück für Stück weiter entwickelt...EIne Mobilversion gibt es inzwischen auch.

Die php-Funktion cachetest prüft, ob der feed innerhalb der letzten Minuten schon mal geholt wurde und im cache steht und von da geholgt werden kann. Dann verarbeitet die Funktion "verarbeiteFeed($string,10);" den frischgeholten oder gecachten feed, je nach Format und gibt 10 Zeilen davon aus, inklusive Preview (tooltipp). Ich kann Dir den ganzen Code geben, aber das wäre schon viel. Ich habe mir das mit meinem Laienverstand so vorgestellt, dass ich vor dem ersten Medium (tagesschau) eine js-Funktion aufrufe, die nach dem localstorage guckt und falls vorhanden, ein array mit der gewünschten Auswahl zur Verfügung stellt, mit dem ich dann das jeweilige Medium vergleiche und überspringe oder nicht. Oder müsste ich meine jeweilige Class=border als tagesschau.php, heute.php usw. auslagern und nur dazu laden, wenn diese Medien auch im localstorage-array stehen (das Ganze geht auch mit Cookies, aber das wäre für mich nicht weniger kompliziert).

- - - Aktualisiert - - -

Ich habe nich mal folgendes probiert:
Code:
<!DOCTYPE html>
<html>
<head>
    <title>Formular mit Checkbox und Radio - Button auswerten</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
    <form action="ausgabe.php" method="post">
        Wahl der Zeilen:<br>
        <!-- Radio buttons für Wahl der Zeilen -->
        <input type="radio" name="Zeilen" value="10">10<br>
        <input type="radio" name="Zeilen" value="7">7<br>
        Medienauswahl:<br>
        <input type="checkbox" name="Medium[]" value="Tagesschau"> Tagesschau<br>
        <input type="checkbox" name="Medium[]" value="Spiegel"> Spiegel<br>
        <input type="checkbox" name="Medium[]" value="Heute"> Heute<br>
        <input type="submit" name="absenden" value="Liste absenden">
    </form>

</body>
</html>
und die "ausgabe.php" sieht so aus:

Code:
<?php ob_start(“ob_gzhandler”); ?>

<!DOCTYPE html>
<!--[if lt IE 7 ]><html lang="de" class="no-js ie6" xmlns="http://www.w3.org/2000/xhtml"><![endif]-->
<!--[if IE 7 ]><html lang="de" class="no-js ie7" xmlns="http://www.w3.org/2000/xhtml"><![endif]-->
<!--[if IE 8 ]><html lang="de" class="no-js ie8" xmlns="http://www.w3.org/2000/xhtml"><![endif]-->
<!--[if IE 9 ]><html lang="de" class="no-js ie9" xmlns="http://www.w3.org/2000/xhtml"><![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--><html lang="de" class="no-js" xmlns="http://www.w3.org/1999/xhtml"><!--<![endif]-->
<head>
<script type="text/JavaScript">
function speichern() {
 window.localStorage.setItem('auswahl', &$value);
}

function lesen() {
 var key = localStorage.getItem('medien');
 alert ("You typed: " + key);
}</script>
    <title>Nachrichtentisch</title> 
        <meta charset="utf-8">
<meta name="description" content="Die Nachrichten-Übersicht über die wichtigsten Schlagzeilen von Fernsehen, Radio und Zeitungen. National, international und regional für Berlin und Brandenburg" />
<meta name="Author" content="Nachrichtentisch - Peter Tomuscheit" />
<meta name="google-site-verification" content="Toh0Q7KIIj4HcqnVWLHTIHRz7n5QZwj2uOp8idXQxNw" />
<link rel="stylesheet" href="./css/tooltipster1.min.css" type="text/css" >
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>
<script type="text/javascript" src="https://code.jquery.com/jquery-1.10.2.min.js"></script> 
<script type="text/javascript" src="http://oss.maxcdn.com/libs/modernizr/2.6.2/modernizr.min.js"></script>
<script type="text/javascript" src="./js/jquery.tooltipster.min.js"></script> 

          <link rel="shortcut icon" href="./favicon.ico" /> 

</head>
     
<body>   

<?php
if (isset($_POST['absenden'])){
  
    echo "Sie haben folgende Medien ausgewählt: <br>";
    foreach ($_POST['Medium'] as &$value) {
        echo '<script type="text/javascript">speichern();</script>';

             echo $value."<br>";
    }
}
?>
</body>
</html>
Also, die gewählten Medien werden ausgegeben, aber nicht im localStorage gespeichert.
 
Ws in Gottes Namen ist das?
Code:
foreach ($_POST['Medium'] as &$value) {
        echo '<script type="text/javascript">speichern();</script>';
    }
 
...das war der Versuch, aus php heraus eine js-function aufzurufen (google liefert das von dieser Seite javascript funktion aus php aufrufen), und die ausgewählten Medien nicht nur mit echo anzeigen, sondern auch gleich im localstorage speichern zu lassen. Hat nicht funktioniert, was Dich nicht zu wundern scheint...Und sonst, was sagst Du zu meinem CODE und den Möglichkeiten, da checkboxes und localstorage sinnvoll einzubauen...
 
Zurück
Oben