Beiträge von cottton

    Habe dieses schöne JS im Netz gefunden:
    http://www.seabreezecomputers.com/tips/progress.htm


    "Cool Javascript Progress Bar v. 1.4"


    Alles läuft, super Sache =)
    Nur kann das Script ja nicht "mitteilen", das der Webserver gerade eben noch mit PHP beschäftigt ist.
    Falls der Server also zB mal eben 10 Sekunden für das PHP script benötigt sieht User nur - nix =)


    Warum das Ganze:
    ich musste feststellen (als Opera Nutzer), dass Firefox (normal) User zB nicht wirklich sehen, ob der Klick auf den Button gerade etwas anstößt.
    In Opera zB bekommt man den Zustand der Page in der Adresszeile und neben dem Mauszeiger angezeigt.


    Nun dacht ich mir, irgend was "was wackelt" wäre gut, damit User merkt "ah, da passiert was" =)


    Da man ja schlecht den Status des PHP scripts abrufen kann (oder?), dachte ich an ein "onclick" _> zeige ein .gif (nen "Lade-kreisel" o.ä.).
    Also das .gif wird auf der momentanen Page schon "abgespielt", bis die neue Page geladen wird (also PHP abgearbeitet ist).


    Nun die Frage: Ist das Quark?
    Hab oft gelesen dass es keine "echten" Ladenbalken für diese Geschichten gibt.

    Naja, wenn das script startet und keiner "etwas" eingegeben hat:

    PHP
    echo "eingetragener Vorname: ". $_GET['vorname'];


    ... dann kennt PHP "vorname" noch nicht.


    Besser wäre:

    PHP
    if(isset($_GET['vorname'])and !empty($_GET['vorname']))
    {
    echo "eingetragener Vorname: ". $_GET['vorname'];
    }

    Also eigentlich interessiert es mich garnicht, ob das Design geändernt wird,
    aber durch den Satz:

    Aber merkst was? Irgendwie meldet sich hier niemand anders zu Wort außer dir, also kann es ja nicht so furchtbar viele Leute stören.


    wollte ich mich dann doch mal melden.


    Ich bin hier nicht im ersten Forum, und ich denke die Meisten wissen, dass manches Geschriebene nicht so rüberkommen sollte, wie es sich liest.
    Daher denke ich, dass das hier Geschriebene evtl zu ernst genommen wurde.
    ... was mir ja eigtl auch egal sein kann.


    Aber zu Thema:
    Mir persönlich ist die Schrift hier bei manchen Sachen auch zu klein.
    zB gerade eben, wie ich hier schreibe, kann ich nicht mal eben den Text überfliegen, um nach Tippfehler zu suchen usw...
    Es ist zu klein, auch, wenn man mal was markieren/kopieren will.


    Änderung brauch ich keine. Ich nutze meist das Ranzoomen mit STRG und Mausrad.


    Warum ich aber schreibe ist:
    @ laura
    ich denke, dass sich einige evtl nicht melden, da sie den "Großen" hier nicht auf die Füße treten wollen.
    Du hast mich schon paar mal ermahnt, wegen (offensichtlichen, geb ich zu) Fehlern.
    Aber deine Posts lesen sich ziehmlich streng.
    Im Netz hat man eben oft nur den Text, um sich einen Eindruck zu verschaffen. Und mein Eindruck von Dir ist in etwa "die ständig Augen rollende".
    Kann mir denken, dass es nicht so ist. Meistens ist es ja auch so, wenn man jemanden dann sieht/hört, man merkt, wie falsch die Vorstellung ist, die man sich gebildet hat.


    Nix böse gemeint, ist halt Inet =)

    Ich hab ein wohl kleineres problem.


    Schon vorhanden:

    JavaScript
    <script type="text/javascript">
     <!-- 
    function aReload() 
    {
      window.location = "http://.../index.php?action=scheck&ip=62.104.179.209&port=47200&ref=true&s_on=true&s_bu=true&vol=25&n_sea=0";
    }     
     //-->
     </script>


    Der Link wird mir per PHP dynamisch erstellt.
    Nun habe ich aber ein kleiner Icon in der Seite, bei dem "onclick" ein neuer Teil an die URL angehängt werden soll.

    HTML
    <img src=".../Images/sound_music-on.png" border="0" width="15" height="15" alt="flag" title="no sound for this player" onClick="aReload()" />


    Ich hab mir vorgestellt, jeder Zeile eine ID zu vergenen und diese ID "onclick" an die Funktion zu übergeben, um es an die URL anzuhängen.


    ist das möglich?



    EDIT:
    Bin soweit, dass ich die id in die Funktion bekomme:

    PHP
    echo '<img id="'.htmlspecialchars($Player).'" src=".../Images/sound_music-on.png" border="0" width="15" height="15" alt="x" title="Sound off for this player" onClick="aReload(this.id)" />';


    HTML
    <img id="Szetland" src=".../Images/sound_music-on.png" border="0" width="15" height="15" alt="x" title="Sound off for this player" onClick="aReload(this.id)" />


    Nur wie "sage" ich Javescript, dass es nur etwas anhängen soll, wenn "id" existiert?
    So funktionierts nämlich nicht:

    JavaScript
    <script type="text/javascript">
     <!-- 
    function aReload(id) 
    {
      window.location = "http://.../index.php?action=scheck&ip=62.104.179.209&port=47200&ref=true&s_on=true&s_gr=true&vol=25&n_sea=0"(if(id){+id});
    }     
     //-->
     </script>

    =/

    Naja, bei dem was ich da "betreibe" kann man nicht so viel ausschliessen.
    Die meisten Eingaben kommen als "Spielername", und ein Spielername kann zB auch so aussehen: <Spieler123>
    Daher kann ich nur prüfen, ob da was reinkommt, und wenn ja - wie lang (max 16 Zeichen).


    Ich muss also Zeichen zulassen, möchte aber sehen, wenn jemand wirklich mal versucht hat etwas einzuschleusen.

    Naja, was ich durchsuchen möchte sind die Eingaben des Users.
    Ich dachte daran, alle Eingaben mitzuloggen. Allerdings nicht wirklich alle.
    Hab mir das so vorgetellt, das alles, was code ähnelt, mitgeloggt wird. Somit könnte ich dann sehen, ob es jemand "versucht hat".


    Also müsste ich wohl nach allen möglichen Sonderzeichen suchen, denk ich.


    Jetzt aber erstmal die Frage: klingt das dumm / macht das Sinn?

    Gibt es eine einfache Art und Weise ein mehrdimensionales Array auf code zu untersuchen?
    Ich dachte zuerst an eine Abfrage auf alles Mögliche wie "<" ">" ect, aber das scheint mir nicht gerade professionell ;D


    Was ich gefunden hab ist "stristr", aber das bringt ja als Ergebnis, wenn ich zB "<>/" angebe, nur etwas zurück, wenn alle zeichen enthalten sind.

    Oh danke!
    Also ich hätte ja schon gedacht, dass das über den debian server geregelt würde ;D


    Hab gerade gelesen:


    "Instead of using this function to set the default timezone in your script, you can also use the INI setting date.timezone to set the default timezone."


    Und in der php.ini steht tatsächlich:
    [Date]
    ; Defines the default timezone used by the date functions
    ; http://php.net/date.timezone
    date.timezone = Asia/Hong_Kong

    Sehr seltsam. Wenn ich ins System, also auf den Webserver sehe zeigt es mir an
    Systemzeit Sun Jun 24 19:07:09 2012


    aber wenn ich mit PHP die time() ausgeben lasse, dann bekomme ich
    Mon 25 Jun 2012 - 01:06:57


    Mit Angabe der Zeitzone ergibt das Hongkong ;D


    Wie ist das möglich?



    edit:
    verwendeter PHP code:

    PHP
    $timenow = time();
    echo date('D d M Y - H:i:s', $timenow);

    Ja, das mit dem # -> wenn ich das zum Punkt ändere, dann funktioniert es nicht =/
    Die Bilder werden dann sofort angezeigt.


    Und was meinst Du mit google tools oO?


    Was ich allerdings vergessen hab - was Du ja schon sagtest - die maximalen Verbindungen -.-
    ich nutze Opera und hab die bei mir immer auf Anschlag eingestellt. Daher lädt es bei mir länger, also alle Bilder.
    Dann muss ich wohl doch mal suchen, wie ich die Bilder nur dann lade, wenn die Maus darüber liegt.

    Oh, naja, ... ich bin ne echte copycat was HTML ect angeht ;D
    Kommt davon, wenn man PHP lernt, HTML aber nicht wirklich beachtet hat ;D
    Was ich ja ganz irre finde ist, dass HTML schweriger ist, als PHP. ... Also für mich =)


    Das mit dem # is weg.
    Alles funktioniert so, wie es soll.
    Außer, dass ich nicht weiß, wie ich die box anders platzieren kann (aber so gehts ja auch erstmal)
    und ein klitze kleines Problem mit der Ladezeit, da jetzt auf dieser Page ~ 7MB Images geladen werden müssen.
    Ich denke mal da müsste was mit JS gehn, um das Bild für die Box erst dann zu laden, wenn die Maus drauf zeigt.


    PS: seit dem ich ne neue Tastatur hab, bin ich nur noch am Posts Editieren ;D

    Irgentwie bekomm ich das nicht hin =(


    onmouseover="i1(this);"


    Was macht das "this" ? soweit ich das verstehe wird bei mouse over die Funktion "i1" aufgerufen und das, was in den Klammern steht and diese Funktion übergeben?.


    EDIT:
    das ist die Website Tabelle für die ich das versuche zu verwenden: http://i-stats.net/index.php?action=pcheck&player=cottton&game=BF3&wpl=true

    Warum denn mit Javascript?


    Wie wäre es mit CSS? Dafür gibt es :hover und wenn man es nicht auf einmal haben möchte gibt es Animationen, die das ganze mit Übergang ablaufen lassen.


    Ok, jetz weiss ich was Du meintest =)


    Hab da was gefunden:
    http://www.homepage-faqs.de/in…er-groesser-bei-mouseover
    "C) Vergrössertes Bild im Infosfenster (ohne Javascript)"


    Soweit so gut, nur hakt es noch ein bischen.
    Style:


    und mit php lasse ich sämtliche .png ausgeben:

    PHP
    foreach(....
    {
    <div id="box">
    <a href="#"><?if(isset($name)){echo $name;}?></a>
    <div><img src="<? echo $WeaponPics[$name]; ?>" width="300" height="180" alt=""/></div></div>
    }


    Das Ergebnis sieht dann zB so aus:

    HTML
    <div id="box">
    <a href="#">QBB-95</a>
    <div><img src="stats_tool/Images/WeaponsBF3/xp1_qbb95.png" width="300" height="180" alt=""/></div>
    </div>


    Jetzt muss ich nur noch die "box" irgentwie bischen sinnvoller positionieren.
    Und der "Haken" an der Sache - bei mouse over wird das Bild nich timmer angezeigt. ZB wenn man mit dem Mauszeiger von oben nach unten über die Namen geht. Was kann das sein?

    ^- klar, kann ja nich gehn, wenn das .png darüber ist -.-


    Also bleibt nur noch die "Frage" des styles.

    Zum punkt 1


    meinst du, dass du verhindern möchtest, dass jemand über die eingabefelder code einschleust?


    Nachdem was ich gelesen/gelernt hab: $eingabe = htmlspecialchars($eingabe);
    oder auch htmlentities()
    http://de2.php.net/manual/de/function.htmlentities.php

    Zitat

    Die Funktion ist komplett identisch zu htmlspecialchars(), allerdings wandelt htmlentities() wirklich alle Zeichen, die eine HTML-Code-Entsprechung haben, in diese Entsprechung um.


    ... also äöü geht auch "flöten" =)



    Zum punkt 2 kann ich nicht helfen, da ich nix mit msql anfangen kann. Nutze selbst bei 50k einträgen ne txt datei =)

    hehe ;D naja, in JS bin ich momentan nur die copycat ;D
    Wenn ich über google code bsp finde versuche ich meistens nix daran zu ändern, da ich wohl eher fehler einbauen würde =)


    Also - was ich machen will:


    Ich habe ein array mit ~30 positionen.
    Nehmen wir mal an die heissen jetzt
    $array_XYZ[] = 'abc';
    $array_XYZ[] = 'def';
    $array_XYZ[] = 'ghi';
    ... usw


    Nun möchte ich eine liste anzeigen lassen "like"


    abc .... bla ..... bla ..
    def .... bla ..... bla ..
    ghi .... bla ..... bla ..
    ... usw


    Wenn user nun mit der maus über (zB) "abc" ist, sollte das bild abc angezeigt werden.
    Die namen wie zB "abc" nutze ich auch um das bild zu definieren, da die bilder auf dem server den gleichen namen haben (abc.png, ...).


    Also hab ich mir gedacht ich schreibe mit einer schleife:


    PHP
    foreach($array_XYZ as $name)
    {
     echo $name . '... und noch anderer inhalt ...';
     echo '<img src="'. $name .'".png />';
    }


    Soweit so einfach. Aber so würde das img logischer weise sofort angezeigt.
    Ich wollte aber das img erst bei "mouse over" anzeigen lassen - und das (wie oft auf webseiten zu sehen) in einem kleinen "fenster".


    Beisp wie es wohl richtig gemacht wurde: http://bf3stats.com/stats_pc/cottton < etwas weiter unten bei "Weapons" - sobald die mouse auf der jeweiligen zeile ist, wird rechts das jeweilige bild angezeigt.

    Das sieht gut aus, aber ich weiss noch nicht wie ich die src in the jeweilige zeile bekomme.


    Da ist ja die function zeigeBild() und function versteckeBild()
    und mit php (foreach $was_dynamisch_angezeigt_werden_soll ...) lasse ich alle div´s schreiben mit den triggern
    onmouseout="javascript:versteckeBild()" onmouseover="javascript:zeigeBild()"



    Bekommt man das setAttribute("src","bild1.png"); jetzt irgentwie in die trigger?


    ZB onmouseover="javascript:zeigeBild("src","bild1.png")" ?

    Ich hab im netz ein script gefunden, mit dem man ein bild bei onmouseover anzeigen lassen kann.
    Allerdings beklomme ich den bildwechsel nicht hin.


    Ich möchte mit PHP die bilder, die gebraucht werden, mit einer foreach schleife schreiben lassen.
    Somit wären die bilder in den "<img src= ..." drin.
    Soweit funktioniert es. Aber wie bekomme ich hin, dass die 2 funktionen zeigeBild und versteckeBild die src übernehmen?
    Momentan wird ja immer das "bild1" angezeigt, da es in den funktionen so drin steht.


    Ja funktioniert =)



    und aufruf über

    JavaScript
    <body onLoad="playit();">


    Danke =)