Ankündigung

Einklappen
Keine Ankündigung bisher.

Geburtstagskalender auf php7 umstellen

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Geburtstagskalender auf php7 umstellen

    Hallo, ich habe einen Geburtstagskalender auf php5 laufen und möchte diesen auf php7 tauglich umstellen.

    Leider komme ich nicht weiter:

    PHP-Code:
    // Zugangsdaten für die Datenbank
    $db_host '  ';
    $db_user '  ';
    $db_name '  ';
    $db_pass '  ';

    // Neue Datenbankverbindung herstellen
    $db = new mysqli($db_host$db_user$db_pass$db_name);

    function 
    datumdeutsch($datum) {
    $d explode("-",$datum);
    return 
    sprintf("%02d.%02d."$d[2], $d[1]);}

    function 
    aktuellesalter($geburtsdatum) {
    $datum explode('-'"$geburtsdatum");
    return 
    date('Y') - $datum[0] - intval(date('n') < $datum[1] || date('n') == $datum[1] && date('j') < $datum[2]);
    }

    // Pruefen ob die Datenbankverbindung hergestellt werden konnte
    if (mysqli_connect_errno() == 0)
    {
     
    // Query vorbereiten und an die DB schicken
     
    $sql 'SELECT `id`,
    `nachname`,
    `vorname`,
    `geburtstag`,
    `klasse`,
    YEAR( CURRENT_DATE( ) ) - YEAR( geburtstag )
    age,
    DATEDIFF(`geburtstag` + INTERVAL
    (YEAR(CURRENT_DATE) - YEAR(`geburtstag`) +
    IF(DATE_FORMAT(CURRENT_DATE, '
    %m%d') >
    DATE_FORMAT(`geburtstag`,'
    %m%d'), 1, 0))
    YEAR, CURRENT_DATE) AS '
    days_to_birthday'
    FROM
    `tblschueler`
    WHERE
       ((DATE_FORMAT(geburtstag, '
    %m%d')!=DATE_FORMAT(CURRENT_DATE, '%m%d'))&&
     (geburtstag!='
    0000-00-00'))
     ORDER BY
     `tagezumgeburtstag`
     limit `3`'
    ;



     
    $ergebnis $db->query$sql );
     
    // Anzahl gefunde Datensaetze ausgeben
     
    echo "<p>Es wurden " .$ergebnis->num_rows" Eintr&auml;ge gefunden.</p>";
     
    // Ergebnisse ausgeben
     
    while ($zeile $ergebnis->fetch_object())
     {

    echo 
    '<table><tr>
    <td width="70">'
    .$row[2].'</td>
    <td width="60"><center>'
    .datumdeutsch($row[3]).'</center></td>
    <td width="30"><center>('
    .$row[4].')</center></td>
    </tr>'
    ;
    echo 
    '</table>';}
    echo 
    "<center><img src="../images/sampledata/fruitshop/smile.gif" alt="Smiley Geburtstag">";

     
    // Resourcen freigeben
     
    $ergebnis->close();
    }
    else
    {
     
    // Es konnte keine Datenbankverbindung aufgebaut werden
     
    echo 'Die Datenbank konnte nicht erreicht werden. Folgender Fehler trat auf: <span class="hinweis">' .mysqli_connect_errno(). ' : ' .mysqli_connect_error(). '</span>';
    }
    // Datenbankverbindung schliessen
    $db->close();
    ?> 
    Vielleicht kann mir ja jemand helfen. Vielen Dank


  • #2
    Hallo, ich habe einen Geburtstagskalender auf php5 laufen und möchte diesen auf php7 tauglich umstellen.
    Was sagt Dir, dass erdas nicht ist?
    Gibts Fehler ?

    Kommentar


    • #3
      Das, was Du da gepostet hast, ist nicht mal PHP5 tauglich, bzw. hat nichts mit der Version zu tun, schau nur mal hier:
      PHP-Code:
      echo "<center><img src="../images/sampledata/fruitshop/smile.gif" alt="Smiley Geburtstag">"
      Das kann zuvor gar nicht gelaufen sein!
      Competence-Center -> Enjoy the Informatrix
      PHProcks!Einsteiger freundliche Tutorials

      Kommentar


      • #4
        Aktiviere mal dein error reporting https://php-de.github.io/jumpto/faq/#debugging


        PHP-Code:
         while ($zeile $ergebnis->fetch_object())
        echo 
        '
        // ...
        <td width="70">'
        .$row[2].'</td>
        <td width="60"><center>'
        .datumdeutsch($row[3
        .. fetch->object und Zugriff als Array wird nicht funktionieren! Ausserdem fehlt da htmlspecialchars() zur korrekten Behandlung des Ausgabekontextes zu HTML hin. So hast du eine Fehlerquelle und im Grunde auch eine XSS Lücke.
        PHP.de Wissenssammlung | Debugging: Finde DEINE Fehler selbst! | mysql_* ist veraltet! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__ | Kein Support per PN

        Kommentar

        Lädt...
        X