DE - Anfragen@NAME: Vorauswahl erstellen


07.11.2011, 14:51 - zwantE - webSPELL lover - 1234 Posts
Moin,
ich würde gerne für meine Shoutbox wie bei facebook eine Art Vorauswahl haben.

quasi das wenn ich jemand gezielt ansprechen möchte und das durch ein @ signalisiere, das dann eine Auswahlliste mit allen Clanmembern bzw Buddys erscheint.
Und je nachdem welche Buchstaben ich drücke diese Liste sich dann immer aktualisiert.

kann mir jemand einen Hinweis oder noch besser ein paar Links geben womit ich das realisieren kann?

Viele Grüße zwantE

» » [URL=http://www.confused-gaming.eu]Confused-Gaming.eu[/URL] « « [I]alle meine Addons / Mods findet ihr in meinem [URL=http://www.webspell.org/index.php?site=profile&id=23650]Profil[/URL][/I]

 
07.11.2011, 14:58 - Philipp - Administrator - 2568 Posts
Du kannst dir im Admincenter -> User mal die Suche anschauen, da haste sowas in der Richtung. Zumindest die Suche mit den aktualisieren.


 
07.11.2011, 15:07 - zwantE - webSPELL lover - 1234 Posts
krass... das ist mir ja noch gar nicht aufgefallen!
danke für den Tip... mal gucken wie weit ich damit komme lächeln

» » [URL=http://www.confused-gaming.eu]Confused-Gaming.eu[/URL] « « [I]alle meine Addons / Mods findet ihr in meinem [URL=http://www.webspell.org/index.php?site=profile&id=23650]Profil[/URL][/I]

 
07.11.2011, 18:02 - Maidzen - webSPELL user - 307 Posts
wenn nicht sowas läst sich leicht mit jQuery(und Ajax) erstellen.

z.B.:
Code:
1.
2.
3.
4.
5.
6.
7.
8.
9.
$('#target').keyup(function() {
  $.ajax({
    cache: false,
    url: 'phpDateiMitSqlCheck.php?search='+$('#target').val(),
    success: function(data) {
    $('#result').html(data);
  }
});
});

 
08.11.2011, 23:59 - Maidzen - webSPELL user - 307 Posts
Da ich jetzt ein Paar PNs bekommen habe ob ich das genauer Beschreiben kann was ich oben geschrieben habe hier ein kleines Tutorial:
(Ich gebe eine allgemeine Beschreibung wie man sowas macht. Sollte sich aber auch einfach in Webspell intigrieren lassen.)

HTML:
Code:
1.
2.
<input type="text" value="" name="Shoutbox_post" id="sb_post"> <!-- Shoutbox Input -->
<div id="sb_dd" style="display:none;"></div> <!-- Div für Anzeige: auswahl von vorschlägen -->


JS:
http://nopaste.me/paste/16696371224eb9b3479ac7e

PHP:
http://nopaste.me/paste/13127407964eb9bae46fe0f

Die Erklärungen sind in Jeder Zeile als Kommentar

Das ganze ist nicht getestet!

Wer Fragen hat oder Fehler findet bitte hier im Theard melden, per PN kann ich zwar dir Helfen aber vielleicht haben andere auch das Problem lächeln
 
09.11.2011, 09:36 - Asker - webSPELL user - 134 Posts
Vielen Dank Maidzen für deine mühen zwinkern

Muss man eine neue JS und eine neue PHP Datei erstellen und dann der Code dort einfügen oder wo kommt der JS und PHP Code hin ?

Hat die Erweiterung schon jemand eingebaut ?

MfG
 
09.11.2011, 10:12 - zwantE - webSPELL lover - 1234 Posts
Moin,
also ich hab das ganze jetzt mal versucht in meine Shoutbox einzubauen und komme nicht weiter.

- Um das ganze zu testen, habe ich das modifizierte Eingabefeld als drittes Eingabefeld hinzugefügt (siehe Toggle)
- den JS Teil hab ich am Anfang meiner shoutbox.html plaziert [toggle=shoutbox.html]
Code:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
<script language="JavaScript" type="text/javascript">
<!--
$(document).ready(function(){
          $('#sb_post').keyup(function() { //Wenn eine Taste im textfeld gedrückt wurde
                    if($('#sb_post').val().substring(0, 1) == "@" && $("#sb_post").val().length < "8") { // prüfen ob @ das erste zeichen ist und nach 8 zeichen keine prüfung mehr
                    $.ajax({ // Ajax function
                              cache: false, // der Browser cache wird geleert (keine alten ergebnisse)
                              url: 'checkForUser.php?search='+$('#sb_post').val(), //PHP datei wird aufgerufen Inhalt von sb_post wird übergeben
                              success: function(data) { //wenn Query erfolgreich
                                        $('#sb_dd').html(data); // Ergebniss(e) in DIV schreiben
                              }
                              });
                              $('#sb_dd').fadeIn(); // Menu Einblenden
                    } else if($('#sb_dd').css('display') == 'block') { // wenn @ gelöscht wird sb_dd wieder ausblenden
                              $('#sb_dd').fadeOut();  // Menu Ausblenden
                    }
          });
        
          $('#sb_dd ul li').click(function(){ // Wenn ein Name in der liste geklickt wird
                    $('#sb_post').val('@'+$(this).val()); // name in input schreiben
          });
});

function chkFormularShoutBox() {
     if(document.getElementById('shoutbox_name').value == ""){
          alert('%enter_name%');
          document.getElementById('shoutbox_name').focus();
          return false;
     }
     if(document.getElementById('shoutbox_message').value == "" || document.getElementById('shoutbox_message').value == "Message"){
          alert('%enter_message%');
          document.getElementById('shoutbox_message').focus();
          return false;
     }
     return true;
}
-->
</script>
<form name="shout" method="post" action="index.php?site=shoutbox_content&amp;action=save" onsubmit="return chkFormularShoutBox()">
<script language="JavaScript" type="text/javascript">
<!--
fetch('shoutbox_content.php', 'shoutbox', 'replace', 'time', $refresh);
-->
</script>
<div id="shoutbox" style="width: 100%;overflow: hidden; text-align: left;"></div>
<input type="text" id="shoutbox_name" name="name" size="24" maxlength="255" style="margin: 2px;" $name_settings /><br />
<input type="text" id="shoutbox_message" name="message" size="24" maxlength="255" style="margin: 2px;" value="Message" onfocus="this.value=''" /><br />
<input type="text" value="!!! Testfeld !!!" onfocus="this.value=''" name="Shoutbox_post" id="sb_post" size="24" maxlength="255" style="margin: 2px;"><br /> <!-- Shoutbox Input -->
<div id="sb_dd" style="display:none;"></div> <!-- Div für Anzeige: auswahl von vorschlägen -->


$captcha_form
&#8226; <a href="javascript:if(chkFormularShoutBox())+document.shout.submit();">%shout%</a>&nbsp;&nbsp;&nbsp;&#8226; <a href="index.php?site=shoutbox_content&amp;action=showall">%all_messages%</a>
</form>
[/toggle]- checkForUser.php angelegt. ich habe allerdings den DB connect sowie die DB Abfrage auf webspell angepasst [toggle=checkForUser.php]
Code:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
<?php            //checkForUser.php
include("_mysql.php");

$search_string = $_GET['search']; // Übergabe String
$connect = @new mysqli($host, $user, $pwd, $db); // DB connect

if ($connect->connect_error) { // Wenn connect failt
          die('SQL Verbindungsfehler'.  $connect->connect_errno .': ' . $connect->connect_error );
}

$sql = "SELECT username FROM ".PREFIX."user WHERE username LIKE ".$search_string.";"; // SQL Syntax
$stmt = $connect->query($sql); // SQL Query

if($stmt){ // Wenn Query fehlerlos
          while ($row = $stmt->fetch_object()){ // für jedes gefundene Ergebniss
                    $users[] = $row; // Gefundenes Ergebniss in Array schreiben
          }
}
$result = "<ul>"; // Ergbniss Variable (Ul wird für eine liste gesetzt)
foreach($users as $user) { // Für jeden User
          $result .= '<li>'.$user.'</li>'; // User in Ergebniss variable ($result = $result + ... vereinfacht durch .=)
}

$result .= '</ul>'; // ul schließen

print $result; // Ergebniss ausgeben

?>
[/toggle]
wenn ich nun die Eingabe mit @ beginne und eine Eingabe mache, dann erscheint die Fehlermeldung
Warning: Invalid argument supplied for foreach() in /hp/ao/ac/fa/www/04_TESTSEITE/checkForUser.php on line 21

Testseite zum angucken -> http://testseite.confu...m/index.php?site=shoutbox

wenn ich nun $users nach dem Query als leeres array anlege, ist der Fehler weg, aber es wird weiterhin nichts ausgegeben unglücklich

» » [URL=http://www.confused-gaming.eu]Confused-Gaming.eu[/URL] « « [I]alle meine Addons / Mods findet ihr in meinem [URL=http://www.webspell.org/index.php?site=profile&id=23650]Profil[/URL][/I]

 
09.11.2011, 11:49 - Sysix - webSPELL lover - 1165 Posts
mach vor dem $sql einfach:

Code:
1.
$users = array();


er hat vergessen nen array zu öffnen, das wars eigentlich zwinkern

[url=http://sysix-coding.de]Sysix-Coding | Free Webspell Addons and more...[/url]

 
09.11.2011, 12:00 - zwantE - webSPELL lover - 1234 Posts
ähm ja... das hab ich ja auch geschrieben das ich damit den Fehler behoben habe, aber dennoch nichts ausgegeben wird.

Siehe letzten Satz meinen vorherigen Postes zwinkern

» » [URL=http://www.confused-gaming.eu]Confused-Gaming.eu[/URL] « « [I]alle meine Addons / Mods findet ihr in meinem [URL=http://www.webspell.org/index.php?site=profile&id=23650]Profil[/URL][/I]

 
09.11.2011, 12:03 - Sysix - webSPELL lover - 1165 Posts
jop schon gelesen, hab aber gedacht du hast es nach der foreach schleife reingehauen ^^

EDIT: jquery 1.3.2 ist izemlich alt benutzt lieber 1.6 oder so amüsiert

EDIT2:

Code:
1.
$sql = "SELECT username FROM ".PREFIX."user WHERE username LIKE ".$search_string.";"; // SQL Syntax


sollte es net so sein:

Code:
1.
$sql = "SELECT username FROM ".PREFIX."user WHERE username LIKE ".$search_string; // SQL Syntax


EDIT3: wieso username ? nicht nickname auslesen?

[url=http://sysix-coding.de]Sysix-Coding | Free Webspell Addons and more...[/url]

 
09.11.2011, 12:30 - zwantE - webSPELL lover - 1234 Posts
also...
- jquery ist nun 1.6.4... auf meiner Testseite war mir das bisher egal
- sql abfrage ist korrigiert
- nickname macht mehr sinn... hatte das so von Maidzen übernommen

aber... es funzt nicht :/

» » [URL=http://www.confused-gaming.eu]Confused-Gaming.eu[/URL] « « [I]alle meine Addons / Mods findet ihr in meinem [URL=http://www.webspell.org/index.php?site=profile&id=23650]Profil[/URL][/I]

 
09.11.2011, 12:34 - Maidzen - webSPELL user - 307 Posts
@ Zwante poste mal bitte deine PHP files

Mein Quelltext ist nur allgemein da ich eigentlich lange nichts mehr mit Webspell gemacht habe und deshalb keine Ahnung mehr vom aufbau habe ^^

EDIT: Javascript fehler Failed to load resource: the server responded with a status of 404 (Not Found)

stimmt der pfad zur PHP datei ?
 
09.11.2011, 12:37 - zwantE - webSPELL lover - 1234 Posts
Na gerne doch lächeln
[toggle=checkForUser.php]
Code:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
<?php            //checkForUser.php
include("_mysql.php");

$search_string = $_GET['search']; // Übergabe String
$connect = @new mysqli($host, $user, $pwd, $db); // DB connect

if ($connect->connect_error) { // Wenn connect failt
          die('SQL Verbindungsfehler'.  $connect->connect_errno .': ' . $connect->connect_error );
}

$sql = "SELECT nickname FROM ".PREFIX."user WHERE nickname LIKE ".$search_string; // SQL Syntax

$stmt = $connect->query($sql); // SQL Query

$users = array();

if($stmt){ // Wenn Query fehlerlos
          while ($row = $stmt->fetch_object()){ // für jedes gefundene Ergebniss
                    $users[] = $row; // Gefundenes Ergebniss in Array schreiben
          }
}
$result = "<ul>"; // Ergbniss Variable (Ul wird für eine liste gesetzt)
foreach($users as $user) { // Für jeden User
          $result .= '<li>'.$user.'</li>'; // User in Ergebniss variable ($result = $result + ... vereinfacht durch .=)
}

$result .= '</ul>'; // ul schließen

print $result; // Ergebniss ausgeben

?>
[/toggle][toggle=shoutbox.html]
Code:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
<script language="JavaScript" type="text/javascript">
<!--
$(document).ready(function(){
          $('#sb_post').keyup(function() { //Wenn eine Taste im textfeld gedrückt wurde
                    if($('#sb_post').val().substring(0, 1) == "@" && $("#sb_post").val().length < "8") { // prüfen ob @ das erste zeichen ist und nach 8 zeichen keine prüfung mehr
                    $.ajax({ // Ajax function
                              cache: false, // der Browser cache wird geleert (keine alten ergebnisse)
                              url: 'checkForUser.php?search='+$('#sb_post').val(), //PHP datei wird aufgerufen Inhalt von sb_post wird übergeben
                              success: function(data) { //wenn Query erfolgreich
                                        $('#sb_dd').html(data); // Ergebniss(e) in DIV schreiben
                              }
                              });
                              $('#sb_dd').fadeIn(); // Menu Einblenden
                    } else if($('#sb_dd').css('display') == 'block') { // wenn @ gelöscht wird sb_dd wieder ausblenden
                              $('#sb_dd').fadeOut();  // Menu Ausblenden
                    }
          });
        
          $('#sb_dd ul li').click(function(){ // Wenn ein Name in der liste geklickt wird
                    $('#sb_post').val('@'+$(this).val()); // name in input schreiben
          });
});

function chkFormularShoutBox() {
     if(document.getElementById('shoutbox_name').value == ""){
          alert('%enter_name%');
          document.getElementById('shoutbox_name').focus();
          return false;
     }
     if(document.getElementById('shoutbox_message').value == "" || document.getElementById('shoutbox_message').value == "Message"){
          alert('%enter_message%');
          document.getElementById('shoutbox_message').focus();
          return false;
     }
     return true;
}
-->
</script>
<form name="shout" method="post" action="index.php?site=shoutbox_content&amp;action=save" onsubmit="return chkFormularShoutBox()">
<script language="JavaScript" type="text/javascript">
<!--
fetch('shoutbox_content.php', 'shoutbox', 'replace', 'time', $refresh);
-->
</script>
<div id="shoutbox" style="width: 100%;overflow: hidden; text-align: left;"></div>
<input type="text" id="shoutbox_name" name="name" size="24" maxlength="255" style="margin: 2px;" $name_settings /><br />
<input type="text" id="shoutbox_message" name="message" size="24" maxlength="255" style="margin: 2px;" value="Message" onfocus="this.value=''" /><br />
<input type="text" value="!!! Testfeld !!!" onfocus="this.value=''" name="Shoutbox_post" id="sb_post" size="24" maxlength="255" style="margin: 2px;"><br /> <!-- Shoutbox Input -->
<div id="sb_dd" style="display:none;"></div> <!-- Div für Anzeige: auswahl von vorschlägen -->
$captcha_form
&#8226; <a href="javascript:if(chkFormularShoutBox())+document.shout.submit();">%shout%</a>&nbsp;&nbsp;&nbsp;&#8226; <a href="index.php?site=shoutbox_content&amp;action=showall">%all_messages%</a>
</form>
[/toggle]Nachtrag: ist der Fehler permanent? Ich bekomme keinen oder ich bin zu glatt amüsiert

» » [URL=http://www.confused-gaming.eu]Confused-Gaming.eu[/URL] « « [I]alle meine Addons / Mods findet ihr in meinem [URL=http://www.webspell.org/index.php?site=profile&id=23650]Profil[/URL][/I]

 
09.11.2011, 12:45 - Maidzen - webSPELL user - 307 Posts
zwantE wrote:

Nachtrag: ist der Fehler permanent? Ich bekomme keinen oder ich bin zu glatt amüsiert


Entwickler Console in Chrome lächeln

ersetze mal die Jquery Ajax Function mit

$.ajax({
type: "POST",
url: "checkForUser.php?search='+$('#sb_post').val(),
cache: false,
success: function(data) { //wenn Query erfolgreich
$('#sb_dd').html(data); // Ergebniss(e) in DIV schreiben
}
});

oder alternativ

statt $.ajax

$('#sb_dd').load('checkForUser.php?search='+$('#sb_post').val());

EDIT:
... der fehler ist aus ner Ganz anderen datei... zu schnell geposted
GET http://testseite.confu...ng.com/js/ddsmoothmenu.js 404 (Not Found)

also ajax war schon richtig sry ....

EDIT²:
hmm es liegt wohl an er SQL Syntax
ruft man http://testseite.confu...eckForUser.php?search=Tat z.b auf wird ein Leeres Ul generiert.

probiers mal so


$sql = "SELECT nickname FROM ".PREFIX."user WHERE nickname LIKE ".$search_string."%;";

 
09.11.2011, 13:12 - zwantE - webSPELL lover - 1234 Posts
Maidzen wrote:


probiers mal so

$sql = "SELECT nickname FROM ".PREFIX."user WHERE nickname LIKE ".$search_string."%;";


geht leider auch nicht :/

» » [URL=http://www.confused-gaming.eu]Confused-Gaming.eu[/URL] « « [I]alle meine Addons / Mods findet ihr in meinem [URL=http://www.webspell.org/index.php?site=profile&id=23650]Profil[/URL][/I]

 
09.11.2011, 13:16 - Maidzen - webSPELL user - 307 Posts
ok kannst du die tabelle_user posten? ich brauche nur den aufbau kannst natürlich Musterdaten eingeben.

EDIT:
OMG
Code:
1.
$sql = "SELECT nickname FROM ".PREFIX."user WHERE nickname LIKE '".$search_string."%';";

Probiers damit,
Anführungsstriche vergessen -.-° ...
 
09.11.2011, 14:48 - zwantE - webSPELL lover - 1234 Posts
geht leider auch nicht unglücklich

» » [URL=http://www.confused-gaming.eu]Confused-Gaming.eu[/URL] « « [I]alle meine Addons / Mods findet ihr in meinem [URL=http://www.webspell.org/index.php?site=profile&id=23650]Profil[/URL][/I]

 
09.11.2011, 16:18 - YoShI- - webSPELL hero - 1799 Posts
Code:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
<?php            //checkForUser.php
include("_mysql.php");

$result = null;
$search_string = $_GET['search']; // Übergabe String
$connect = @new mysqli($host, $user, $pwd, $db); // DB connect

if ($connect->connect_error) { // Wenn connect failt
          die('SQL Verbindungsfehler'.  $connect->connect_errno .': ' . $connect->connect_error );
}

$sql = $sql = "SELECT nickname FROM ".PREFIX."user WHERE nickname LIKE '".$search_string."%';";

$stmt = $connect->query($sql); // SQL Query


if($stmt){ // Wenn Query fehlerlos
          while ($row = $stmt->fetch_object()){ // für jedes gefundene Ergebniss
                    $result .= '<li>'.$row -> nickname.'</li>'; // User in Ergebniss variable ($result = $result + ... vereinfacht durch .=)
          }
}
$result = "<ul>".$result."</ul>"; // Ergbniss Variable (Ul wird für eine liste gesetzt)

echo $result; // Ergebniss ausgeben

?>


Sollte so gehen
wieso benutz du die asearch.php nicht?
 
09.11.2011, 19:35 - zwantE - webSPELL lover - 1234 Posts
geht leider auch nicht :/

und bei der asearch.php steig ich nicht durch... wusste bis eben gar nicht das es die gibt amüsiert
was macht die und wo wird die gebraucht?

» » [URL=http://www.confused-gaming.eu]Confused-Gaming.eu[/URL] « « [I]alle meine Addons / Mods findet ihr in meinem [URL=http://www.webspell.org/index.php?site=profile&id=23650]Profil[/URL][/I]

 
09.11.2011, 19:51 - Philipp - Administrator - 2568 Posts
Du hast dir ja den Code gut angeguckt, den ich dir vorgeschlagen habe zunge raus
Denn dort wird die genutzt
 
09.11.2011, 20:05 - zwantE - webSPELL lover - 1234 Posts
ahhhh, jetzt macht das halbwegs sinn lächeln
dennoch ist mir das zu hoch... ich steig da nicht durch und bin auf hilfe angewiesen :/

» » [URL=http://www.confused-gaming.eu]Confused-Gaming.eu[/URL] « « [I]alle meine Addons / Mods findet ihr in meinem [URL=http://www.webspell.org/index.php?site=profile&id=23650]Profil[/URL][/I]

 
10.11.2011, 14:34 - YoShI- - webSPELL hero - 1799 Posts
http://testseite.confu...heckForUser.php?search=Do

Die php datei stimmt, also liegt es am js code.
 
11.11.2011, 08:47 - zwantE - webSPELL lover - 1234 Posts
Moin Ladys,
ich hab mich nun nochmal mit der asearch.php beschäftigt und ich konnte das nun erstmal übernehmen
(war doch ganz einfach amüsiert )

Als nächstes hab ich nun das Problem das ich die Suche ja nur aktivieren will, wenn ich das @-Zeichen verwende UND wenn ich auf ein Suchergebnis klicke, dann werde ich aufs admincenter weitergeleitet und ich hab bisher nicht gefunden wo ich das ändern kann. Es soll ja quasi onklick den Name mit Profillink übernommen werden.

Seite zum testen -> http://testseite.confu...g.com/index.php?site=test
und hier mein aktueller Code...
Code:
1.
2.
3.
4.
5.
<?php
echo'<input id="exact" type="hidden" name="exact" value="0" />
     Testsuche: <input type="text" onkeyup=\'overlay(this, "searchresult");search("user","nickname","userID",encodeURIComponent(this.value),"search_user","searchresult","replace", document.getElementById("exact").checked, "ac_usersearch")\' size="25" /><br />
      <div id="searchresult" style="position:absolute;display:none;border:1px solid black;background-color:#DDDDDD; padding:2px;"></div>';
?>



» » [URL=http://www.confused-gaming.eu]Confused-Gaming.eu[/URL] « « [I]alle meine Addons / Mods findet ihr in meinem [URL=http://www.webspell.org/index.php?site=profile&id=23650]Profil[/URL][/I]

 
11.11.2011, 14:56 - YoShI- - webSPELL hero - 1799 Posts
Hmm
ändere das onkeyup event in:
Code:
1.
if(this.value.charAt(0)=="@") { overlay(this, "searchresult");search("user","nickname","userID",encodeURIComponent(this.value.substring(1)),"search_user_shoutbox","searchresult","replace", document.getElementById("exact").checked, "ac_usersearch")} else document.getElementById("searchresult").style.display="none";


Und füge im input feld eine id hinzu

Erstelle ein neues template names search_user_shoutbox.html
mit folgenden inhalt:
Code:
1.
<a href="document.getElementById('Die ID des inputs').value='@$searchresult ';document.getElementById('searchresult').style.display='none';">&nbsp;$searchresult&nbsp;</a><br /> 

 
11.11.2011, 15:21 - zwantE - webSPELL lover - 1234 Posts
danke für deine Antwort,
ich hab das jetzt so für meine test.php übernommen und ich bekomme die Meldung "Ungültiger Aufruf"!

[toggle=test.php]
Code:
1.
2.
3.
4.
5.
<?php
echo'<input id="exact" type="hidden" name="exact" value="0" />
     Testsuche: <input id="testen" type="text" onkeyup=\'if(this.value.charAt(0)=="@") { overlay(this, "searchresult");search("user","nickname","userID",encodeURIComponent(this.value.substring(1)),"search_user_shoutbox","searchresult","replace", document.getElementById("exact").checked, "ac_usersearch")} else document.getElementById("searchresult").style.display="none";\' size="25" /><br />
      <div id="searchresult" style="position:absolute;display:none;border:1px solid black;background-color:#DDDDDD; padding:2px;"></div>';
?>
[/toggle][toggle=search_user_shoutbox.html]
Code:
1.
<a href="document.getElementById('testen').value='@$searchresult ';document.getElementById('searchresult').style.display='none';">&nbsp;$searchresult&nbsp;</a><br /> 
[/toggle]liveansicht -> http://testseite.confu...g.com/index.php?site=test

» » [URL=http://www.confused-gaming.eu]Confused-Gaming.eu[/URL] « « [I]alle meine Addons / Mods findet ihr in meinem [URL=http://www.webspell.org/index.php?site=profile&id=23650]Profil[/URL][/I]

 
11.11.2011, 16:13 - YoShI- - webSPELL hero - 1799 Posts
Ah ja ändere in der asearch.php
$allowed_searchtemps=array("search_user");
in
$allowed_searchtemps=array("search_user","search_user_shoutbox");
 
11.11.2011, 17:42 - zwantE - webSPELL lover - 1234 Posts
ok, nun geht die suche, aber wenn ich einen Namen aussuche, dann lande ich auf diesen link -> http://testseite.confu...style.display=%27none%27;

» » [URL=http://www.confused-gaming.eu]Confused-Gaming.eu[/URL] « « [I]alle meine Addons / Mods findet ihr in meinem [URL=http://www.webspell.org/index.php?site=profile&id=23650]Profil[/URL][/I]

 
11.11.2011, 19:08 - Maidzen - webSPELL user - 307 Posts
zwantE wrote:

ok, nun geht die suche, aber wenn ich einen Namen aussuche, dann lande ich auf diesen link -> http://testseite.confu...style.display=%27none%27;



klar du must auch

Code:
1.
<a href="javascript:document.getElementById('Die ID des inputs').value='@$searchresult ';document.getElementById('searchresult').style.display='none';">&nbsp;$searchresult&nbsp;</a><br /> 


Ach ja ich wollte mein ersten Ansatz nochmal vernünftig und getestet aufschreiben und bin dann zufällig auf das hier gestoßen;
http://jqueryui.com/demos/autocomplete/

sollte eine Hilfe sein ^^
 
11.11.2011, 19:26 - zwantE - webSPELL lover - 1234 Posts
Moin, ja das autocomplete sieht prima aus, aber wenn webspell sowas schon bietet, dann würd ich das gerne auch nutzen lächeln

Danke für dein Ansatz, jetzt werde ich auf eine leere Seite geleitet in der nur "none" steht



» » [URL=http://www.confused-gaming.eu]Confused-Gaming.eu[/URL] « « [I]alle meine Addons / Mods findet ihr in meinem [URL=http://www.webspell.org/index.php?site=profile&id=23650]Profil[/URL][/I]

 
11.11.2011, 20:36 - YoShI- - webSPELL hero - 1799 Posts
Okay
dann benutz das für die template Datei:
Code:
1.
<a href="javascript:;" onclick="document.getElementById('Die ID des inputs').value='@$searchresult ';document.getElementById('searchresult').style.display='none';">&nbsp;$searchresult&nbsp;</a><br />

 
11.11.2011, 22:23 - zwantE - webSPELL lover - 1234 Posts
JUHUUUUUUUUUUU! Es geht! Vielen Dank <3

den rest schaff ich hoffentlich alleine, sonst meld ich mich nochmal... danke und gn8

Nachtrag: nun funktioniert erstmal alles, nur eine kleine Tatsache stört mich noch.
wenn ich nach einen Namen suche und die Ergebnisliste erscheint, muss ich mit der Maus zum Namen gehen und ihn anklicken. Ich weiß nicht ob das möglich ist, aber kann man das auch irgendwie so einrichten, das man die Pfeil- sowie Entertaste nutzen kann?

» » [URL=http://www.confused-gaming.eu]Confused-Gaming.eu[/URL] « « [I]alle meine Addons / Mods findet ihr in meinem [URL=http://www.webspell.org/index.php?site=profile&id=23650]Profil[/URL][/I]

 
12.11.2011, 13:30 - Maidzen - webSPELL user - 307 Posts
zwantE wrote:

Nachtrag: nun funktioniert erstmal alles, nur eine kleine Tatsache stört mich noch.
wenn ich nach einen Namen suche und die Ergebnisliste erscheint, muss ich mit der Maus zum Namen gehen und ihn anklicken. Ich weiß nicht ob das möglich ist, aber kann man das auch irgendwie so einrichten, das man die Pfeil- sowie Entertaste nutzen kann?



http://de.selfhtml.org...ascript/objekte/event.htm
 
14.11.2011, 15:04 - Asker - webSPELL user - 134 Posts
zwantE wrote:

JUHUUUUUUUUUUU! Es geht! Vielen Dank <3

Hehe Cool, da freue ich mich doch direkt mit dir mit smile

Ist es möglich das man davon eine konkrete Anleitung bekommen kann ?
Den ich würde diese tolle Funktion auch gerne nutzen wollen lächeln

MfG
 
14.11.2011, 15:15 - zwantE - webSPELL lover - 1234 Posts
daraus werd ich nicht schlau...
sicher das das damit geht?

@Asker: wenn ich zu hause bin, dann poste ich hier mal den aktuellen Sachstand, aber wie gesagt, es funktioniert momentan nicht mit den Pfeiltasten was sehr schade ist.
Denn wenn man einen Namen eingibt und einen Treffer hat, muss man erst zur Maus greifen um den anzuklicken, dann lässt man die Maus wieder los um weiter zu tippen.
alles in allen sehr nett, aber die Pfeil und Entertaste muss da irgendwie noch mit rein :/

wenn jemand noch nen Tip oder Denkanstoß hat dann immer her damit

Hier nun der bisherige Bearbeitungsstand:
asearch.php suchen nach
Code:
1.
$allowed_searchtemps=array("search_user");
ersetzen mit
Code:
1.
$allowed_searchtemps=array("search_user","search_user_shoutbox");


search_user_shoutbox.html mit folgenden Inhalt erstellen und in den templateordner hochladen
Code:
1.
<a href="javascript:;" onclick="document.getElementById('shoutbox_message').value='@$searchresult: ';document.getElementById('searchresult').style.display='none'; document.getElementById('shoutbox_message').focus();">&nbsp;$searchresult&nbsp;</a><br />


shoutbox.html suchen nach
Code:
1.
<input type="text" id="shoutbox_message" name="message" size="24" maxlength="255" style="margin: 2px;" value="Message" onfocus="this.value=''" /><br />
ersetzen mit
Code:
1.
2.
<input id="exact" type="hidden" name="exact" value="0" />
<input id="shoutbox_message" name="message" type="text" value="Message" onfocus='if(document.getElementById("shoutbox_message").value == "Message"){this.value=""}' onkeyup='if(this.value.charAt(0)=="@" &amp; this.value.length &lt; "7") { overlay(this, "searchresult");search("user","nickname","userID",encodeURIComponent(this.value.substring(1)),"search_user_shoutbox","searchresult","replace", document.getElementById("exact").checked, "ac_usersearch")} else document.getElementById("searchresult").style.display="none";' size="24" />


» » [URL=http://www.confused-gaming.eu]Confused-Gaming.eu[/URL] « « [I]alle meine Addons / Mods findet ihr in meinem [URL=http://www.webspell.org/index.php?site=profile&id=23650]Profil[/URL][/I]

 
15.11.2011, 09:12 - Maidzen - webSPELL user - 307 Posts
zwantE wrote:

daraus werd ich nicht schlau...
sicher das das damit geht?


Jap, ich geb dir mal eine Logische Erklärung:

event keydown sendet einen keycode (z.B. Pfeil tasten hoch und runter 38 & 40 enter 13)

dann kanst du abfragen if(keycode = ?)

und dann deine Aktion ausführen


 
15.11.2011, 09:22 - zwantE - webSPELL lover - 1234 Posts
Moin, ja soweit hab ich das verstanden, aber wie gehts dann weiter?
wie sage ich dem Auswahlfeld das jetzt der nächste Treffer markiert werden soll?

» » [URL=http://www.confused-gaming.eu]Confused-Gaming.eu[/URL] « « [I]alle meine Addons / Mods findet ihr in meinem [URL=http://www.webspell.org/index.php?site=profile&id=23650]Profil[/URL][/I]

 
15.11.2011, 09:31 - Maidzen - webSPELL user - 307 Posts
zwantE wrote:

Moin, ja soweit hab ich das verstanden, aber wie gehts dann weiter?
wie sage ich dem Auswahlfeld das jetzt der nächste Treffer markiert werden soll?


du vergibst ne id oder eine Klasse an die liste

<li id=selected">...

wenn ein keyup keycode gesendet wird gehst du ein <li> weiter hoch usw. bei enter oder Tab holst du dir den Inhalt mit der id Selected
 
15.11.2011, 10:05 - zwantE - webSPELL lover - 1234 Posts
ja die Theorie ist mir schon klar, das ich eins weiter runter gehen muss und mit enter der Wert übernommen wird.
aber ich komme mit den ganzen input events nicht klar und deshalb bringt mich dein hinweis nicht sonderlich weiter.

wäre es zuviel verlangt wenn du mir die Funktion zurechtbastelst?

» » [URL=http://www.confused-gaming.eu]Confused-Gaming.eu[/URL] « « [I]alle meine Addons / Mods findet ihr in meinem [URL=http://www.webspell.org/index.php?site=profile&id=23650]Profil[/URL][/I]

 
15.11.2011, 10:58 - Maidzen - webSPELL user - 307 Posts
zwantE wrote:

ja die Theorie ist mir schon klar, das ich eins weiter runter gehen muss und mit enter der Wert übernommen wird.
aber ich komme mit den ganzen input events nicht klar und deshalb bringt mich dein hinweis nicht sonderlich weiter.

wäre es zuviel verlangt wenn du mir die Funktion zurechtbastelst?


bin schon dabei ^^
 
15.11.2011, 11:07 - zwantE - webSPELL lover - 1234 Posts
du bist ein Engel <3

» » [URL=http://www.confused-gaming.eu]Confused-Gaming.eu[/URL] « « [I]alle meine Addons / Mods findet ihr in meinem [URL=http://www.webspell.org/index.php?site=profile&id=23650]Profil[/URL][/I]

 
15.11.2011, 13:46 - Maidzen - webSPELL user - 307 Posts
zwantE wrote:

du bist ein Engel <3


http://78.47.138.174/updown/jstest.html

es gibt noch einen bug mit dem schreiben in den input ... aber ich hab jetz keine zeit/lust das auch noch zu machen ^^
(bin in der Arbeit ^^)
 
15.11.2011, 14:50 - zwantE - webSPELL lover - 1234 Posts
jetzt bin ich ganz verwirrt :/
wie soll ich das denn in meine Suche einbauen unglücklich

ich glaub ich werds lassen müssen :/

» » [URL=http://www.confused-gaming.eu]Confused-Gaming.eu[/URL] « « [I]alle meine Addons / Mods findet ihr in meinem [URL=http://www.webspell.org/index.php?site=profile&id=23650]Profil[/URL][/I]

 
15.11.2011, 15:43 - Maidzen - webSPELL user - 307 Posts
zwantE wrote:

jetzt bin ich ganz verwirrt :/
wie soll ich das denn in meine Suche einbauen unglücklich

ich glaub ich werds lassen müssen :/


Bug ist gefixt;

du kannst es ganz einfach einbauen zwinkern

hab dir mal

den Quelltext an den relevanten stellen kommentiert

 
15.11.2011, 16:53 - zwantE - webSPELL lover - 1234 Posts
danke danke... ich guck mir das morgen mal auf arbeit an...
hab heute keine Zeit mehr weil ich zum Länderspiel darf amüsiert

aber danke dir vielmals, ich werde dann nochmal nen Feedback geben

» » [URL=http://www.confused-gaming.eu]Confused-Gaming.eu[/URL] « « [I]alle meine Addons / Mods findet ihr in meinem [URL=http://www.webspell.org/index.php?site=profile&id=23650]Profil[/URL][/I]

 
16.11.2011, 10:13 - Asker - webSPELL user - 134 Posts
Vielen dank zwantE für die Anleitung smile

Da ich die Shoutbox erweitert habe usw., sind bei mir die Shoutbox-INPUTS (<input>...) in der shoutbox.php drinnen und nicht in der shoutbox.html.

Nun wenn ich folgenden Code einfüge dann wird die Shoutbox nicht mehr angezeigt:
Code:
1.
onfocus='if(document.getElementById("shoutbox_message").value == "Message"){this.value=""}' onkeyup='if(this.value.charAt(0)=="@" &amp; this.value.length &lt; "7") { overlay(this, "searchresult");search("user","nickname","userID",encodeURIComponent(this.value.substring(1)),"search_user_shoutbox","searchresult","replace", document.getElementById("exact").checked, "ac_usersearch")} else document.getElementById("searchresult").style.display="none";'

Da ich den Code direkt in eine PHP-Datei einfüge, muss doch was an den ' und " geändert werden.

Habe es selbst eben versucht leider funktioniert das nicht.

Kann mir da jemand helfen ?

MfG
 
16.11.2011, 10:18 - zwantE - webSPELL lover - 1234 Posts
Asker wrote:

Da ich den Code direkt in eine PHP-Datei einfüge, muss doch was an den ' und " geändert werden

Moin, in php musst du " mit ' und dann maskieren, das ganze muss dann so aussehen
Code:
1.
\'
ansonsen poste mal deine ganze Codezeile


So ich hab nun alles ganz plump mal in meine Shoutbox übernommen und ein Fehler taucht nun noch auf.

wenn ich die Pfeiltasten benutze, dann geht der li:hover hoch und runter, aber hat dann sofort wieder ab, das heißt er verschwindet wieder und ich muss von vorne anfangen.
Am JS hab ich was das betrifft nichts verändert, lediglich die ID's angepasst und im Klapptext nur 2 Änderungen die damit nix zu tun haben :/

[toggle=folgende Sachen hab ich noch geändert]
TAB-Taste entfernt: folgende Zeilen rausgelöscht
Code:
1.
     var tab = 9;
und
Code:
1.
2.
3.
4.
5.
     case tab:
     if(selected && key == tab) {
     input.value = selected.innerHTML;
     input.focus;
     }

Ergebnisausgabe ergänzt
alt:
Code:
1.
2.
3.
4.
     case enter:
     if(selected && key == enter) {
     input.value = selected.innerHTML;
     }
neu
Code:
1.
2.
3.
4.
case enter:
if(selected && key == enter) {
input.value = "@"+selected.innerHTML+": ";
}

[/toggle]

Nachtrag:
ich glaub es liegt am onkeyup für die Suche... denn jedes mal wenn ich eine Pfeiltaste drücke, dann sucht er ja auch nochmal neu und die Liste aktualisiert sich :/

» » [URL=http://www.confused-gaming.eu]Confused-Gaming.eu[/URL] « « [I]alle meine Addons / Mods findet ihr in meinem [URL=http://www.webspell.org/index.php?site=profile&id=23650]Profil[/URL][/I]

 
16.11.2011, 10:48 - Asker - webSPELL user - 134 Posts
Ok zwantE

*EDIT*
Danke für die PN lächeln
 
16.11.2011, 13:15 - Maidzen - webSPELL user - 307 Posts
zwantE wrote:


ich glaub es liegt am onkeyup für die Suche... denn jedes mal wenn ich eine Pfeiltaste drücke, dann sucht er ja auch nochmal neu und die Liste aktualisiert sich :/


einfach bei deiner onkeyup function "event.keyCode" übergeben und dann

Code:
1.
2.
3.
if(key != 9 && key != 38 && key != 40 && key != 13) {
 //restlicher ONKEYUP code
}


 
16.11.2011, 13:31 - zwantE - webSPELL lover - 1234 Posts
Moin, danke für deine Antwort!
Maidzen wrote:

einfach bei deiner onkeyup function "event.keyCode" übergeben

hehe, klingt einfach, aber wie geht das ???

ich hab das jetzt so probiert und dann funktioniert die Suche nicht mehr
Code:
1.
onkeyup='keyli(event.keyCode); if(key != 9 && key != 38 && key != 40 && key != 13) {if(this.value.charAt(0)=="@" &amp; this.value.length &lt; "7") { overlay(this, "searchresult");search("user","nickname","userID",encodeURIComponent(this.value.substring(1)),"search_user_shoutbox","searchresult","replace", document.getElementById("exact").checked, "ac_usersearch")} else document.getElementById("searchresult").style.display="none";}'


» » [URL=http://www.confused-gaming.eu]Confused-Gaming.eu[/URL] « « [I]alle meine Addons / Mods findet ihr in meinem [URL=http://www.webspell.org/index.php?site=profile&id=23650]Profil[/URL][/I]

 
16.11.2011, 15:14 - Maidzen - webSPELL user - 307 Posts
zwantE wrote:


Code:
1.
onkeyup='keyli(event.keyCode); if(key != 9 && key != 38 && key != 40 && key != 13) {if(this.value.charAt(0)=="@" &amp; this.value.length &lt; "7") { overlay(this, "searchresult");search("user","nickname","userID",encodeURIComponent(this.value.substring(1)),"search_user_shoutbox","searchresult","replace", document.getElementById("exact").checked, "ac_usersearch")} else document.getElementById("searchresult").style.display="none";}'



wenn du es so machst must du bei "if" statt key immer "event.keyCode" schreiben
 
16.11.2011, 15:24 - zwantE - webSPELL lover - 1234 Posts
immer bei if? ich hab doch nur eine if-abfrage für die Pfeiltasten?
also quasi so hier schon geändert
Code:
1.
<input id="shoutbox_message" name="message" type="text" value="Message" onkeydown="keyli(event.keyCode)" onfocus='if(this.value == "Message"){this.value=""}' onkeyup='event.keyCode(key != 9 && key != 38 && key != 40 && key != 13) {if(this.value.charAt(0)=="@" &amp; this.value.length &lt; "7") { overlay(this, "searchresult");search("user","nickname","userID",encodeURIComponent(this.value.substring(1)),"search_user_shoutbox","searchresult","replace", document.getElementById("exact").checked, "ac_usersearch")} else document.getElementById("searchresult").style.display="none";}' size="24" />

aber das geht leider auch nicht

» » [URL=http://www.confused-gaming.eu]Confused-Gaming.eu[/URL] « « [I]alle meine Addons / Mods findet ihr in meinem [URL=http://www.webspell.org/index.php?site=profile&id=23650]Profil[/URL][/I]

 
16.11.2011, 19:30 - Maidzen - webSPELL user - 307 Posts
Neiiinnn XD
so:
Code:
1.
onkeyup='if(event.keyCode != 9 && event.keyCode != 38 && event.keyCode != 40 && event.keyCode != 13) {if(this.value.charAt(0)=="@" &a...'

 
17.11.2011, 07:31 - zwantE - webSPELL lover - 1234 Posts
ich glaub jetzt haben wir es lächeln

vielen vielen dank Maidzen <3

» » [URL=http://www.confused-gaming.eu]Confused-Gaming.eu[/URL] « « [I]alle meine Addons / Mods findet ihr in meinem [URL=http://www.webspell.org/index.php?site=profile&id=23650]Profil[/URL][/I]

 
17.11.2011, 08:25 - Maidzen - webSPELL user - 307 Posts
zwantE wrote:

ich glaub jetzt haben wir es lächeln

vielen vielen dank Maidzen <3


Sieht gut aus lächeln

Es wäre schön wenn du das als Addon zusammenfassen kannst damit alle was davon haben. lächeln
 
17.11.2011, 08:34 - zwantE - webSPELL lover - 1234 Posts
ja das mache ich auch noch fertig...
ich hab da noch nen paar andere Ideen die ich da noch mit einfließen lassen möchte.

Leider ist mir gestern meine SSD abgeraucht und ich hab nun erst mal andere Prioritäten -.- voll die rotze... und das mit meinen Dorfinet und 0,3 mbit amüsiert wird zeit das meine Hütte fertig wird und dann beginnt das VDSL zeitalter lächeln


» » [URL=http://www.confused-gaming.eu]Confused-Gaming.eu[/URL] « « [I]alle meine Addons / Mods findet ihr in meinem [URL=http://www.webspell.org/index.php?site=profile&id=23650]Profil[/URL][/I]

 
18.11.2011, 09:46 - Asker - webSPELL user - 134 Posts
wow super Arbeit !!!

Jop ich würde mich über eine komplette Anleitung bzw. ein Addon auch freuen lächeln

MfG
 
21.11.2011, 19:01 - Asker - webSPELL user - 134 Posts
Hi lächeln

Ich will auf keinen Fall hetzen...
...sondern nur mal nachfragen wie der momentane Stand ist ?

Den ich könnte diese Erweiterung sehr gut gebrauchen zwinkern

MfG
 
15.12.2011, 14:00 - Asker - webSPELL user - 134 Posts
Ok, ich habe mir jetzt die ganze Sache hier nochmals durchgeguckt.

Folgende Codeänderungen habe ich vorgenommen:

[toggle=shoutbox.php]
Code:
1.
2.
3.
<input id="exact" type="hidden" name="exact" value="0" />
<input type="text" id="shoutbox_message" name="sbmessage" onkeyup=\'if(this.value.charAt(0)=="@") { overlay(this, "searchresult");search("user","nickname","userID",encodeURIComponent(this.value.substring(1)),"search_user_shoutbox","searchresult","replace", document.getElementById("exact").checked, "ac_usersearch")} else document.getElementById("searchresult").style.display="none";\' /><input type="submit" name="shout" value="SENDEN">
<br><div id="searchresult" style="position:absolute;display:none;border:1px solid black;background-color:#DDDDDD; padding:2px;"></div>
[/toggle]
[toggle=search_user_shoutbox.html]
Code:
1.
<a href="javascript:;" onclick="document.getElementById('shoutbox_message').value='@$searchresult ';document.getElementById('searchresult').style.display='none';">&nbsp;$searchresult&nbsp;</a><br />
[/toggle]
[toggle=asearch.php]
Code:
1.
$allowed_searchtemps=array("search_user","search_user_shoutbox");
[/toggle]
Soweit so gut.

Wenn ich nun @ und ein Name eingebe, dann erscheint nur so ein winziges Viereck unter dem Input-Feld.

Was habe ich den falsch gemacht ?

MfG
 
16.12.2011, 10:00 - Asker - webSPELL user - 134 Posts
Ich kriege es nicht hin.

Wenn ich ins Texfeld @ schreibe, dann kommt folgendes:
Zu viele Suchergebnisse, bitte mehr Zeichen eingeben.

Wenn ich @ und einen nicht existierenden Name eintippe, dann wird nach dem vierten Zeichen folgendes angezeigt:
Kein Suchergebnis

Wenn ich @ und einen existierenden Name eintippe, dann kommt gar nix ausser so ein winziges Viereck. Also das searchresult-div ohne Inhalt.

Was habe ich falsch gemacht, warum wird der existierende Name nicht ausgegeben ?

Kann mir da niemand weiterhelfen ?

MfG
 
16.12.2011, 10:38 - zwantE - webSPELL lover - 1234 Posts
ich habe genau 2 Dateien verändert und eine neu erstellt damit das läuft...
hier nochmal eine Zusammenfassung:

[toggle=asearch.php]
Code:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
<?php
/*
##########################################################################
#                                                                        #
#           Version 4       /                        /   /               #
#          -----------__---/__---__------__----__---/---/-               #
#           | /| /  /___) /   ) (_ `   /   ) /___) /   /                 #
#          _|/_|/__(___ _(___/_(__)___/___/_(___ _/___/___               #
#                       Free Content / Management System                 #
#                                   /                                    #
#                                                                        #
#                                                                        #
#   Copyright 2005-2010 by webspell.org                                  #
#                                                                        #
#   visit webSPELL.org, webspell.info to get webSPELL for free           #
#   - Script runs under the GNU GENERAL PUBLIC LICENSE                   #
#   - It's NOT allowed to remove this copyright-tag                      #
#   -- http://www.fsf.org/licensing/licenses/gpl.html                    #
#                                                                        #
#   Code based on WebSPELL Clanpackage (Michael Gruber - webspell.at),   #
#   Far Development by Development Team - webspell.org                   #
#                                                                        #
#   visit webspell.org                                                   #
#                                                                        #
##########################################################################
*/
include("_mysql.php");
include("_settings.php");
include("_functions.php");
$_language->read_module('asearch');

//allowed tables for search
$allowed_tables=array("user");
$allowed_columns=array("nickname");
$allowed_identifiers=array("userID");
$allowed_searchtemps=array("search_user","search_user_shoutbox");

$table=$_GET['table'];
if(!in_array($table, $allowed_tables)) die($_language->module['invalid_request']);
$column=$_GET['column'];
if(!in_array($column, $allowed_columns)) die($_language->module['invalid_request']);
$identifier=$_GET['identifier'];
if(!in_array($identifier, $allowed_identifiers)) die($_language->module['invalid_request']);
$searchtemp=$_GET['searchtemp'];
if(!in_array($searchtemp, $allowed_searchtemps)) die($_language->module['invalid_request']);

$search=$_GET['search'];
$searchtype=$_GET['searchtype'];

if(get_magic_quotes_gpc()){
     $search=stripslashes($search);
}

if($searchtype=='ac_usersearch'){
     $search = mysql_real_escape_string(htmlspecialchars(rawurldecode($search)));
}
else{
     $search = mysql_real_escape_string(rawurldecode($search));
}

$div=$_GET['div'];

if(isset($_GET['exact'])){
     if($_GET['exact']=='true'){
          $exact=true;
     }
     else{
          $exact=false;
     }
}
else{
     $exact=false;
}
if($searchtype=='ac_usersearch'){
     if($exact){
          $db_results = safe_query("SELECT * FROM ".PREFIX.$table." WHERE ".$column."='".$search."'");
     }
     else{
          $db_results = safe_query("SELECT * FROM ".PREFIX.$table." WHERE ".$column." LIKE '%".$search."%'");
     }
}
else{
  if($exact){
          $db_results = safe_query("SELECT * FROM ".PREFIX.$table." WHERE ".$column."='".$search."'");
     }
     else{
          $db_results = safe_query("SELECT * FROM ".PREFIX.$table." WHERE ".$column." LIKE '%".$search."%'");
     }
}
$any=mysql_num_rows($db_results);

if ($any==0) {
     echo $_language->module['no_result'];
}
elseif ($any <= 100) {
     while ($row = mysql_fetch_array($db_results)) {
          $searchresult=stripslashes($row[$column]);
          $resultidentifier=$row[$identifier];
          eval ("\$resultemp = \"".gettemplate($searchtemp)."\";");
          echo $resultemp;
     }
}
else {
     echo $_language->module['to_much_results'];
}
?>
[/toggle][toggle=shoutbox.html]
Code:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
<script language="JavaScript" type="text/javascript">
function chkFormularShoutBox() {
     if(document.getElementById('shoutbox_name').value == ""){
          alert('%enter_name%');
          document.getElementById('shoutbox_name').focus();
          return false;
     }
     if(document.getElementById('shoutbox_message').value == "" || document.getElementById('shoutbox_message').value == "Message"){
          alert('%enter_message%');
          document.getElementById('shoutbox_message').focus();
          return false;
     }
     return true;
}
-->
</script>
<script type="text/javascript">
// onkeydown von input Shoutbox
function keyli(key) {
var up = 38;
var down = 40;
var enter = 13;
var esc = 27;
var input = document.getElementById('shoutbox_message'); //Input Shoutbox ID
var list = document.getElementById('searchresult').getElementsByTagName('li'); //liste mit ID vom <ul> tag austauschen oder vergeben
if(document.getElementById('selected')) {
var selected = document.getElementById('selected');
} else {
var selected = false;
}
var arrayKey = 0;
switch(key) {
case up:
if(selected && key == up) {
while(list.length > arrayKey) {
if(list[arrayKey] == selected){
if(arrayKey == 0) {
selected.removeAttribute('id', 0);
input.value = "";
} else {
selected.removeAttribute('id', 0);
list[arrayKey-1].setAttribute('id', 'selected', 0);
}
break;
}
arrayKey++;
}
} else {
list[list.length-1].setAttribute('id', 'selected', 0);
}
case down:
if(selected && key == down) {
while(list.length > arrayKey) {
if(list[arrayKey] == selected){
selected.removeAttribute('id', 0);
if(list[arrayKey+1]) {
list[arrayKey+1].setAttribute('id', 'selected', 0);
}
break;
}
arrayKey++;
}
} else if(key == down && selected == false) {
list[arrayKey].setAttribute('id', 'selected', 0);
}
case enter:
if(selected && key == enter) {
input.value = "@"+selected.innerHTML+": ";
document.getElementById('searchresult').style.display='none';
}
case esc:
if(selected && key == esc) {
selected.removeAttribute('id', 0);
}
}
}
</script>
<style type="text/css">
#autocomplete {
border: 1px solid #aaa;
background-color: #aaa;
width: 180px;
padding: 0;
}
ul {
padding: 0;
margin: 0;
}
li {
list-style: none;
background-color: #444;
border-top: 1px solid #666;
border-bottom: 1px solid #222;
color: #fff;
padding: 5px;
}
li:hover {
background-color: #666;
}
#selected {
background-color: #666;
}
</style>
<form name="shout" method="post" action="index.php?site=shoutbox_content&amp;action=save" onsubmit="return chkFormularShoutBox()">
<script language="JavaScript" type="text/javascript">
<!--
fetch('shoutbox_content.php', 'shoutbox', 'replace', 'time', $refresh);
-->
</script>
<div id="shoutbox" style="width: 100%;overflow: hidden; text-align: left;"></div>
<input type="text" id="shoutbox_name" name="name" size="24" maxlength="255" style="margin: 2px;" $name_settings /><br />
<input id="exact" type="hidden" name="exact" value="0" />
<input id="shoutbox_message" name="message" type="text" value="Message" onkeydown="keyli(event.keyCode)" onfocus='if(this.value == "Message"){this.value=""}' onkeyup='if(event.keyCode != 9 && event.keyCode != 38 && event.keyCode != 40 && event.keyCode != 13) {if(this.value.charAt(0)=="@" &amp; this.value.length &lt; "7") { overlay(this, "searchresult");search("user","nickname","userID",encodeURIComponent(this.value.substring(1)),"search_user_shoutbox","searchresult","replace", document.getElementById("exact").checked, "ac_usersearch")} else document.getElementById("searchresult").style.display="none";}' size="24" /><br />
<ul id="searchresult" style="position:absolute;display:none;border:1px solid black;background-color:#DDDDDD; padding:2px; text-align:left"></ul>
$captcha_form
&#8226; <a href="javascript:if(chkFormularShoutBox())+document.shout.submit();">%shout%</a>&nbsp;&nbsp;&nbsp;&#8226; <a href="index.php?site=shoutbox_content&amp;action=showall">%all_messages%</a>
</form>
[/toggle][toggle=search_user_shoutbox.html]Das hier ist die neu erstellte !!!
Code:
1.
<li onclick="document.getElementById('shoutbox_message').value='@$searchresult: '; document.getElementById('shoutbox_message').focus(); document.getElementById('searchresult').style.display='none';">$searchresult</li>
[/toggle]
also damit läuft das auf meiner Testseite

» » [URL=http://www.confused-gaming.eu]Confused-Gaming.eu[/URL] « « [I]alle meine Addons / Mods findet ihr in meinem [URL=http://www.webspell.org/index.php?site=profile&id=23650]Profil[/URL][/I]