lege string geeft /

Status
Niet open voor verdere reacties.

nosmaS

Gebruiker
Lid geworden
22 mrt 2007
Berichten
77
hoi

ik heb mijn variabelen gedeclareerd en wanneer ik deze opvraag geven deze de juiste waarden
behalve al deze een lege string bevatten zoals initeel dan geven deze een voorwaardse slash "/" iemand een ideetje of moet ik met een if werken?
PHP:
<?php
global $conName;
global $conMail;
$conName = "";
$conMail = "";
?>

<input type="text" name="visitor" size="35" value= <? echo $conName; ?> />
<input type="text" name="visitormail" size="35" value= <? echo $conMail; ?> />
alvast bedankt
 
Laatst bewerkt door een moderator:
Je bent de quotes rondom de value tag vergeten, dus de browser moet maar een beetje gokken. Verder gebruik je de globals op een verkeerde manier dus die kun je, in dit geval, weglaten. Probeer het eens met
PHP:
<?php
	$conName = "";
	$conMail = "";
?>
<input type="text" name="visitor" size="35" value="<? echo $conName; ?>" />
<input type="text" name="visitormail" size="35" value="<? echo $conMail; ?>" />
 
jep bedankt de quotes
stom maar dodelijk

de globals zijn weldegelijk nodig
ze staan oa niet in dezelfde file
maar thanx man
 
Je hoeft ook nog geen globals te gebruiken als je variabelen in een andere file staan...

Een reden voor het gebruik van globals is bijvoorbeeld als je je variabelen in een functie wilt betrekken...
 
En dan klopt er waarschijnlijk iets niet in je logica.
 
"rolt met de ogen"

Nou ja, als 't zo moet. Je geeft namelijk aan dat je het doet omdat ze niet in dezelfde file staan... :rolleyes: En als je ze binnen een functie wilt gebruiken, dan zet je het global-keyword ook binnen de functie.
 
Als je globals binnen een functie gebruikt, klopt er waarschijnlijk inderdaad iets niet in je logica, dat hoort niet het geval te zijn :P
 
En dat slaat dus nergens op.

PHP:
$a = 1;
$b = 2;

function Sum()
{
    global $a, $b;

    $b = $a + $b;
} 

Sum();
echo $b;

Een functie hoort iets te returnen. Een functie 'sum' hoort dus de som van variabele X en Y te returnen.

Dit is wat mij betreft de enige juiste toepassing:

PHP:
function Sum($a, $b){

  return $a + $b;

}

echo Sum(1, 2);

// 3

Zo kun je wel voor elke functie 'gewoon' globals gebruiken, nooit meer arguments nodig.
 
Jouw manier is ook de manier die ik normaal gesproken gebruik.

Maar als de TS eens wat meer code post, kunnen we (/jullie ;)) hem misschien ook van het gebruik van globals afhelpen.
 
PHP:
function Sum($a, $b){
Daarin geef je een variabele mee aan de functie terwijl het bij globals juist de bedoeling is om ze één keer buiten de functie te defineren en daarna simpelweg op te roepen ipv ze elke keer mee te geven wanneer je de functie oproept.

Op dit forum gaan de vragen vaak om eenvoudige zaken zoals een website genereren dus dan zul je een functie hooguit een paar keer oproepen. Bij grotere php applicaties kan het voorkomen dat een functie veel vaker wordt opgeroepen en elke keer opzoeken welke variabelen je moet meesturen kan dan vervelend zijn. Als je in zo'n situatie vaak of altijd dezelfde variabelen mee stuurt, is het tijd om een global te gebruiken.

De opmerking dat een function iets hoort te returnen slaat ook nergens op. Functions zijn er om ervoor te zorgen dat bepaalde stukken code alléén uitgevoerd worden als dat nodig is (php kan hierdoor sneller door de code heen werken en een resultaat geven, vooral als je een cache gebruikt) óf om bepaalde herhalingen in de code te voorkomen en daarmee de code te vereenvoudigen (voornaamste voordeel is leesbaarheid en lengtebeperking van de code).
 
Ik bouw grote(re) applicaties maar gebruik het echt nooit, maar ik programmeer ook alleen OOP, dus dan heb je dat sowieso niet nodig.
 
Daarin geef je een variabele mee aan de functie terwijl het bij globals juist de bedoeling is om ze één keer buiten de functie te defineren en daarna simpelweg op te roepen ipv ze elke keer mee te geven wanneer je de functie oproept.

Op dit forum gaan de vragen vaak om eenvoudige zaken zoals een website genereren dus dan zul je een functie hooguit een paar keer oproepen. Bij grotere php applicaties kan het voorkomen dat een functie veel vaker wordt opgeroepen en elke keer opzoeken welke variabelen je moet meesturen kan dan vervelend zijn. Als je in zo'n situatie vaak of altijd dezelfde variabelen mee stuurt, is het tijd om een global te gebruiken.

De opmerking dat een function iets hoort te returnen slaat ook nergens op. Functions zijn er om ervoor te zorgen dat bepaalde stukken code alléén uitgevoerd worden als dat nodig is (php kan hierdoor sneller door de code heen werken en een resultaat geven, vooral als je een cache gebruikt) óf om bepaalde herhalingen in de code te voorkomen en daarmee de code te vereenvoudigen (voornaamste voordeel is leesbaarheid en lengtebeperking van de code).

Hoe je het ook wendt of keert, het is bad design wat betreft wat functies zijn en hoe ze horen te werken ;)

Dat het werkt en dat mensen het doen, maakt het nog niet waarvoor ze bedoelt zijn.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan