Ik loop tegen een voor mij vreemd probleem aan n.l.
Ik lees een record uit een tabel en print deze met print_r($row) opdracht en zie dan
Array
(
[pk_user] => 1234567894
[usr_email] => [email protected]
[usr_fullname] => Harry H. Arends
[usr_firstname] => Harry H.
[usr_surname] => Arends
[usr_name] => gharryh1957
[password] => a25d8fb18247b623a828498da5078cc2c39cf6364d52989289c7568f53dc4193
[usr_street] => Bonairestraat 13
[usr_streetextra] => 0
[usr_zip] => 7521VG
[usr_city] => Enschede
[usr_birthday] => 0000-00-00
[country_code] => NL
[usr_country] => Netherlands
[usr_ip] =>
[usr_nmb_logins] => 0
[usr_signup_date] => 2017-09-11 19:17:57
[usr_userid] =>
[usr_confirm_hash] => 756245e2a3a15b514b83de6b2e4f33d9b1c44e610b9b1a700f5d8e8917d236b1
[usr_is_confirmed] => 0
[usr_resetpassword_hash] =>
[usr_is_blocked] => 0
[usr_is_admin] => 0
)
dus het record is gelezen en aanwezig. Nu wil ik één waarde eruit tonen met
            Welkom <?php $row[usr_fullname];
            echo '<pre>'; print_r($row);echo '</pre>'; ?>
en krijg dan deze foutmelding
Notice: Use of undefined constant usr_fullname - assumed 'usr_fullname' in /home/harry-arends.nl/public_html/event_2018/php/confirm.php on line 70
pas ik het aan met single quotes
$row['usr_fullname'];
wordt er niets getoond,vreemd
Welkom <?php $row["usr_fullname"]; ipv Welkom <?php $row[usr_fullname];
Jacco; TS geeft al aan dat wanneer hij de single quotes gebruikt er niks getoond word.
Zoals Ariën al aangeeft, ontbreekt er een echo ;-)

Edit:
Als ik mij niet vergis; kan het wel zo:

Welkom <?=$row['usr_fullname']; ?>

Dan zou short_open_tag op enabled moeten staan, dit is sinds PHP 5.4.0 standaard actief

Edit: Zie tevens: http://www.php.net/manual/en/language.basic-syntax.phpmode.php
"Starting with PHP 5.4, short echo tag <?= is always recognized and valid, regardless of the short_open_tag setting. "
<?= is inderdaad vanaf 5.4.0 los gehaald van de instelling 'short_open_tag'.

Verder raad ik mensen aan om in andere gevallen altijd <?php te gebruiken, voordat door een serverfout je code op straat ligt.

Met <?= kan je direct een string echo'en in PHP. Handig in blokken met HTML en templates dus. Maar een echo kan natuurlijk ook.
Elmar vH op 13/09/2017 09:17:29

Jacco; TS geeft al aan dat wanneer hij de single quotes gebruikt er niks getoond word.
Zoals Ariën al aangeeft, ontbreekt er een echo ;-)


Zag het inderdaad later (iets met te snel lezen :P) maar had geen tijd om het te corrigeren

Reageren