anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Do 28 Mär, 2024 09:34

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 37 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
 Betreff des Beitrags: PHP-problem
BeitragVerfasst: Sa 22 Mär, 2008 02:02 
Offline
Eingeweihter
Eingeweihter
Benutzeravatar

Registriert: Mo 11 Feb, 2008 13:30
Beiträge: 96
Geschlecht: Männlich
Huhu
Ich bastel grade an einer Homepage und soweit klappt auch alles ganz gut
mein einziges Problem:
Ich habe mehrere "Skins" erstellt. Ich habs auch schon geschafft das so zu bauen das man das auswählen kann... allerdings muss man das auf jeder einzelnen Seite tun.
Kann mir jeman verraten wie ich die Variablen "global" zur verfügung stelle? Oder zumindest übergeben kann (ohne die URL zu benutzen!!!!!)

thx
mfg
The_Muh


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PHP-problem
BeitragVerfasst: Sa 22 Mär, 2008 02:07 
Offline
Freak
Freak
Benutzeravatar

Registriert: Sa 15 Okt, 2005 14:06
Beiträge: 864
Geschlecht: Männlich
LoGD: http://shinobilegends.com
machs wie in 1.x.x

tus in ein Cookie =)

_________________
Entwicklung Lotgd 1.2.2 +nb
1.2.1 +nb ist final

Bugreports/Testing erwünscht, http://nb-core.org

Wichtige Info für Programmierersucher:
viewtopic.php?f=34&t=4285


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PHP-problem
BeitragVerfasst: Sa 22 Mär, 2008 13:43 
Offline
Freak
Freak
Benutzeravatar

Registriert: Di 01 Mai, 2007 13:57
Beiträge: 1634
Wohnort: Dortmund.
Geschlecht: Männlich
LoGD: Lokal.
Skype: josh.hoiul
Na^^ Ist ja nicht nur in der 1.x.x so^^ 0.9.7+jt - $_COOKIE['template'] ;)

_________________
Never change a running system. Bullshit! ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PHP-problem
BeitragVerfasst: Sa 22 Mär, 2008 14:25 
Offline
Eingeweihter
Eingeweihter
Benutzeravatar

Registriert: Mo 11 Feb, 2008 13:30
Beiträge: 96
Geschlecht: Männlich
Wie lese ich die cookies aus? und wie schreib ich was rein!?!?!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PHP-problem
BeitragVerfasst: Sa 22 Mär, 2008 14:31 
Offline
Freak
Freak

Registriert: So 29 Jan, 2006 09:41
Beiträge: 1927
Wohnort: Schweiz
Geschlecht: Männlich
Skype: louis.huppenbauer
http://de.php.net/setcookie <--Dieser Link wird dir dabei helfen, das Cookie zu setzen.
Mit der superglobalen $_COOKIE['cookiename'] kannst du dann auf den Wert zugreifen.


Mit freundlichen Grüssen,
Harthas


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PHP-problem
BeitragVerfasst: So 23 Mär, 2008 01:16 
Offline
Eingeweihter
Eingeweihter
Benutzeravatar

Registriert: Mo 11 Feb, 2008 13:30
Beiträge: 96
Geschlecht: Männlich
ich habs mittlerweile geschafft die buttons so zu setzen das die variable richtig gesetzt wird
aber ich versteh das mit den cookies nicht ganz...
kann mir das einer mal so erklären das ich als "normal"-nutzer das verstehe?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PHP-problem
BeitragVerfasst: So 23 Mär, 2008 01:26 
Offline
Freak
Freak
Benutzeravatar

Registriert: Di 01 Mai, 2007 13:57
Beiträge: 1634
Wohnort: Dortmund.
Geschlecht: Männlich
LoGD: Lokal.
Skype: josh.hoiul
Nim das Templatesystem aus LotGD...

_________________
Never change a running system. Bullshit! ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PHP-problem
BeitragVerfasst: So 23 Mär, 2008 09:38 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Cookies sind kleine Datenkekse, die auf dem Computer des Benutzers gespeichert werden. So ist es dir Möglich, Benutzer "wiederzuerkennen" - und zwar solange, wie das Cookie auf dem Computer bleibt. Natürlich kann das Cookie von Benutzer gelöscht, verändert, und selbst erstellt werden; das heisst, vertrauliche Daten gehören da nicht hinein. Soweit klar?

Du kannst nun also, wie Harthas gesagt hat, den Wert für das Template in so einem Cookie speichern (Mit der Funktion setcookie(), die er bereits erwähnt hat). Wenn du dem Cookie den Namen "template" gibst, kannst du überall in den Scripten auf den Wert zugreifen - und zwar mit folgender Methode:

$this->bbcode_second_pass_code('', '$template = $_COOKIE['template'];')

Allerdings bitte ich dich bereits hier - speichere niemals den ganzen Dateinamen im Cookie ab, sondern zum Beispiel nur ein Zahlencode, der zur Datei führt. Komplette Dateinamen könnten ein Sicherheitsrisiko darstellen, wenn du die nicht entsprechend verarbeitest.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PHP-problem
BeitragVerfasst: So 23 Mär, 2008 15:31 
Offline
Eingeweihter
Eingeweihter
Benutzeravatar

Registriert: Mo 11 Feb, 2008 13:30
Beiträge: 96
Geschlecht: Männlich
also
ich hab 3 buttons in die Homepage eingebaut.
Klickt man auf einen der Buttons, ändert sich das Layout (also andere grafiken).
Aber wie mach ich das so, die geänderte variable ($skin) in den cookie kommt?

code:
$this->bbcode_second_pass_code('', 'if ($skin != blue){
echo'<tr><td width="219">
<form action="index.php" method="post">
<input type="hidden" name="myskin" value="blue">
<input type="image" src="img/',$skin,'/blue.png">
</form>
</td></tr> ';
}
if ($skin != grey){
echo'<tr><td width="219">
<form action="index.php" method="post">
<input type="hidden" name="myskin" value="grey">
<input type="image" src="img/',$skin,'/grey.png">
</form>
</td></tr>';
}
if ($skin != green){
echo'<tr><td width="219">
<form action="index.php" method="post">
<input type="hidden" name="myskin" value="green">
<input type="image" src="img/',$skin,'/green.png">
</form>
</td></tr>';
}')

(ja ich weiß, das ist nicht ganz ideal, aber was solls....)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PHP-problem
BeitragVerfasst: So 23 Mär, 2008 17:50 
Offline
Freak
Freak

Registriert: So 29 Jan, 2006 09:41
Beiträge: 1927
Wohnort: Schweiz
Geschlecht: Männlich
Skype: louis.huppenbauer
if ( !empty( $_POST['myskin'] ) ) {
setcookie( 'template' , $_POST['myskin'] , strtotime( date('c').' +45 days' ) );
}

Sowas in der Art könntest du dann verwenden.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PHP-problem
BeitragVerfasst: So 23 Mär, 2008 18:46 
Offline
Eingeweihter
Eingeweihter
Benutzeravatar

Registriert: Mo 11 Feb, 2008 13:30
Beiträge: 96
Geschlecht: Männlich
danke!
es funzt
allerdings gehts nicht immer sofort, sondern manchmal muss man nochmal aktualiesieren
ansonsten: perfekt

code
$this->bbcode_second_pass_code('', 'if ( !empty( $_POST['myskin'] ) ) {
setcookie( 'template' , $_POST['myskin'] , strtotime( date('c').' +45 days' ) );
}
$skin = $_COOKIE['template'];')
der rest ist HTML code, oder das was oben zu sehen is


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PHP-problem
BeitragVerfasst: So 23 Mär, 2008 19:21 
Offline
Freak
Freak
Benutzeravatar

Registriert: Di 01 Mai, 2007 13:57
Beiträge: 1634
Wohnort: Dortmund.
Geschlecht: Männlich
LoGD: Lokal.
Skype: josh.hoiul
PHP4:

date('r')

PHP5 >:

date('c')

....Was für ne Version hassen du? [/ot]

_________________
Never change a running system. Bullshit! ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PHP-problem
BeitragVerfasst: So 23 Mär, 2008 19:56 
Offline
Eingeweihter
Eingeweihter
Benutzeravatar

Registriert: Mo 11 Feb, 2008 13:30
Beiträge: 96
Geschlecht: Männlich
PHP 5
ganz einfach


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PHP-problem
BeitragVerfasst: So 23 Mär, 2008 23:22 
Offline
Freak
Freak

Registriert: So 29 Jan, 2006 09:41
Beiträge: 1927
Wohnort: Schweiz
Geschlecht: Männlich
Skype: louis.huppenbauer
Das liegt daran, dass zuerst das Template bestimmt wird, und erst danach das Cookie geändert wird. Ist ja eigentlich nicht weiter tragisch, oder? (Soweit ich weiss, ist es auch bei den meisten Forensystemen so).


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PHP-problem
BeitragVerfasst: So 23 Mär, 2008 23:46 
Offline
Freak
Freak

Registriert: So 30 Okt, 2005 17:48
Beiträge: 1408
Wohnort: PB
Geschlecht: Männlich
LoGD: http://dav.blood-reaver.de/lotgd/
mach doch danach einfach einen redirect auf die selbe seite, dann geht das aktualisieren automatisch von der hand

_________________
Mehr oder minder inaktiv


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PHP-problem
BeitragVerfasst: Di 08 Apr, 2008 16:38 
Offline
Eingeweihter
Eingeweihter
Benutzeravatar

Registriert: Mo 11 Feb, 2008 13:30
Beiträge: 96
Geschlecht: Männlich
hab ein neues... naja 'problem' und will deshalb keinen neuen thread aufmachen.
also ich hab mögliche werte in einer spalte innerhalb der accountstable.
nun will ich zählen wie oft was vorkommt... so sieht mein bisheriger code aus
$this->bbcode_second_pass_code('', ' $sql = "SELECT count(job) AS a FROM accounts where job ='Landwirt'";
$result = db_query($sql);
$row = db_fetch_assoc($result);
output($row['a']." Landwirte`n");

$sql = "SELECT count(job) AS b FROM accounts where job ='Holzfäller'";
$result = db_query($sql);
$row = db_fetch_assoc($result);
output($row['b']." Holzfäller`n");

$sql = "SELECT count(job) AS c FROM accounts where job ='Holzfäller'";
$result = db_query($sql);
$row = db_fetch_assoc($result);
output($row['c']." Steinmetze`n");')

ich wollte das jetz aber möglichst in eine SQL abfrage stecken und dann ausgeben.. so wie es jetz ist find ich das einfach zu "Unhandlich"


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PHP-problem
BeitragVerfasst: Di 08 Apr, 2008 18:06 
Offline
Freak
Freak
Benutzeravatar

Registriert: Di 01 Mai, 2007 13:57
Beiträge: 1634
Wohnort: Dortmund.
Geschlecht: Männlich
LoGD: Lokal.
Skype: josh.hoiul
1. Die dritte SQL Abfrage ist falsch.
2. Gehört das in den Moddern Forum und Technischen Support.
3. Hier:

Löse es mit einer While schleife.

$this->bbcode_second_pass_code('', '$select = db_query('SELECT * FROM accounts WHERE job = "Landwirt"');
if (db_num_rows($select) == 0)
{
output('Es gibt keine Landwirte.');
}
else {
$landwirt++;
}
output('Es gibt '.$landwirt.' Landwirte.');')

..

_________________
Never change a running system. Bullshit! ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PHP-problem
BeitragVerfasst: Di 08 Apr, 2008 18:08 
Offline
Eingeweihter
Eingeweihter
Benutzeravatar

Registriert: Mo 11 Feb, 2008 13:30
Beiträge: 96
Geschlecht: Männlich
1. hab ich wol übersehen
2. kanns jemand verschieben? (sry)
3. danke


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PHP-problem
BeitragVerfasst: Di 08 Apr, 2008 18:12 
Offline
Freak
Freak
Benutzeravatar

Registriert: Di 01 Mai, 2007 13:57
Beiträge: 1634
Wohnort: Dortmund.
Geschlecht: Männlich
LoGD: Lokal.
Skype: josh.hoiul
Ahh sorry *g
Hab die Whileschleife vergessen :x

$this->bbcode_second_pass_code('', '$select = db_query('SELECT * FROM accounts WHERE job = "Landwirt"');
if (db_num_rows($select) == 0)
{
output('Es gibt keine Landwirte.');
}
else {
while (db_fetch_assoc($select)) {
$landwirt++;
}
}
output('Es gibt '.$landwirt.' Landwirte.');')

Sorry war noch ein Fehler drin... Jetzt geht es aber.

_________________
Never change a running system. Bullshit! ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: PHP-problem
BeitragVerfasst: Di 08 Apr, 2008 18:33 
Offline
Freak
Freak
Benutzeravatar

Registriert: Sa 15 Okt, 2005 14:06
Beiträge: 864
Geschlecht: Männlich
LoGD: http://shinobilegends.com
:(

Ich bin auch von München nach Augsburg gekommen. Aber zuerst bin ich nach Prag, dann nach Moskau, und dann nach Berlin, dann nach Zürich, von da aus nach Augsburg...


au au au

Mysql, bitte, ein wenig auf "Schnellster Weg" oder "Wenigste Laufzeit" achten.

Bei solchen Abfragen wundert es nicht, wenn irgendwann Webspace am Ende ist.

Zitat:
$select = db_query('SELECT * FROM accounts WHERE job = "Landwirt"');
if (db_num_rows($select) == 0)
{
output('Es gibt keine Landwirte.');
}
else {
while (db_fetch_assoc($select)) {
$landwirt++;
}
}
output('Es gibt '.$landwirt.' Landwirte.');


möchtest Du eine schnellere, kleinere, bessere Lösung, eine wo Du nicht DIE GESAMTE ACCOUNTSTABELLE EXKLUSIVE ALLER NICHT-LANDWIRTE im Kasten hast?

hier:

$this->bbcode_second_pass_code('', '$sql="SELECT count(acctid) AS counter FROM accounts WHERE job = 'Landwirt' GROUP BY job; //wir schachteln ungern, man solls noch lesen können
$result=db_query($sql); //Abfrage
$row=db_fetch_assoc($sql); //es gibt immer einen row, und wenn der counter ==0 ist
output("Es gibt %s Landwirte",$row['counter']);

')

War doch garnicht so schwer, oder? Ein bissi was aus deinem Namen, denn Mysql kann viel mehr als einfach eine where bedingung.

Lies bitte mal:
http://dev.mysql.com/doc/refman/5.0/en/select.html

_________________
Entwicklung Lotgd 1.2.2 +nb
1.2.1 +nb ist final

Bugreports/Testing erwünscht, http://nb-core.org

Wichtige Info für Programmierersucher:
viewtopic.php?f=34&t=4285


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 37 Beiträge ]  Gehe zu Seite 1, 2  Nächste

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen
Du darfst keine Antworten zu Themen in diesem Forum erstellen
Du darfst deine Beiträge in diesem Forum nicht ändern
Du darfst deine Beiträge in diesem Forum nicht löschen
Du darfst keine Dateianhänge in diesem Forum erstellen

Suche nach:
Gehe zu:  
cron
POWERED_BY
Deutsche Übersetzung durch phpBB.de
anpera.net - Impressum