Benötige Hilfe bei HTML (Link anpassung)

03/04/2012 23:04 DrackenDarck#1
Hallo, ich habe eine Frage :)
Eigentlich bin ich doch recht gut in HTML und co aber nu weiß ich einfach nicht weiter.

Ich möchte einen internen Link erschaffen der sieht so aus:

Code:
<a href="nfo.php?sid=47l2s35&n=1&n_to=Dracken" > PN an Dracken </a>
Nun ist das Problem, damit dies auch für andere klappt und Sie mir direkt eine Pn senden können müssen sie eine SID haben nur diese ändert sich nach jedem Login und jetzt ist die Frage wie kann ich diesen Link so eintragen das er jedesmal die SID des Users nimmt, weil meine jetzige genannte ist ja bald wieder abgelaufen. Leider ist kein PHP Scipt möglich da es so in ein HTML Chat eingegeben werden soll damit die User direkt per Chat mir eine PN senden können :)

So sieht das ganze im Chat aus:

Quote:
[Only registered and activated users can see links. Click Here To Register...]
Gruß
Dracken Darck
03/05/2012 11:38 ms​#2
Code:
<script>
var cookie = document.cookie;
var cookie_key = "sid";
var cookie_value = (new RegExp("(?:^|;\\s*)" + escape(cookie_key).replace(/[\-\.\+\*]/g, "\\$&") + "\\s*\\=")).test(cookie) ? unescape(cookie.replace(new RegExp("(?:^|.*;\\s*)" + escape(cookie_key).replace(/[\-\.\+\*]/g, "\\$&") + "\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*"), "$1")) : "";
var url = "nfo.php?sid=" + cookie_value + "&n=1&n_to=Dracke";
</script>
<a href="javascript:document.location=url">PN an Dracken</a>
03/06/2012 16:56 DrackenDarck#3
Quote:
Achtung!

Error: Invalid session! Please login.
Klappt nicht...

[Only registered and activated users can see links. Click Here To Register...]

Aber er wandelt es zumindest Ohne Probleme um :)
*Kriegst trotzdem schonmal ein THX fürs Versuchen* ;)
03/06/2012 17:04 PseudoPsycho#4
Es ist also aufgrund der Einbindung kein PHP möglich???
Verstehe zwar nicht wieso, aber nehme es mal zur Kenntnis.
Dann kannst du aber stattdessen eine data.json.php erstellen
mit dem Inhalt:
PHP Code:
<?php
$data
['sid']=$sid// entsprechend anpassen
echo json_encode($data); ?>
und dann via jQuery:
Code:
var json=$.ajax('data.json.php', { async:false, type:'POST', cache:false }).responseText;
json=$.parseJSON(json);
var url='nfo.php?n=1&n_to=Dracken&sid='+json.sid;
$('#link_id').attr('href', url);
03/06/2012 17:04 ms​#5
Code:
var cookie_key = "sid";
Dann musst du hier den Namen des Cookies anpassen.
03/06/2012 22:53 DrackenDarck#6
PseudoPsycho, das problem ist es ist ein Chat der HTML Eingaben erlaubt so kann ich z.b. Groß Schreiben:
Code:
<b> Groß </b>
So schreibe ich auch als "Teamler".
Code:
<b><font color=#00bb00 >

</b></font>
Wollte halt gerne einfügen, dass man mir direkt ne PN senden kann ;)
Wenn ich Online bin geht das auch per Mouseover.... aber sobald ich ausgeloggt bin passiert beim Mouseover nichts.

Gruß
Dracken
03/06/2012 23:14 galaxyo#7
Ja und was hat das mit dem PHP zu tun? Du gibst doch lediglich den Link über PHP aus. Der rest wird doch gar net vom Server runter gerödelt.

Edit:
Außerdem frage ich mich, warum du nicht den Usernamen verwendest um PM's zu versenden. Wenn das ein Chat ist gehe ich davon aus, dass sich jeder registrieren und einloggen muss und da der Username statisch ist sollte das doch überhaupt kein Problem sein. Und $_get bzw. $_post kannst du auch mit Javascript verwenden. Warum so umständlich und das über eine dynamische SID machen die bei jedem neuen Browserstart anders ist.
03/07/2012 16:08 DrackenDarck#8
Ich meine halt PseudoPsycho hat 2 "Datein" geschrieben, aber ich muss es ja alles in 1Zeile packen.
Wie gesagt, damit man mir einfach so ne Pn schicken kann und ich würde es auch gerne im Forum nutzen um es in meiner Signatur per HTMl einzufügen, dass die leute Automatisch ins Spiel geschickt werden und dort mit "Ihrer eigenen" sid mir eine Pn schicken können...

Also eigentlich muss das tool nur die sid= umwandeln in die von denjenigen der es anklickt...

Wenn es nicht möglich ist sagt es einfach ;)

Gruß
Dracken
Achja zum Edit, es soll halt einfach für Faule Säcke sein, die einfach nur klicken können statt erst mein nick zu kopieren oder so ;)

EDIT: Bei Pseudo Psyhcos muss ich gewiss erst die Datei in den Server laden oder? Ich glaube nicht, dass dies umsetzbar ist.
03/07/2012 17:15 PseudoPsycho#9
Quote:
Also eigentlich muss das tool nur die sid= umwandeln in die von denjenigen der es anklickt...
Dir bleibt aber keine andere Wahl, als PHP zu verwenden, alleine schon um die SID rauszukriegen...
...und selbstverständlich gehört das PHP auf den Server..?!
03/07/2012 22:14 ms​#10
Die SID kann er auch herauskriegen, indem er den Cookie mit der SID per Javascript ausliest. Meinen Code kann man natürlich auch schöner machen, indem man den Cookie mit jQuery ausliest.

Aber offensichtlich gefällt dem Threadersteller mein Beitrag nicht. :(
03/08/2012 14:36 PseudoPsycho#11
Quote:
Originally Posted by Metin2Spieler97 View Post
Die SID kann er auch herauskriegen, indem er den Cookie mit der SID per Javascript ausliest.
Ja, aber bereits zum Setzen wird PHP benötigt:
Code:
var cookie_key = "sid";
nützt nämlich in dieser Rohform noch garnichts...
03/08/2012 15:08 ms​#12
Quote:
Originally Posted by PseudoPsycho View Post
Ja, aber bereits zum Setzen wird PHP benötigt:
Cookies will er aber gar nicht setzen. Davon abgesehen ist das in Javascript möglich.

Quote:
Originally Posted by PseudoPsycho View Post
Code:
var cookie_key = "sid";
nützt nämlich in dieser Rohform noch garnichts...
ist auch ein Teil von meinem ersten Post

Quote:
Originally Posted by Metin2Spieler97 View Post
Code:
<script>
var cookie = document.cookie;
var cookie_key = "sid";
var cookie_value = (new RegExp("(?:^|;\\s*)" + escape(cookie_key).replace(/[\-\.\+\*]/g, "\\$&") + "\\s*\\=")).test(cookie) ? unescape(cookie.replace(new RegExp("(?:^|.*;\\s*)" + escape(cookie_key).replace(/[\-\.\+\*]/g, "\\$&") + "\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*"), "$1")) : "";
var url = "nfo.php?sid=" + cookie_value + "&n=1&n_to=Dracke";
</script>
<a href="javascript:document.location=url">PN an Dracken</a>
03/08/2012 15:09 galaxyo#13
Eigentlich hätten wir ja noch das Problem, dass die eigene SID an andere übertragen werden muss. Hat doch keinen Sinn wenn man sich selbst eine Nachricht senden kann aber anderen nicht. Die Variante mit dem Benutzernamen ist immer noch die beste und ebenfalls einfachste. Und ob man nun per SID eine Nachricht versendet oder durch ein automatisch erzeugtes @Username ist doch total irrelevant.

PS: Schonmal etwas von Ajax gehört? Warum also kein PHP verwenden?

Quote:
Leider ist kein PHP Scipt möglich da es so in ein HTML Chat eingegeben werden soll damit die User direkt per Chat mir eine PN senden können
Bullshit!
03/08/2012 15:13 PseudoPsycho#14
Quote:
Originally Posted by Metin2Spieler97 View Post
Cookies will er aber gar nicht setzen. Davon abgesehen ist das in Javascript möglich.
:p lol.
SO war das auch nicht gemeint:
Der Cookie deines Scriptes wird ja auch über JS gesetzt, hat halt nur den Inhalt 'sid'. Und um dort den Inhalt einzufügen, braucht man eben PHP, einfach um die SID erstmal herauszufinden...
03/08/2012 15:15 galaxyo#15
Korrekt.

SID = SessionId. Stichwort: $_SESSION bzw. session_start();