Teamspeak: Liveansicht erstellen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Teamspeak: Liveansicht erstellen

    Hallo Zusammen

    Ich hab hier ein Problem wo ich seit tagen dran fest sitze undzwar bekomme ich immer diese fehlermeldung

    Parse error: syntax error, unexpected ')' in /var/www/virtual/stagate.de/twa/htdocs/module/viewer.php on line 4


    Ich weiss einfach nicht was da falsch ist

    Hier mal der code

    Quellcode

    1. <?
    2. require("ts.class.php");
    3. if(isset($ip_adresse = mysql_result(mysql_query('SELECT host_ip FROM host WHERE host_id='.$_SESSION["host"]),0,'host_ip');
    4. $tcp_port = $_SESSION["queryp"] = $sql_vari[host_tcp_port]; $udp_port = $_SESSION["udpp"]))
    5. {
    6. nichts
    7. }
    8. else
    9. {
    10. include("config/config.inc.php");
    11. }
    12. echo $ip_adresse.':'.$udp_port;
    13. $ts=new ts;
    14. $ts->build($ip_adresse,$tcp_port,$udp_port);// Ip-Addresse, [QueryPort, [UDP-Port]]
    15. echo '<table width="100%" border=0% CELLSPACING="2%" CELLPADDING="6%">
    16. <tr>
    17. <td>
    18. <img src="module/tsv/img/server.gif">
    19. </td>
    20. <td>
    21. </td>
    22. </tr>
    23. </table>';
    24. function channel($channel){
    25. global $ts;
    26. global $nickname;
    27. global $ip_adresse;
    28. global $udp_port;
    29. global $password;
    30. $info = $channel["channel"];
    31. ?>
    Alles anzeigen


    Vieleicht habt ihr ja hier ne lösung

    Grus

    Dragon
  • wenn du mir mal genauer erklärst, was das hier sein soll:

    Quellcode

    1. if(isset($ip_adresse = mysql_result(mysql_query('SELECT host_ip FROM host WHERE host_id='.$_SESSION["host"]),0,'host_ip');
    2. $tcp_port = $_SESSION["queryp"] = $sql_vari[host_tcp_port]; $udp_port = $_SESSION["udpp"]))
    3. {
    4. nichts
    5. }
    6. else
    7. {
    8. include("config/config.inc.php");
    9. }

    kann ich dir auch helfen...mein Zend zeigt mir den ganzen Block als totalen Syntaxfehler =)

    was soll die Abfrage machen, dann kann ich sie dir korrigieren...
    weil so, wie diese jetzt aussieht kann ich dir 3 verschiedene möglichkeiten rausbasteln, die aber unterschiedlich funktionieren...
  • Hallo

    Also ich erkläres mal

    undzwar habe ich mir selber ein Webinterface für Teamspeak gecodet was auch leüft. in demk Webinterface ist gleichzeitig eine liveansicht mit drinne sozusagen wie ein teamspeakviewer sobald ich mich ausloge und den direkten link zur liveansicht aurufe bekomme ich eine error meldung. was auch kla ist weil ich nicht eingelogt bin es soll aber auch extern gehen

    hier mal die fehlermeldung die kommt wenn ich den link extern aufrufe

    Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /var/www/virtual/stagate.de/twa/htdocs/module/viewer.php on line 3
    :
    Error: Kein Server erreichbar


    Hier mal der komplette cod der datei wie gesagt bin ich eingelogt gehts keine frage es sol aber auch uneingelogt gehen

    Quellcode

    1. <?
    2. require("ts.class.php");
    3. $ip_adresse = mysql_result(mysql_query('SELECT tsp_host_ip FROM tsp_host WHERE tsp_host_id='.$_SESSION["host"]),0,'tsp_host_ip');
    4. $tcp_port = $_SESSION["queryp"] = $sql_vari[tsp_host_tcp_port];
    5. $udp_port = $_SESSION["udpp"];
    6. $nickname = "";
    7. echo $ip_adresse.':'.$udp_port;
    8. $ts=new ts;
    9. $ts->build($ip_adresse,$tcp_port,$udp_port);// Ip-Addresse, [QueryPort, [UDP-Port]]
    10. echo '<table width="100%" border=0% CELLSPACING="2%" CELLPADDING="6%">
    11. <tr>
    12. <td>
    13. <img src="module/tsv/img/server.gif">
    14. </td>
    15. <td>
    16. </td>
    17. </tr>
    18. </table>';
    19. function channel($channel){
    20. global $ts;
    21. global $nickname;
    22. global $ip_adresse;
    23. global $udp_port;
    24. global $password;
    25. $info = $channel["channel"];
    26. ?>
    27. <table border=0 CELLSPACING="0" CELLPADDING="0">
    28. <?=$info["parent"]==-1?"":"<td><img src=module/tsv/img/tree_line.gif border=0></td>
    29. <td><img src=module/tsv/img/tree_cross.gif border=0></td>";
    30. ?>
    31. <?=$info["parent"]!=-1?"":"
    32. <td><img src=module/tsv/img/tree_cross.gif border=0></td>";
    33. ?>
    34. <td><img src="module/tsv/img/channel.gif" border=0></td>
    35. <td><a href="teamspeak://<?=$ip_adresse?>:<?=$udp_port?>/?channel=<?=htmlspecialchars($info["name"])?>?password=<?=$password?>?nickname=Webinterface User<?=$nickname?>"><small><?=htmlspecialchars($info["name"])?> (<?=$info["flags_str"]?>)</small></a></td>
    36. </tr>
    37. </table>
    38. <?
    39. if( $info["parent"] == -1 && $info["flags"]{3}==1 && count($channel) > 1 ){
    40. unset( $channel["channel"] );
    41. usort( $channel,array('ts','channel_sort'));
    42. while( list( $key , $value) =each( $channel ) ){
    43. channel( $value );
    44. }
    45. };
    46. $user=@$ts->user[$info["id"]];
    47. if( count($user) > 0 ){
    48. usort( $user , array('ts','user_sort') );
    49. while( list( $key , $value) =each( $user ) ){
    50. ?>
    51. <?=$info["parent"]==-1?"":"| "?>|-<img src="module/tsv/img/<?=$value["pic"]?>" /><?=htmlspecialchars($value["nick"])?> (<?=$value["pprivs_str"]?>)<br />
    52. <?
    53. }
    54. }
    55. }
    56. if( $ts->info["error"] == false ){
    57. usort($ts->channels,array('ts','channel_sort'));
    58. while( list( $key, $value )=each( $ts->channels ) ){
    59. channel( $value );
    60. }
    61. }else{
    62. echo("Error: ".$ts->info["error"]);
    63. }
    64. ?>
    Alles anzeigen


    Gruss

    Dragon
  • Dann schau dir mal die Fehlermeldung was genauer an:
    Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /var/www/virtual/stagate.de/twa/htdocs/module/viewer.php on line 3
    :
    Error: Kein Server erreichbar


    Wo kommt denn das Error: Kein Server erreichbar her?

    Schau dir mal die Zeile 3 An:
    $ip_adresse = mysql_result(mysql_query('SELECT tsp_host_ip FROM tsp_host WHERE tsp_host_id='.$_SESSION["host"]),0,'tsp_host_ip');
    $tcp_port = $_SESSION["queryp"] = $sql_vari[tsp_host_tcp_port];

    versuch mal den Select befehl wie folgt aufzubauen:
    SELECT `spalte1` FROM `table1` WHERE `feldxy` = "wert";

    Bitte beachte die Anführungszeichen...
    wenn der Fehler dann immernoch auftritt, überprüfe die Verbindung zum MySQL Server =)
  • wenn du nicht eingeloggt bist, ist die session variable leer

    dein KOMPLETTER mysql request sieht also so aus
    SELECT host_ip FROM host WHERE host_id=


    klar, dass das einen syntax fehler fabriziert
    Mit korrekten Anführungszeichen umgehst du das Syntaxproblem
    Aber dann fragst du alle host_ids ab die leer sind.

    Also musst du dir einen 2ten request bauen.
    Aber das bringt dich auch nur einen kleinen Schritt weiter - denn die anderen SESSION Variablen, die du verwendest sind vermutlich auch nicht belegt.
  • hi

    Mir wurde gesagt das man das ihrgendwie so machen soll

    Quellcode

    1. <?
    2. require("ts.class.php");
    3. if(isset($ip_adresse = mysql_result(mysql_query('SELECT host_ip FROM host WHERE host_id='.$_SESSION["host"]),0,'host_ip');
    4. $tcp_port = $_SESSION["queryp"] = $sql_vari[host_tcp_port]; $udp_port = $_SESSION["udpp"]))
    5. {
    6. nichts
    7. }
    8. else
    9. {
    10. include("config/config.inc.php");
    11. }
    Alles anzeigen


    allerdings bekomme ich da mehr fehlermeldungen als alles andere[/coderwiki]
  • die Session variablen werden vermutlich nur befüllt, wenn du angemeldet bist.
    Wenn du nicht angemeldet bist, sind die session variablen leer.



    Bitte nimm dir diesmal mehr als 30 Sekunden Zeit um nochmal drüber nachzudenken.

    Ich glaube ich habe im letzten Posting alles gesagt, was du zum Lösen des Problems benötigst. Ich hab sogar ein Beispiel gebracht und auf Fremdwörter verzichtet.. Und das Posting hat keine 100 Wörter... also bitte versuchs nochmal
  • hab das nun mal so versucht und die fehlermeldung ist weg allerdings fehlt da nochwas damit er den server auch wieder gibt


    Quellcode

    1. require("ts.class.php");
    2. $server = array();
    3. $result = mysql_query("SELECT tsp_host_ip,tsp_host_tcp_port FROM tsp_host");
    4. if ($result) {
    5. $i=0;
    6. while ($row = mysql_fetch_row($result)) {
    7. echo "Server-IP: ".$row[0]." Server TCP Port: ".$row[1]."<br>";
    8. // $server[$i++]=$row[0];
    9. // $ports[$i++]=$row[1];
    10. }
    11. }
    12. if (isset($_SESSION["host"])) {
    13. $ip_adresse = mysql_result(mysql_query('SELECT tsp_host_ip FROM tsp_host WHERE tsp_host_id='.$_SESSION["host"]),0,'tsp_host_ip');
    14. } else {
    15. $ip_adresse = $server[$_GET["server"]];
    16. }
    Alles anzeigen
  • syndicate funktioniert doch?

    aber das andere script meldet:
    Error: Kein Server erreichbar


    Nochmal step by step:

    deine SESSION Variante funktioniert doch, oder?
    also geht es nur um die else

    Quellcode

    1. } else {
    2. $ip_adresse = $server[$_GET["server"]];
    3. }


    wenn das nicht klappt dann mach mal

    Quellcode

    1. echo $ip_adresse
    2. print_r($server);
    3. print_r($_GET);
  • das syndicate ist aber von einem anderen Produkt und nicht von mir das gehört zu dem webinterface von germeshausen nicht zu meinem ich versauche ja grade sowas auch hin zu bekommen :roll:

    Dein erster vorschlag so habe ich das ja saschon da ging es nicht bei dem 2 bin ich nun grade drann aber ganz verstanden habe ich das noch nicht


    mit meiner tastertur stimmt wat net sehe grade alles voller rechtschreibfehler net übel nehmen :P


    hier mal der code


    Quellcode

    1. <?
    2. require("ts.class.php");
    3. $server = array();
    4. $result = mysql_query("SELECT tsp_host_ip,tsp_host_tcp_port FROM tsp_host ");
    5. if ($result) {
    6. $i=0;
    7. while ($row = mysql_fetch_row($result)) {
    8. echo "Server-IP: ".$row[0]." Server TCP Port: ".$row[1]."udp Port: ".$row[2]."<br>";
    9. // $server[$i++]=$row[0];
    10. // $ports[$i++]=$row[1];
    11. // $udp_port[$i++]=$row[2];
    12. }
    13. }
    14. if (isset($_SESSION["host"])) {
    15. $ip_adresse = mysql_result(mysql_query('SELECT tsp_host_ip FROM tsp_host WHERE tsp_host_id='.$_SESSION["host"]),0,'tsp_host_ip');
    16. } else {
    17. $ip_adresse = $server[$_GET["server"]];
    18. $ip_adresse = $udp_port[$_GET["udpp"]];
    19. }
    20. echo $ip_adresse print_r($server);
    21. print_r($_GET);
    22. $tcp_port = $_SESSION["queryp"] = $sql_vari[tsp_host_tcp_port];
    23. $udp_port = $_SESSION["udpp"];
    24. $nickname = "";
    25. $ts=new ts;
    26. $ts->build($ip_adresse,$tcp_port,$udp_port);// Ip-Addresse, [QueryPort, [UDP-Port]]
    27. echo '<table width="100%" border=0% CELLSPACING="2%" CELLPADDING="6%">
    28. <tr>
    29. <td>
    30. <img src="module/tsv/img/server.gif">
    31. </td>
    32. <td>
    33. </td>
    34. </tr>
    35. </table>';
    36. function channel($channel){
    37. global $ts;
    38. global $nickname;
    39. global $ip_adresse;
    40. global $udp_port;
    41. global $password;
    42. $info = $channel["channel"];
    43. ?>
    Alles anzeigen




    damit bekomme ich nun nen syntax error wieder

    Quellcode

    1. echo $ip_adresse print_r($server);
    2. print_r($_GET);
    sehe aber net wo ich ne klammer vegessen habe


    STOP habs gefunden

    aber nun gibt er das aus

    http://twa.stagate.de/index2.php?act=server_liveansicht&server=1&port=8767