Beiträge von cottton

    Na ... hast Du da etwa einfach den Code kopiert und eingefügt? ;D

    Zitat

    Missing argument 2 for kundengruppen_test()


    Das 2te Argument (Parameter) für Deine Funktion wurde nicht übergeben.

    Zitat

    Call to a member function execute() on a non-object


    $stmt schlug wohl fehl (NULL -- kein object).

    ACHTUNG: hab gerade enn Fehler von mir gefunden:

    PHP
    $stmt->bind_param("ii", $$limit, $offset);


    da ist ein $ zuviel bei limit :huh:

    Der Code den ich gepostet hab ist so nicht zu gebrauchen. Sind alles Beispiele/Erklärungen.
    die Umsetzung musst Du machen. :P


    EDIT uz Deinem EDIT:

    PHP
    $kundengruppen_test = kundengruppen_test($mysqli, 'LIMIT');


    Falsch.
    Du musst Funktionen verstehen. Sieh Dir den Link an (php-kurs) -- das alles hier zu erklären macht keinen Sinn -- es steht ja alles schon dort =)
    EDIT: und/oder dort: https://www.youtube.com/watch?v=t8w18SrkCBc&ab_channel=PHPtutorialDeutsch
    (bzw: https://www.youtube.com/user/PHPtutorialDeutsch/search?query=funktionen%3F&ab_channel=PHPtutorialDeutsch)

    Zu Funktionen: http://www.php-kurs.com/funktionen-in-php.htm
    Wenn Du außerhalb einen Wert berechnest (zB $amount) und in die Funktion reinschicken möchtest,
    dann erweiterst Du die Funktion um:

    PHP
    function kundengruppen_test($mysqli, $amount) {
    ...


    Wenn $amount nicht immer übergeben wird, sondern auch mal ein default-Wert genutzt wird,
    dann:

    PHP
    function kundengruppen_test($mysqli, $amount=0) { // default 0, wenn nicht uebergeben
    ...


    Hier mal alles in den Kommentaren beschrieben:

    EDIT:
    hatten wir das hier nicht schon mal?

    HTML
    echo "<div class="pagination">";


    Du siehst schon am code-Highlight, dass die " nicht stimmen =)

    Sieht nach Zugriffsberechtigung aus.
    Guck mal hier rein: http://stackoverflow.com/questions/1846…e-allowed-paths

    zu open_basedir: http://www.php.net/manual/en/ini.core.php#ini.open-basedir

    Zitat

    When the file is outside the specified directory-tree, PHP will refuse to access it.

    Wenn Du einen neuen Server aufgesetzt hast, fehlen evtl die Einstellungen, oder Du hast etwas vergessen (slash / am Ende), ...

    Zitat

    The restriction specified with open_basedir is a directory name since PHP 5.2.16 and 5.3.4. Previous versions used it as a prefix. This means that "open_basedir = /dir/incl" also allowed access to "/dir/include" and "/dir/incls" if they exist. When you want to restrict access to only the specified directory, end with a slash. For example: open_basedir = /dir/incl/

    Das Programm kenne ich nicht. Keine Ahnung wo und was Du einrichten musst.
    Wird aber sicherlich nur eine Einstellungssache sein.

    Guck auch mal hier rein: "You can set open_basedir in ..." http://stackoverflow.com/a/13291257/3411766

    EDIT: wenn es ums aktive Umschreiben o.ä. geht, dann was wolf sagt :)

    Am besten über die URL.
    Bsp;
    Hauptmenu link "Bilder" ausgewählt -> link: domain.de/?menu=bilder
    in Bildermenu das Untermenu "Urlaub" ausgewählt -> link: domain.de/?menu=bilder&submenu=urlaub

    menu kann auch ?m= sein und das Submenu &sm=
    ( domain.de/?m=bilder&sm=urlaub )
    ... wie Du möchtest.

    Für alles Weitere musst Du schon irgend ein Code geben (was Du bis jetzt hast) =)

    Vor-Nachteile -- kommt immer drauf an, wie Deine Tabellen aussehen.
    Einfach testen, ausprobieren, anpassen usw.
    Die schnellste Variante gewinnt dann =)

    Die Zweite allerdings ist etwas "schwierig". Kann zu falschen Ergebnissen führen.
    Und das ist mir hier sogar passiert :D
    Mit dem join bekommt man falsche Ergebnisse.
    Warum:
    zähle tbl a und zähle tbl b
    von tbl a
    left join tbl b

    kommt raus:
    wenn in tbl a NICHT gefunden,
    aber über tbl b,
    dann "bekommt" tbl a einen count up (also +1).

    Also nicht die 2te Variante nutzen =)

    Den Fehler

    Zitat

    Call to a member function bind_param() on a non-object

    bekommst Du, weil $stmt = $mysqli->prepare sichrlich fehlschlug.
    (Fehlermeldungen abfangen!)

    Zur Query:
    eine Möglichkeit:

    SQL
    SELECT 
      (SELECT COUNT(*) FROM `kunden` WHERE `kd_telefon` = ?) + 
      (SELECT COUNT(*) FROM `kunden_weitere_telefonnummern` WHERE `uwt_nummer` = ?) 
    AS `amount`;


    andere Möglichkeit:

    SQL
    -- EDIT: falsch! nicht nutzen!
    SELECT     
        COUNT(`a`.`kd_telefon`) AS `amount_a`,
        COUNT(`b`.`uwt_nummer`) AS `amount_b`
    FROM  `kunden` AS `a`
    LEFT JOIN `kunden_weitere_telefonnummern` AS `b` ON `a`.`kd_telefon` = `b`.`uwt_nummer` 
    WHERE 
        `a`.`kd_telefon` = ?
        OR `b`.`uwt_nummer` = ?;


    Warum hast Du egtl die Nummern in 2 Tabellen?
    Wenn Du "mehr Platz" für mehr Nummern brauchst, dann würde ich generell eine Extratabelle empfehlen.

    hab da nen Fehler bei DEINE_MAX_LEN_,
    sollte natürlich MIN Länge sein. Wirst Du aber sicherlich mitbekommen haben :D
    Und bei

    Zitat

    oder `user` ist INDEX UNIQUE oder PRIMARY KEY


    -- vergiss den PRIMARY KEY. PRIMARY KEY sollte ein Feld vom Type INT sein (AUTO_INCREMENT).
    Das Feld `user` mit dem Namen setzt Du dann einfach auf einen unique index, damit es nur einmal vorkommen darf.

    Was meinst Du mit const für password_hash()?
    Meinst Du PASSWORD_DEFAULT ?

    hier mal ein "paar" Hinweise
    ... ich übertreibe gern :D

    Hast den Fehler aufm PC oder Smartphone?

    Die Meldung deutet darauf hin, dass der Server die Verbindung verweigert.
    code 1006:

    Zitat von https://tools.ietf.org/html/rfc6455

    that the
    connection was closed abnormally, e.g., without sending or
    receiving a Close control frame.


    Kann man das Server-Script irgendwo einsehen?

    EDIT: hab script oben editiert:
    von

    JavaScript
    socket = new WebSocket("ws://" + host + ":9093");


    zu

    JavaScript
    socket = new WebSocket("ws://" + host + ":9093/ws");


    hatte /ws weggelassen. Glaube zwar nicht, dass der Server das prüft, kann ja aber sein ...
    (bin Nachmittags wieder online)

    Ich denk auch, dass wir da ein bissl code brauchen.

    Wird wohl um ein onclick event gehen. Und das event soll dann von dem Banner den Tag nehmen (der sich sicherlich öfter ändert) und in eine url einfügen.
    Aber ohne code können wir nicht mal ansatzweise helfen :)

    Das Scipt ist "Mist". (Sieht auch zusammen-kopiert aus)
    Bei jedem Klick baut es eine neue Verbindung auf.
    Kann mir vorstellen, dass aufm mobilen Browser Probleme macht.
    Hast Du eine Alternative?

    EDIT:
    probier mal das hier:

    BTW: hab mich gerade wiedermal mit css geärgert - wir könn uns gegenseitig echt nicht ausstehen :D
    Hat jemand ne idee, wie man die Buttons immer schön mittig platziert? Aber trotzdem als Kreuz?
    Hatte das mit position relative probiert, aber irgendwie .. naja.

    EDIT: updated buttons

    EDIT:
    js abgeändert -- etwas vereinfacht:

    Im Script "fehlt" ein onerror() event.
    ergänze mal das Folgende:


    Dann versuch das ganze nochmal. Evtl tritt ein Fehler auf, der Dir ja so sonst entgeht.
    Ansonsten was kanu sagt.

    EDIT: evtl wurde auch in der console (Browser) geloggt:

    JavaScript
    console.log("invalid socket");


    falls die Verbindung nicht zustande kam.

    Wir hatten gestern ne Frage zum Thumbnails erstellen ...
    hatte lange weile ...
    free use/change/w/e

    paar Schnitzer drin.
    (vorweg: bin müde :D )