Avatar billede Mad Mester
05. januar 2020 - 10:08 Der er 5 kommentarer og
1 løsning

php forside fejl

Jeg har et problem på min forside www.ibuyit.dk, er der nogen der ved hvordan jeg løser det, jeg henter nogle produkter fra databasen og de bliver vist men det virker ikke mere?, hvordan der kan vise når andet jeg kan gøre i stedet for det jeg har gjort, og hvordan fjerner jeg fejlen. Gerne noget kode hvordan jeg kan gøre det.
[code]
<?php
include 'inc/Top.inc';
include 'lib/Database.php';

// String used to separate product title from product ID
define(KEY_DELIMITER, ':');

// Find and sort the products with the highest values in the HighQualityPrice column
$db = new \Application\Model\Database();
$q = $db->Query('select `ProductID`, `Title`, `HighQualityPrice` from `Products` order by `Title`');
$prices = [];
while ($p = $q->fetch_assoc()) {
    $prices[$p['Title'] . KEY_DELIMITER . "{$p['ProductID']}"] = substr($p['HighQualityPrice'], strrpos($p['HighQualityPrice'], ';') + 1);
}
asort($prices, SORT_NUMERIC);

?>


<div class="jumbotron jumbotron-fluid">  <div class="container text-center">  <h2 class="display-3"><b>Velkommen</h2></b>  <p class="diskplay-2"><b>iPhones og iPads k&oslash;bes til DKs bedste priser</b></p>

<a href="/produkter/iPhones" class="btn btn-xl btn btn-info">Sælg til os</a>
  <a href="/kontakt" class="btn btn-xl btn btn-primary">Kontakt os</a>
    <br><br>
</div> </div>


<style>.jumbotron {
  background-image: url("https://www.hindustantimes.com/rf/image_size_960x540/HT/p2/2018/04/24/Pictures/_a81aeac8-4799-11e8-b98f-44ca1ff8ed36.jpg");
  background-size: cover;
}
</style>


<div class="container-fluid" style="background-color: white; padding: 15px; text-align: center;">

    <div class="text-center"><h2>Hvem er vi?</h2>
        <p>Repkom.dk er en nystartet hobbyvirksomhed der består af en ung gruppe af Apple-entusiaster, som engagerer sig i opkøb af nye, brugte, og defekte iPhones og iPads, vi opkøber omgående til markedets formentligt bedste priser, så finder du en anden opkøber side hvor du kan få mere, så matcher vi selvfølgelig den pågældende pris. Vi køber både fra virksomheder og private, så har i/du noget du gerne vil sælge, så kontakt os.

<h2>Du sparer tid og penge</h2>
Ja du læste rigtigt, du sparer en masse tid ved at sælge til os, fordi vi kommer og køber omgående.

<h2>Vi afhenter gerne hos dig</h2>
Det eneste du skal gøre inden vi afhenter din enhed, er at gøre din iPhone/iPad klar til afhentning, ved at fjerne iCloud og Find min iPhone, også selvfølgelig gemme dine egne data.
</p><br><br></div>

    <div class="col-md-1">&nbsp;</div>
    <?php
    // Select top 5 products
    $i = 0;
    $n = 5;
    foreach ($prices as $key => $price) {
        $title = substr($key, 0, strpos($key, KEY_DELIMITER));
        $title2 = str_replace(' ', '+', $title);
        $id = substr($key, strpos($key, KEY_DELIMITER) + 1);
        $file = glob("thumbnails/Product_$id.*");
        echo "<div class='col-md-2'><span class='text-center'><b>$title</b><br><i>Få op til kr.
<b>$price,-</i></b></span><br><a href='/Products.php?search=$title2'><img style='width: 100px;' src='{$file[0]}'></a></div>\n";
        //echo '<div class="col-lg-1">&nbsp;</div>';

        if (++$i == $n) break;
    }
    ?>
</div>
<?php include 'inc/Bottom.inc'; ?>
[/code]
Avatar billede ejvindh Ekspert
05. januar 2020 - 11:16 #1
Det er nok fordi dit webhotel har opgraderet php-versionen. Prøv at ændre følgende linie:
define(KEY_DELIMITER, ':');

til:
define('KEY_DELIMITER', ':');
Avatar billede ejvindh Ekspert
05. januar 2020 - 11:19 #2
Ja, jeg kan se, at du har unoeuro som host. De er lidt slemme til bare at opgradere php-versionen til nyere version. Det er ud fra et sikkerhedsmæssigt synspunkt givetvis en god praksis -- men som vedligeholder af et site, kan det godt give lidt bøvl :)
Avatar billede Mad Mester
05. januar 2020 - 12:23 #3
Din løsning hjalp! havde fra start prøvet med [ ] rundt om men det hjalp ikke.
Avatar billede a3-seo.dk Ekspert
05. januar 2020 - 14:55 #4
#2
Min erfaring med Unoeuro og opgradering af php er mere, at de gør det for langsomt, men tror, at de vil være sikre før opgradering! Der er trods alt mange løsninger, der ikke tåler "pludselige" opdateringer, så det er helt fint!

Forøvrigt kan automatisk opgradering slåes fra i kontrol panelet ved UnoEuro.

Ønsker du altid at køre med den seneste PHP version kan du selv, "Presse lidt på" med flg. i .htaccess:

## Holder PHP versionen opdateret ##
AddType application/x-httpd-php-latest .php

NB.: kender du ikke til .htaccess, så rør den ikke ;-)
Avatar billede ejvindh Ekspert
05. januar 2020 - 15:13 #5
#4: Ja, det er jo et stykke af vejen smag og behag :-) -- jeg har mange år været vant til et webhotel, hvor man pr default styrer, hvornår man skifter. Det har den fordel at man aldrig vågner op til et site med den type fejl, som opretter her oplever -- hvilket fra et brugerperspektiv godt kan give en lidt "uprofessionel" oplevelse.

Men det havde (indrømmet) også den ulempe, at man til tider kom til at køre lidt for længe på de gamle versioner, hvilket naturligvis er uhensigtsmæssigt ud fra mange parametre. :-)
Avatar billede arne_v Ekspert
06. januar 2020 - 02:14 #6
PHP 7.2 ændrede udefinerede konstanters forfremmelse til strenge fra en E_NOTICE til en E_WARNING.

Men det har været dårlig kode i 15+ år.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester