Beiträge von Abakus Forumsfossil

    Welche MyISAM optionen habt ihr denn in MySQL gesetzt, wenn die table groesser werden als sie sollten? Wenn

    Code
    myisam_recover_options=BACKUP

    gesetzt ist, dann wird im hintergrund eine .bak datei mit timestamp angelegt die speicher braucht - ansonsten eben auf OFF setzten.

    Zitat


    Ich bin sparsam, ich will keine unnötigen "0"en in der Datenbank stehen haben ;)

    Wenn moeglich sollte man aber keine NULL-werte in der DB zulassen; weil dann abfragen langsamer werden und der verwaltungsaufwand steigt. Soweit ich das verstanden habe muss MySQL dann im hintergrund zum eigentlichen wert noch ein weiteres flag setzten ob das feld NULL oder NOT NULL ist, bei WHERE, JOIN, GROUP usw. immer beide checks machen, also einmal ob es NULL oder ein gesetzter wert ist, und dann ob der wert entsprechend der abfrage passt.

    Ein anderes problem mit NULL werten hatte ich mal bei einer alten MySQL konfiguration, dabei wurden beim addieren von feldern die auch NULL sein konnten das ergebniss immer zurueckgesetzt:

    SUM(1,2,NULL,3,4) ergab dann 7 (3+4), und nicht 10, da x+NULL immer 0 ergeben hat.


    Die filegroessen kann man auch mit einer simplen SQL abfrage sehen, ohne erst PHP code dafuer schreiben zu muessen:

    SQL
    SELECT TABLE_SCHEMA, TABLE_TYPE, GROUP_CONCAT(TABLE_NAME) as table_names, ENGINE, SUM(TABLE_ROWS) as total_rows, SUM(DATA_LENGTH)/1024/1024 as total_data_MB, SUM(INDEX_LENGTH)/1024/1024 as total_index_lengt_MB
    FROM information_schema.tables
    WHERE TABLE_SCHEMA LIKE 'datenhalde'
    GROUP BY ENGINE, TABLE_TYPE

    was ist schlimmer?

    1000 alte, die das nächste halbe Jahr eh gestorben wären, sterben lassen

    100 Kinder die später ....

    Was ist das denn fuer eine rechnung?

    Es geht nicht nur um die todeszahlen, sondern auch um die folgeschaeden. Selbst wenn du das virus ueberlebst, kann es sein dass du arbeitsunfaehig wirst, lange behandlung brauchst, medikamente nehmen musst oder dein koerper dauerhaften schaden nimmt die die krankenkasse in deiner lebenszeit auch schnell 6-stellige betraege kosten koennen. Dafuer muss die krankenkasse aufkommen (die so eine massenepedimie sicher nicht mit in ihre beitraege einkalkuliert hat), und die wirtschaft wenn arbeitnehmer/steuerzahler wegfallen (weniger einnamhen), aber auf der anderen seite gleichzeitig pflegefaelle hinzukommen die sozialleistungen beziehen (mehr ausgaben).

    Aehm, nein? Du nimmst einfach deinen grundpreis von 100 Euro und schaegt darauf die neue 16% mehrwertsteuer auf und verhinderst damit verwirrungen und rundungsfehler.

    Kann es sein dass deine eingaben vielleicht doch nicht immer 100% gleich sind? leerzeichen am anfang oder ende? variable gesetzt oder nicht gesetzt? Wenn du bei Laravel die html-form components verwendest, werden immer automatisch csrf-tokens gesetzt, die sich beim reload aendern. Wenn das versteckte csrf-token mit serialisiert wird, aendert sich auch der hash.

    Ich wuerde die eingaben als erstes mal mit serialize($_POST) in ein log schreiben, und dann nachtraeglich einzeln mit md5($_POST['unterkunft_id']) , md5($_POST['name']) , ... schauen wo die abweichungen denn genau auftreten.

    Nebenbei bemerkt isses natuerlich ziehmlich optimistisch, einfach anzunehmen dass alle $_POST variablen korrekt gesetzt sind. Normalerweise hat man als erstes eine validierungsfunktion, die schaut ob die eingabe wirklich gesetzt ist und den richtigen typen (string, datum, email,...) hat bevor man die daten weitergibt, oder den user mit fehlermeldung auf die vorheige seite zurueckschickt....

    Hmm, wie gesagt, habe sogar "Matches" in der kostenlosen Variante. Das ist aber normal da ich sehr sehr gut aussehe :hihi::pfeif::yes:


    Ich erwarte da nicht zuviel. zb ich habe bisher ca 200 Profile "gewischt". Matches habe ich bisher 4

    Nach meiner mathematik finden dich damit 2% deiner profilbesucher gutaussehen 😐

    Schneller fix:

    Wenn es hilft kannst du auch einfach in deiner datenbank einen unique index ueber mehrere zellen machen die zusammen immer eindeutig sein muessen, in deinem fall wahrscheinlich [unterkunft_id, email, anreise]. Dann einfach ein INSERT IGNORE machen, und nur der erste request landet in der datenbank.

    Zuverlaessigerer fix:

    statt jedesmal neu name, email, telefon zu speichern ich wuerde im hintergrund immer einen neuen benutzer anlegen, wenn es sich um eine neue email handelt und dann nur die benutzer_id mit jeder anfrage speichern. Damit vermeidest du schonmal probleme wenn telefon leicht abweicht (123-456, 1 234 56, 123456) und kannst leichter pruefen ob der user schonmal was geschickt hast. Ausserdem hast du alle kunden zentral an einem platz, und verteilst keine kontaktinfos ueber verschiedene tables.

    Ich mache bei solchen kontaktanfragen immer ajax-request, und dabei wird der submit-button auf 'disabled' gesetzt solange der request noch laeuft, und leute koennen nichtmehr dopplelklicken.



    Code
    //in deiner formular seite:
    <form id="buchungsanfrage" ....></form>

    (sorry, formatierung ist verlorengegangen)

    Und was wir nicht haben, brauchen wir auch nicht wirklich, so hat die Welt seit tausenden von Jahren funktioniert.

    Was im mittelalter nicht innerhalb von ~50km von deinem wohnort hergestellt wurde, war fuer den durchschnittlichen unbelesenen dorftrottel auch nicht erschwinglich. Richtige strassen gab es nicht, die postkutsche schaffte bei schlechtem wetter manchmal nur 20km pro tag wenn der boden aufgeweicht war und die kutsche eingesunken ist, die gegend durfte man nur ohnehin nur mit genehmigung des fuersten verlassen und wer pech hatte wurde unterwegs abends von wegelagerern gestohlen...

    Heute haben wir natuerlich strassen. Nur braucht man fuer deren bau asphalt aus erdoel, was es in deutschland nicht gibt. Und die autos fahren auch nur mit benzin, welches man in deutschland nicht herstellen kann. Und die reifen enthalten gummi, welcher in deutschland nicht waechst. Und die steuerelektronik besteht aus jeder menge computer, controller, sensoren und displays die alle in asien hergestellt werden. Und fuer die kabel braucht man kupfer und plastik (erdoel), was man beides nicht in deutschland hat.

    Bei Huawei wird vermutet das die Netzwerkkomponenten Backdoors haben, bei Cisco und Co weiss man das es so ist, seit Snowden. <X

    Ok, und dann? Wer koennte denn in deutschland netzwerkhardware bauen? Siemens oder Bosch vielleicht? Dann dauert es aber ein paar jahre bis sie eine produktpalette wie Huawei aufbauen, die sache wird nicht billig und die ganze halbleiterindustrie sitzt ohnehin in asien. Also entweder wird deine lieferkette extrem lang weil du displays, speicher, leiterplatten, controller usw. palettenweise importierst, oder du laesst es gleich in china bauen und eine woche spaeter hat eine chinesische marke ein konkurenzprodukt auf dem markt wirft, mit exakt gleichen features aber fuer 1/10 des preises.

    Was haltet ihr eigentlich von dem Huawei Sanktionen, berechtigt oder nicht?

    Ziehmlich daemlich, zumal Huawei ohehin schon seit jahren 3G + 4G Hardware an alle moeglichen netzbetreiber verkauft hat, und auch solche plastikrouter (z.b. den, den mein internetprovider mit seinem eigenen logo an seine kunden verschickt) mit im angebot hat. Das verbietet man nicht einfach so weil es einem gerade in den kram passt.

    Bei deren breitem produktsortiment ist es wahrscheinlich, das auch andere hersteller von handies, netzerk-switches, wifi-hardware usw. im profi- und consumerbereich huawei hardware irgendwo mit verbauen. Vielleicht weil sie billiger sind, vielleicht weil die hardware besser ist, vielleicht weil die hersteller das produkt schon jahrelang kennen und einsetzen, die umstellung auf chips der konkurenz zu aufwaendig ware.

    Hm; darauf waere ich beim lesen des codes nicht gekommen.

    Imho gehst du das problem (hier im beispiel) aber falsch an. Wenn du pruefen willst ob $data_sym gesetzt ist, wuerde ich is(empty($data_sym)) verwenden. Damit pruefst du, ob die variable gesetzt und nicht leer, 0, null oder "" ist.

    Wenn du sie vorher erst noch kuenstlich mit $data_sym = 0 initialisierst hast du ja potentiell schon 3 zustaende (nicht gesetzt, 0, alles andere) die die variable annehmen kann.

    Nein, das hast du falsch verstanden - eine landingpage soll genau ein einziges produkt verkaufen, und dabei so gut wie moeglich konvertieren. Dazu wird das produkt beworben, gibt es den preis und gleich darunter der "kaufen" button, idealerweise mit den zwingend noetigen forms fuer email, zahlungsdetails und versandanschrift auf der selben seite.

    Damit erreichst du dass dir die user nicht abspringen oder sich auf andere seiten verirren und die bestellung abbrechen, was oefters passiert wenn sie sich erst durch 3 seiten mit agbs, account erstellen, email bestaetigen usw. klicken muessen.

    Kann mir trotzdem nochmal jemand ganz langsam erklaeren warum hier "===" das problem loest? Der string "Nordsee" laesst sich doch (anders als "0" oder "false") nicht nach (int)0 oder (bool)false konvertieren, oder was wird hier verglichen?

    PS: PHP Storm + xdebug ist dein freund :)

    Das ging recht gut, Problem waren die ganzen Anträge, die online gehen sollten und trotzdem so aussehen sollten, wie die Originale. Das war ein Gefrickel ohne Ende, die PDFs erzeugen zu lassen.

    Habe ich mehrmals gemacht - nie wieder! Installation ist immer ein furchtbares gefummel und auf stackoverflow fehlermeldungen nachsteigen, je nach libary werden dann keine bilder unterstuetzt wenn irgendwas im pdf per https verlinkt ist, fontgroessen schauten staendig anders aus als auf dem bildschirm usw. usf.

    in zukunft:

    - vorlagen immer als html generieren, und dann bei der vorschau im browser so ausgeben

    - fonts immer in einheit pt angeben

    - html zum konvertieren an einen externen html2pdf dienst schicken, und den user selbst so sachen wie papiergroesse, header, footer usw. setzen lassen, sonst ist man staendig am nachbessern. Einige anbieter lassen sich auch einfach in andere formate wie word, jpg, ebook usw. umschalten.

    In Deutschland hat den garantiert noch keiner.

    Doch; nur wird das mit kameras geloest und z.b. bei demostrationen eingesetzt. Dabei wird die zu ueberwachende flaeche in quadrate mit z.b. 1m kantenlaenge eingeteilt, und gemessen welche flaeche die demo belegt, und wieviele leute pro m2 stehen. Funktioniert auch noch, wenn die menschen vorne dichter gepackt sind als weit hinten oder am rand. Das macht man imho schon seit +40 jahren so, nur dass frueher eben noch manuel geschaetzt wurde, statt per computer, dronen und bilderkennung...

    benutzt hier keine PHP storm? kennt html, css, js, php und viele andere syntax, mit ctrl+click springt man zum verlinkten script/php function, mit 2x shift kann man eine datei anhand des namens im aktuellen projekt suchen, unterstuetzt php debugging, file upload zum server, plugins fuer git, gulp, sass, ...

    atom.io ist ein kostenloser editor mit gutem support fuer html, css, js - habe ich aber selbst nie benutzt.

    Am saubersten waere es hier imho mit einer whitelist zu arbeiten, also nur die erlaubten zeichen zu definieren, und alles andere zu ignorieren. Blacklist funktioniert nicht, es kann ja durchaus passieren dass word im naechsten update noch eine ganze ecke neue emojis anbietet die du nicht kennst.

    Hier gibt es eine loesung die anscheinend genau das macht was du versuchst: https://github.com/neitanod/forceutf8

    Aber sich im Internet ein Foto auszusuchen und dann den Urheber zu verklagen hat auch viel mit Dummheit zu tun.

    Nicht wenn man sich als rechtsverdreher gut genug auskennt um darau ein profitables geschaeft daraus zu machen. Ein anbieter einer rezeptseite hatte vor einigen jahren leute verklagt, weil sie seine bilder von tafelsalz, kartoffeln, petersilie oder eiern (angeblich) ohne erlaubniss kopiert hatten. Bei den klagesummen und kostennoten die die leute bekommen haben hat ihm sein rechtsanwalt sicher mehr einnahmen beschert als seine rezeptseite.