[php] echo variable vaag

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • pietje63
  • Registratie: Juli 2001
  • Laatst online: 08:18
Ik had een probleem met het doorsturen van $_SESSION['login'] en ben toen gaan testen toen bleek dat van onderstaande alleen de laatste 3 werken
PHP:
1
2
3
4
5
echo "$_SESSION['login']";
echo ("$_SESSION['login']");
echo $_SESSION['login'];
echo ($_SESSION['login']);
echo ("$session");

dat de laatste werkt komt door de instellingen van de server
maar kennelijk werken de $_SESSION variabelen dus niet icm " ik weet dat ik op sommige punten niet altijd script zoals het hoort, maar ben gewend om altijd te echo-en met
PHP:
1
echo ("$var");

Is dit nou 'fout' ?

edit:
het valt me nu ook op dat bij de php highlighting hier op GoT een groot verschil te zien is

[ Voor 19% gewijzigd door pietje63 op 27-06-2003 18:38 ]

De grootste Nederlandstalige database met informatie over computers met zoekfunctie!!


Acties:
  • 0 Henk 'm!

  • Snow_King
  • Registratie: April 2001
  • Laatst online: 12:38

Snow_King

Konijn is stoer!

uhm, ik echo ook altijd zo?

Voor een variabel alleen
PHP:
1
echo($var);


tekst en var
PHP:
1
echo("<p>$var</p>");


niets mis mee dus?

Acties:
  • 0 Henk 'm!

  • Kaasplank
  • Registratie: Februari 2001
  • Niet online
PHP:
1
2
3
echo $var;

echo "<p>".$var."</p>";


* Kaasplank is liever lui dan moe

Acties:
  • 0 Henk 'm!

Verwijderd

Voor de eerste 2:
PHP:
1
2
echo "{$_SESSION['login']}"; 
echo ("{$_SESSION['login']}");


Kijk ook hier eens: [rml][ PHP] variabele naam variabele *[/rml]

Analoog voordbeeldje:
PHP:
1
2
3
4
5
6
function functie() { echo "hoi"; }

$functieNaam = "functie()";

$functieNaam; /* dit doet niets */
{$functieNaam}; /* dit roept de functie 'functie' op */


Voor dit laatste bestaat er een eigen functie van php (die ook daarvoor geschikt is, want dit is maar brakke code), maar die weet ik niet vanbuiten. Het is louter om een voorbeeldje te geven ;)

[ Voor 119% gewijzigd door Verwijderd op 27-06-2003 18:54 ]


Acties:
  • 0 Henk 'm!

  • ludo
  • Registratie: Oktober 2000
  • Laatst online: 26-04-2024
PHP:
1
2
echo "{$_SESSION['login']}";
echo ("{$_SESSION['login']}");
Deze werken waarschijnlijk wel...

[ Voor 24% gewijzigd door ludo op 27-06-2003 18:53 . Reden: spuit elf ]


Acties:
  • 0 Henk 'm!

Verwijderd

Ik script altijd met ' ipv met ", opzich maakt het niet veel uit, maar het is wel het beste en het meest overzichtelijkste naar mijn mening.

Verder is echo'en met "$var"; of '$var'; fout!
PHP ziet het niet als een fout, maar het hoort niet zo.
Ik denk als je error_reporting( E_ALL ); doet dat hij dat wel als een error ziet!

Acties:
  • 0 Henk 'm!

  • supakeen
  • Registratie: December 2000
  • Laatst online: 09-09 14:42
Verwijderd schreef op 27 juni 2003 @ 18:55:
Ik script altijd met ' ipv met ", opzich maakt het niet veel uit, maar het is wel het beste en het meest overzichtelijkste naar mijn mening.

Verder is echo'en met "$var"; of '$var'; fout!
PHP ziet het niet als een fout, maar het hoort niet zo.
Ik denk als je error_reporting( E_ALL ); doet dat hij dat wel als een error ziet!
Alles tussen single-quotes wordt niet geparsed op variabelen. Als je wel een variabele ertussen hebt staan moet je die even concatenaten :)

Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op 27 juni 2003 @ 18:55:

Verder is echo'en met "$var"; of '$var'; fout!
PHP ziet het niet als een fout, maar het hoort niet zo.
Ik denk als je error_reporting( E_ALL ); doet dat hij dat wel als een error ziet!
Het is helemaal niet fout, waar haal je dat vandaan? Ik raad het wel af omdat de code er vaak niet veel duidelijker op wordt als je de variabelen binnen een string zet.

Acties:
  • 0 Henk 'm!

  • mocean
  • Registratie: November 2000
  • Laatst online: 04-09 10:34
echo is volgens mij een construct, geen functie, dus de aanroep is
PHP:
1
 echo "test";

i.p.v.
PHP:
1
 echo("test");


Waarschijnlijk werkt dit wel:
PHP:
1
 echo $_SESSION["login"];


Deze weet ik niet zeker:
PHP:
1
 echo "$_SESSION[\"login\"]";

Koop of verkoop je webshop: ecquisition.com


Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

pietje63 schreef op 27 June 2003 @ 18:37:
Ik had een probleem met het doorsturen van $_SESSION['login'] en ben toen gaan testen toen bleek dat van onderstaande alleen de laatste 3 werken
PHP:
1
2
echo "$_SESSION['login']";
echo ("$_SESSION['login']");
Die twee werken prima, echter de kans dat jij een entry met de naam 'login' (en dus niet login, maar die ' eromheen) in je $_SESSION array hebt is niet zo groot en ja, dan levert het een lege string op :)

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 12:54

Bosmonster

*zucht*

mocean schreef op 27 June 2003 @ 19:29:
echo is volgens mij een construct, geen functie, dus de aanroep is
[...]
Bij een construct HOEF je geen haakjes te gebruiken, maar het mag wel gewoon ;)

Acties:
  • 0 Henk 'm!

  • kvdveer
  • Registratie: November 2000
  • Laatst online: 07-11-2023

kvdveer

Z.O.Z.

Bosmonster schreef op 28 June 2003 @ 12:06:
[...]


Bij een construct HOEF je geen haakjes te gebruiken, maar het mag wel gewoon ;)
Die stelling is onjuist. Constucts hebben alleen haakjes als die in de construct gedefinieerd zijn (zoals for, if en while). Als die niet gedefinieerd zijn (zoals else, include en echo) mag je geen haakjes gebruiken, want dan krijg je een parse error.
Je mag echter wel haakjes om je parameter zetten... ;-)

Probeer maar eens:
PHP:
1
2
echo "abc","def";
echo ("ghi","jkl");

Localhost, sweet localhost

Pagina: 1