Archief - probleem met if/else statements

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

demon326

Legacy Member
Ik heb een simpele check om te zien of iemand ingelogd is of niet, deze werkt, maar voor ingelogde gebruikers moet ik een andere boodschap tonen met iets dat data ophaalt en dan die info toont, het is dit laatse waar ik vast zit:unsure:


Mijn huidige en dus niet werkende code:
PHP:
<?php global $user;if (!$user->uid){print '<div class="messages error"><h4 class="alert-heading logged_out">Oops!</h4><p>tekst hier</p></div>';}else{

//hier zit ik dus vast! Hij haalt de info niet op waardoor er niets kan gebeuren
//een elsif plaatsen ipv else werkt ook niet..
(arg(0) == 'node' && is_numeric(arg(1))) {  $nid = arg(1);print '<a class="btn" href='/node/add/album&field_band[]=$nid'>Voeg een album toe!<a/>';} ?>

Dieterg

Legacy Member
Wat bedoel je juist met 'hij haalt niets op waardoor er niets kan gebeuren'? Vanwaar moet die info komen?

Kan je die 'info' niet gewoon in uw else tag ophalen en weergeven?

PHP:
<?php global $user;
if (!$user->uid) {
	print '<div class="messages error"><h4 class="alert-heading logged_out">Oops!</h4><p>tekst hier</p></div>';
} else { 
	arg = get_data();

	if(arg[0] == 'node' && is_numeric(arg[1])) {  
		$nid = arg[1]
		print '<a class="btn" href='/node/add/album&field_band[]=$nid'>Voeg een album toe!<a/>';
	} else {
		//doe iets anders 
	}
}
?>

demon326

Legacy Member
Mam zei:
Wat bedoel je juist met 'hij haalt niets op waardoor er niets kan gebeuren'? Vanwaar moet die info komen?

Kan je die 'info' niet gewoon in uw else tag ophalen en weergeven?

PHP:
<?php global $user;
if (!$user->uid) {
	print '<div class="messages error"><h4 class="alert-heading logged_out">Oops!</h4><p>tekst hier</p></div>';
} else { 
	arg = get_data();

	if(arg[0] == 'node' && is_numeric(arg[1])) {  
		$nid = arg[1]
		print '<a class="btn" href='/node/add/album&field_band[]=$nid'>Voeg een album toe!<a/>';
	} else {
		//doe iets anders 
	}
}
?>


Die info komt van drupal uit en werkt als ik het buiten een if statement plaats, maar binnen het if statement wilt het niet werken..

Script haalt gewoon de nid(node id) uit de database en plaatst die achter de url zodat het juiste veld op de pagina al ingevuld is... Echter moet dat in een if/else statement zitten zodat niet account hebbers een melding krijgen dat ze ingelogd moeten zijn, andere moeten gewoon die link krijgen....

uw voorbeeld werkt dus niet.. :(

demon326

Legacy Member
Tyfius zei:
Welk gedeelte werkt er niet? Uw check of de gebruiker de anonymous user is? Dat doe je trouwens best met user_is_anonymous.

Het tweede deel werkt niet, hij krijgt de arg niet door als hij binnen het else statement zit, er buiten wel...

Ik zal het verduidelijken: Als de gebruiker ingelogd is, moet hij dit tonen:
PHP:
<a class="btn" href='/node/add/album&field_band[]=$nid'>Voeg een album toe!<a/>'
anders gewoon een foutmelding door mij gezet...
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan