PHP XLSX Writer überspringt erste Zeile - was tun?

Hey!

Ich habe gestern die Erweiterung PHP XLSX Writer gefunden und meinem System hinzugefügt. Ziel: Datenbank mit PHP (und mysqli) in ein Excel Dokument umwandeln. Irgendwie überspringt er die erste Zeile und spuckt mir im Dokument erst alles ab id=2 aus... Wisst ihr woran das liegt?

Danke schonmal für eure Antworten!

Hier noch der Quellcode von meiner export.php:

<?php
include "config.php";
include_once("../includes/excel/xlsxwriter.class.php");
//ini_set('display_errors', 0);
//ini_set('log_errors', 1);
//error_reporting(E_ALL & ~E_NOTICE);


    date_default_timezone_set('Europe/Berlin');
    $filename = "PZUS_" . date('Y-m-d') . ".xlsx";


    header('Content-disposition: attachment; filename="'.XLSXWriter::sanitize_filename($filename).'"');
    header("Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
    header('Content-Transfer-Encoding: binary');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');   
    $sql="SELECT * FROM tbl_contact";
    $result = $link->query($sql); 
    $row = $result->fetch_assoc(); 
    $header = array(
      'ID'=>'string',
      'Nachname'=>'string',
      'Vorname'=>'string',
      'Klasse'=>'string',
      'Bemerkung'=>'string',
      'Datum'=>'string',
      'Email'=>'string',
      'Adresse'=>'string',
      'Tel'=>'string',
    );
    $writer = new XLSXWriter();
    $writer->writeSheetHeader('PZUS-1', $header);
    $array = array();
    while ($row=$result->fetch_assoc())
    {
        $array[1] = $row['id'];
        $array[2] = $row['fldSurname'];
        $array[3] = $row['fldFirstname'];
        $array[4] = $row['fldClass'];
        //$array[4] = $row['fldCourse'];
        $array[5] = $row['fldDmg'];
        $array[6] = $row['fldDate'];
        $array[7] = $row['fldEmail'];
        $array[8] = $row['fldAdress'];
        $array[9] = $row['fldTel'];
        $writer->writeSheetRow('PZUS-1', $array);
    };


    //$writer->writeSheet($array,'Sheet1', $header);//or write the whole sheet in 1 call    


    $writer->writeToStdOut();
    //$writer->writeToFile('example.xlsx');
    //echo $writer->writeToString();
    exit(0);
Computer, Microsoft Excel, HTML, programmieren, Export, MySQL, PHP
JavaScript Maximalwert setzen und schneller Value-Wechsel?

Hallo zusammen,

ich habe folgenden +/- Increment und Decrement Button. Kann ich dort einen Maximalwert setzen?

Außerdem möchte ich gerne wenn man + bzw. - gedrückt hält den Value schneller wechseln kann. Wie ist das möglich?

Vorab danke für die Antworten!

HTML:

 <div class="wrapper">
   <span class="minus">-</span>
   <span class="num">01</span>
   <span class="plus">+</span>
</div>

CSS:

.wrapper{
 height: 120px;
 min-width: 380px;
 display: flex;
 align-items: center;
 justify-content: center;
 background: #FFF;
 border-radius: 12px;
 box-shadow: 0 5px 10px rgba(0,0,0,0.2);
}
.wrapper span{
 width: 100%;
 text-align: center;
 font-size: 55px;
 font-weight: 600;
 cursor: pointer;
 user-select: none;
}
.wrapper span.num{
 font-size: 50px;
 border-right: 2px solid rgba(0,0,0,0.2);
 border-left: 2px solid rgba(0,0,0,0.2);
 pointer-events: none;
}

JavaScript:

const plus = document.querySelector(".plus"),
   minus = document.querySelector(".minus"),
   num = document.querySelector(".num");
   let a = 1;
   plus.addEventListener("click", ()=>{
     a++;
     a = (a < 10) ? "0" + a : a;
     num.innerText = a;
   });
   minus.addEventListener("click", ()=>{
     if(a > 1){
       a--;
       a = (a < 10) ? "0" + a : a;
       num.innerText = a;
     }
   });
Computer, HTML, programmieren, CSS, JavaScript, Add-on
PHP User verifizieren?

Hi, ich bin grad dabei ne Website für ein kleines Startup zu programmieren und hänge grad am Login System. Ich hab dabei kein wirkliches Problem sondern eher ne allgemeine Frage:

Wie kann man sicher und sinnvoll einen User verifizieren

Momentan mache ich das so:
Ein User registriert sich, woraufhin in der Datenbank für diesen User ein einzigartiger "Verifizierungscode" generiert wird. Dieser wird dann, wenn er sich einloggt, auf dem PC des Users per Cookie gespeichert. Wenn der User jetzt auf sein Dashboard zugreifen will, wird einfach, wenn vorhanden, der Inhalt des Cookies mit allen Verifizierungscodes in der Datenbank abgeglichen und bei der Zeile, in der die Codes übereinstimmen, wird daraus dann der User geladen. Hoffe das ist verständlich, ansonsten einfach nachfragen.

Den Inhalt des Cookies kann man auch nicht durch irgendwelches rumprobieren herausfinden, da ich diesen mit password_hash() gehashed habe.

Mein Problem jetzt: Ich habe mir einige Docs und Sicherheitsberichte durchgelesen in denen häufig gesagt wird, man solle den User nicht nur anhand eines Cookies automatisch einloggen. Nur leider wird nirgends erwähnt, was man sonst noch so machen könnte, da die Gefahr, dass der Cookie geklaut wird oder ähnliches ja schon besteht. (Cookie Hijacking).

Hat jemand ne sinnvolle Antwort auf mein Problem oder andere Lösungsvorschläge?

Computer, Internet, HTML, Webseite, JavaScript, Cookies, Datenbank, MySQL, PHP
scroll animation mit javascript?
 window.onscroll = function() {scrollFunction()};
                
                function scrollFunction() {
                  if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) {
                    document.getElementById("pic").style.marginTop = "0px";
                    document.getElementById("pic").style.marginLeft = "900px";
                    document.getElementById("pic").style.width = "100px";
                    document.getElementById("pic").style.height = "100px";
                    document.getElementById("h1").style.width = "1003px";
                    document.getElementById("h1").style.height = "60px";
                    document.getElementById("h1").style.marginTop = "0px";
                    document.getElementById("h1").style.textAlign = "center";
                  } else {
                    document.getElementById("pic").style.marginTop = "110px";
                    document.getElementById("pic").style.marginLeft = "800px";
                    document.getElementById("pic").style.width = "200px";
                    document.getElementById("pic").style.height = "200px";
                    document.getElementById("h1").style.width = "250px";
                    document.getElementById("h1").style.height = "50px";
                    document.getElementById("h1").style.marginTop = "195px";
                  }

 Hi, kann mir vielleicht jemand helfen die scroll animation so zu gestalten, dass sie nicht so abrupt geschieht ?

..oder gibt es eine bessere Lösung für mein Vorhaben, bzw wie könnte man es einfacher coden ?

Sry, bin totaler Anfänger =)

Computer, HTML, programmieren, CSS, JavaScript, Webdesign
PHP - alles in einen großen PHP Befehl packen?

Heya!

Einmal noch ne "kleine" Frage zu PHP.

Ich soll meine Nav so umschreiben, dass es komplett in einem großen PHP "Container" ist und nicht html kommt, php, dann wieder html, wieder php

Habs bisschen mittels echo probiert aber anscheinend ist das nicht komplett zielführend wie ich das dachte

Der Code:

<ul class="nav">
    <li><a class="navtext <?php echo ($page == 'home.php') ? "active":"" ?>"
            href="index.php?page=home&amp;lang=<?php echo $langKey; ?>">
        <?php echo $lang['MENU_HOME']; ?>        
    </a></li>
    
    <li><a class="navtext <?php echo ($page == 'ueberuns.php') ? "active":"" ?>"
              href="index.php?page=ueberuns&amp;lang=<?php echo $langKey; ?>">
        <?php echo $lang['MENU_ABOUT_US']; ?>
    </a></li>
    
    <li><a class="navtext <?php echo ($page == 'karriere.php') ? "active":"" ?>"
           href="index.php?page=karriere&amp;lang=<?php echo $langKey; ?>">
        <?php echo $lang['MENU_CARRER']; ?>    
    </a></li>
    
    <li><a class="navtext <?php echo ($page == 'blog.php') ? "active":"" ?>"
           href="index.php?page=blog&amp;lang=<?php echo $langKey; ?>">
        <?php echo $lang['MENU_BLOG']; ?>        
    </a></li>
    
    <li><a class="navtext <?php echo ($page == 'kontakt.php') ? "active":"" ?>"
           href="index.php?page=kontakt&amp;lang=<?php echo $langKey; ?>">
        <?php echo $lang['MENU_CONTACT']; ?>    
    </a></li>
    
    <li><a class="navtext <?php echo ($page == 'team.php') ? "active":"" ?>"
           href="index.php?page=team&amp;lang=<?php echo $langKey; ?>">
        <?php echo $lang['MENU_TEAM']; ?>        
        </a></li>
</ul>
HTML, PHP
Inject HTML mit JavaScript nur top level element angezeigt?

Ich möchte einen Download Button in Youtube einfügen, der ein XML-Get Request an meinen Download-Server schickt und das Video herunterlädt. Der Einfachheit halber will ich den schon vorhandenen YT-Download Button nutzen. Dazu hole ich mir das Element aus dem Dokument und entferne das "is-hidden" Attribut. Soweit alles gut, das Element wird angezeigt. Auch wenn ich einen EventListener für den Request hinzufüge ist noch alles in Ordnung. Nur der bestehende YT-Eventlistener zeigt einen Fehler an, dass Downloads nicht aktiviert sind bei meinem Account. Und um den zu entfernen habe ich das Element geclont und ersetzt, leider wird nur das äußerste Html-Element eingefügt, die inneren Elemente gehen verloren. Das gleiche Problem habe ich bei innerHtml. Alles was verschachtelt ist wird nicht eingefügt.

Mein Code:

var downloadIntegrated = document.querySelector(
          "ytd-download-button-renderer"
);
downloadIntegrated.removeAttribute("is-hidden");

downloadIntegrated = downloadIntegrated.replaceWith(
      downloadIntegrated.cloneNode(true)
);
downloadIntegrated.onclick = function () {
      downloadURL(currentURL);
      return false;
};

Der Originale Button:

<ytd-download-button-renderer class="style-scope ytd-menu-renderer style-default size-default force-icon-button" use-keyboard-focused="" is-hidden="" button-renderer="true" style-action-button="" is-icon-button=""><a class="yt-simple-endpoint style-scope ytd-download-button-renderer" tabindex="-1"><yt-icon-button id="button" class="style-scope ytd-download-button-renderer style-default size-default" touch-feedback=""><!--css-build:shady--><button id="button" class="style-scope yt-icon-button" aria-label="Herunterladen"><yt-icon class="style-scope ytd-download-button-renderer"><svg viewBox="0 0 24 24" preserveAspectRatio="xMidYMid meet" focusable="false" class="style-scope yt-icon" style="pointer-events: none; display: block; width: 100%; height: 100%;"><g class="style-scope yt-icon"><path d="M17 18V19H6V18H17ZM16.5 11.4L15.8 10.7L12 14.4V4H11V14.4L7.2 10.6L6.5 11.3L11.5 16.3L16.5 11.4Z" class="style-scope yt-icon"></path></g></svg><!--css-build:shady--></yt-icon></button><yt-interaction id="interaction" class="circular style-scope yt-icon-button"><!--css-build:shady--><div class="stroke style-scope yt-interaction"></div><div class="fill style-scope yt-interaction"></div></yt-interaction></yt-icon-button><yt-formatted-string id="text" class="style-scope ytd-download-button-renderer style-default size-default">Herunterladen</yt-formatted-string></a></ytd-download-button-renderer>

Der geclonte und eingefügte Button:

<ytd-download-button-renderer class="style-scope ytd-menu-renderer style-default size-default force-icon-button" use-keyboard-focused="" button-renderer="true" style-action-button="" is-icon-button=""></ytd-download-button-renderer>
Computer, YouTube, HTML, programmieren, JavaScript, injection
Angular: Wieso wird Component zweimal aufgerufen?

Hi,

ich bin gerade dabei in Angular eine kleine Webseite zu erstellen. Einfach Just for Fun.

Kurz meine Components + Quellcode.

app-component.html

<app-toolbar></app-toolbar>


<router-outlet></router-outlet>

toolbar.component.html

<div class="head" style="background-color: darkgreen;">
    <div class="box">
            <button class="selectionButton" routerLink="/startseite">
                <div class="menuButton"></div>
                <div class="menuButton"></div>
                <div class="menuButton"></div>
            </button>
    </div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box">
        <button class="selectionButton">
            <font size="5">TypeScript</font>
        </button>    
    </div>
    <div class="box">
        <button class="selectionButton">
            <font size="5">Java</font>
        </button>    
    </div>
    <div class="box">
        <button class="selectionButton" routerLink="/htmluebersicht">
            <font size="5">HTML</font>
        </button>    
    </div>
    <div class="box">
        <button class="selectionButton">
            <font size="5">Cypress</font>
        </button>
    </div>
</div>

html-page.component.html

<p>html-page works!</p>

Wenn ich jetzt auf den Button HTML ("/htmluebersicht") klicke, kommt der Text "html-page works!" .... Alles gut, so solls.
Wenn ich jetzt aber wieder auf den Menü Button ("/startseite") klicke wird meine toolbar.component.html irgendwie zweimal auf der Webseite angezeigt.

Weis jemand wieso die toolbar dann zweimal angezeigt wird?

Ich hoffe es ist verständlich was ich meine.

Computer, Programm, HTML, Webseite, programmieren, Frontend, TypeScript, Angular

Meistgelesene Fragen zum Thema HTML