13-7-2018

Beste phpHelpdeskers,

Ik ben klant van Mijndomein. Mijndomein heeft een aantal dagen geleden mijn website rspp.nl overgezet naar een nieuw platform php vs 7.1. Mijn phpscripts ondersteunen dat nog niet. Er is een mogelijkheid bij Mijndomein om het platform terug te zetten naar vs 5.6, wat ik ook heb gedaan. Begin 2019 komt PHP 5.6 te vervallen.
Wat ik nu niet begrijp is dat ik ineens die foutmelding(en) krijg ná het vernieuwen van het platform. Het script is sinds twee jaar niet gewijzigd en werkte uitstekend.
Sinds het nieuwe platform er is, stonden er drie fouten op mijn website die inmiddels zijn opgelost. Daarna kreeg stond er weer eentje welke ik niet kan oplossen.

•Notice: Undefined variable: weg in /home/public/sites/www.rspp.nl/library/puchfunctions.php on line 336

Het betreft een voorwaardelijke uitdrukking if ($weg == 0)
Is hier een andere vergelijking voor in php5.6?

Misschien dat u mij hierbij verder kan helpen? Alvast hartelijk bedankt.

Met vriendelijke groet,

Margot Schuitemaker

<?=$artno;?>
<br>
<a href="http://rspp.nl/detail.php?<?=$art_id;?>" class="groen" {
      text-decoration: underline;
      font-family: Verdana, Arial, Helvetica, sans-serif;
      font-size: 10pt;
      color: #808000;
} target="_self">
<?=$plaatje;?><br>
<?=$art;?></a><br>

Ik bestel

<!--GEWIJZIGD MET HULP VAN FORUM PHPHULP 2 MEI 2015-->

<select name="invoer<?php echo $i ?>" id="invoer<?php echo $i ?>" onChange="document.forms['guestform'].submit();"><?php
for ($q=0; $q < 10; $q++) {
    // geselecteerd getal voor item $i=0
    $selectedValue = isset($aantal[$i]) ? $aantal[$i] : 0;
    //Dit is de huidige optie
    $selected = ($selectedValue == $q ? ' selected="selected"' : '');
    // ingeval het aantal gelijk is aan 0 willen we "&nbsp;" afdrukken in plaats van het aantal
    $label = ($q == 0 ? '&nbsp;' : $q);
    ?><option value="<?php echo $q ?>"<?php echo $selected ?>><?php echo $label ?></option><?php
}
?></select> 

&#224;
<?=maakeuros($prijs);?>
<br>
<strong>Voorradig: <?=$voorraad;?></strong>



Ik ga verder met proberen, hopelijk lukt het mij voor 1 november a.s. anders is het jammer.
Ik zie in deze code niet echt dingen dia anders zijn in PHP 7.

Notices met meldingen zoals dit zijn vaak geen oorzaak van nieuwe PHP-versies:
"Undefined variable 'blah' in /blah/bla/script.php"

Enkel de fout-reporting staat anders ingesteld. Uiteraard is het wel de bedoeling dat deze fouten worden opgelost
Je gebruikt wel een mengvorm van:
<?= ... ?>

en
<?php ... ?>

Ik zou dat omschrijven naar één variant waarbij de laatste waarschijnlijk de voorkeur heeft (uit oogpunt van compatibiliteit). Alle instanties van:
<?= ... ?>

zul je dan om moeten zetten naar
<?php echo ...; ?>

Bedankt Thomas en Ariën, idd ik had daar helemaal overheen gekeken :) (Y)
Great job

** quoteknip**

Mike waarom alles quoten?
Hallo allen,

Twee dagen geleden ben ik bezig om mijn scripts aan te passen naar het advies van Thomas van den Heuvel, het gelijk trekken van <?php . . . ?> en <?php echo . . . ?> Mijn website staat in mijndomein op php5.6 Ik kan het wijzigen in php7.1 en 7.2. Telkens wanneer ik iets heb gewijzigd in mijn scripts en het bestand heb overgezet via sftp, kijk ik op mijn website of alles nog werkt. Dat gaat prima. Vervolgens kijk ik weer op mijn website en zie een wit scherm. Volgens mij is mijn website uit lucht. Ik heb al 2 tickets aangemaakt in de helpdesk van mijndomein, maar geen antwoord van hen gekregen. Ik heb mijn mailtjes van hen nagekeken en daar staat in dat ze per 1 november php5.6 niet meer ondersteunen en dat php5.6 per 1 januari 2019 komt te vervallen. Wat kan ik hier aan doen?

Met vriendelijke groet,
Margot Schuitemaker

Als je een wit scherm krijgt, dan heb je blijkbaar een fout in je script, waarbij de foutmeldingen uit zijn geschakeld.

Je kan hiervoor error_reporting en display_errors aanzetten in je configuratie (vaak .htaccess of php.ini) of bovenstaande aan je code toevoegen.


<?php
error_reporting(E_ALL);
ini_set('display_errors',1);
?>


En dan zal je zien wat er fout gaat. Ook kan je dit eventueel in je error_log vinden.
Je webhosting kan wel vertellen waar die staat als je dit niet kan vinden.

Bij welke aanpassing gaat je site precies offline?
Tip: Maak backups van alles wat je aanpast.
Nee, bij elke aanpassing keek ik of mijn site nog actief was.
Ja, ik maak backups.
Ik kan mijn logs mijn errors zien.

Hartelijke bedankt weer!
Gaat het zo weer lukken om de fouten op te lossen? Zo niet, laat even weten welke foutmeldingen je krijgt, en de bijbehorende regels / aanpassingen.

Reageren