Avatar billede mini41 Nybegynder
28. maj 2004 - 07:53 Der er 19 kommentarer og
1 løsning

Hvis var. er tom, så sæt ny var.

Hvordan checker jeg om en variable er tom ?

<? user("account_type");?>  er variablen der skal checkes.



Noget i stil med:

if user(account_type="") {
      then acct="tekst1";
  } else {
      acct="tekst2";
  }
echo acct;
?>

Men hvordan skal det skrives så det er korrekt :)
Avatar billede riversen Nybegynder
28. maj 2004 - 07:56 #1
if( $account_type == "" || !isset( $account_type ) )
  $acct = "tekst1";
else
  $acct = "tekst2";

echo $acct;
Avatar billede dennismp Nybegynder
28. maj 2004 - 08:00 #2
if( empty($account_type) )
  $acct = 'tekst1';
else
  $acct = 'tekst2';

echo $acct;

isset() og empty() er ikke helt ens. (hvis $account_Type='', så vil isset returnerer sandt, hvor empty() vil returnerer falsk)
Avatar billede mini41 Nybegynder
28. maj 2004 - 08:21 #3
Den skriver altid tekst 1, men jeg tror jeg ved hvorfor:

Variablen der skrives ud hedder : <? user("account_type");?>

Så måske skal user med, men jeg prøvede uden held:

if( empty user($account_type) )
  $acct = 'tekst1';
else
  $acct = 'tekst2';

echo $acct;
Avatar billede sostack Nybegynder
28. maj 2004 - 08:34 #4
Har du prøvet med $user["account_type"], da det er måden man accesser arrays i PHP ??

//sostack
Avatar billede mini41 Nybegynder
28. maj 2004 - 08:42 #5
Sådan her ?

if( empty $user(["account_type"]) )
  $acct = 'tekst1';
else
  $acct = 'tekst2';

echo $acct;
Avatar billede sostack Nybegynder
28. maj 2004 - 08:45 #6
if( empty($user(["account_type"])))
{
  $acct = 'tekst1';
} else {
  $acct = 'tekst2';
}

//sostack

echo $acct;
Avatar billede mini41 Nybegynder
28. maj 2004 - 08:48 #7
Parse error: parse error, expecting `')'' in /home/hotfish/public_html/pages/enter.php on line 76
Avatar billede zeled Nybegynder
28. maj 2004 - 09:15 #8
Det ser ud som om at du vil have noget som vi andre ikke kan gennemskue.

Er user en variabel eller function ?

Function:

function user($acctype=0)
{
  if (!empty($acctype)) $txt="Text 1";
  else $txt="Text2";
  echo $txt;
}

user("account");
Avatar billede mini41 Nybegynder
28. maj 2004 - 09:22 #9
Jeg kan godt forstå i ikke kan gennemskue det, det kan jeg heller ikke :)


Men,,, 'user' er en funktion og 'account_type' er en var.
Avatar billede zeled Nybegynder
28. maj 2004 - 09:30 #10
Hvis du kigger her: http://www.zd-webhost.dk/mini41.php så kan du se at det virker :)
Avatar billede mini41 Nybegynder
28. maj 2004 - 09:39 #11
zeled: siden skriver:

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /www/zd-webhost.dk/www/mini41.php on line 9
Avatar billede zeled Nybegynder
28. maj 2004 - 09:39 #12
prøv igen.... rettede lidt i det :)
Avatar billede mini41 Nybegynder
28. maj 2004 - 09:40 #13
zeled, jeg skulle lige reloade siden så virkde det.

Hvilken kode har du brugt ?
Avatar billede zeled Nybegynder
28. maj 2004 - 09:41 #14
<?php
function user($acctype)
{
  if (!empty($acctype)) $txt="Text 1";
  else $txt="Text 2";
  echo $txt."<br><font size=1>Issued on ".date("d-m-Y H:i.s",mktime())."</font>";
}

user($_POST['test']);
?>
<form method="post" action="mini41.php">
Test med: <input type="text" name="test">
<input type="submit" name="send" value="Send">
</form>
Avatar billede zeled Nybegynder
28. maj 2004 - 09:42 #15
Der er kun 1 problem med empty()

Hvis du taster 0 så vil empty returnere false
Avatar billede mini41 Nybegynder
28. maj 2004 - 09:43 #16
Hvordan får jeg strikket det sammen så det virker med min variable ?
Avatar billede mini41 Nybegynder
28. maj 2004 - 09:46 #17
Det er ikke noget problem for feltet er enten tomt eller fyldt med en tekst.

Grunden til jeg skal bruge dette er at jeg har en db med ca. 3000 medlemmer, nogle af disse medlemmer er 'goldmembers' andre er ingen ting og ingen ting = tomt felt.

Jeg kunne selvfølgelig fylde feltet 'account_type' i min db, det har jeg prøvet manuelt :)

Jeg ved ikke hvordan det ellers gøres (er ikke vild med at rode med db'en )
Avatar billede zeled Nybegynder
28. maj 2004 - 10:08 #18
og hvad skal der ske hvis de er goldmembers ? og hvis de ikke er?
Avatar billede mini41 Nybegynder
28. maj 2004 - 10:17 #19
Hvis der er skrevet i feltet 'account_type' skal DENNE tekst skrives, ellers skal der skrives 'basic member'

Her er noget af mit script og hvor det skal puttes ind :



<table width="100%" border="1" bgcolor="#f8f8f8">
<tr>
<td align="center" bgcolor="gray"><font size="2"><b><font color="#FFFFFF">Member status</font><br>
<font color="#FFFFFF"></font></b></font></td>
</tr>
<tr>
<td align="center"> <font color="gold"><b>
<?

HER SKAL TEKSTEN SKRIVES

?>
</font></td></b>
</tr>
</table>


NB: Scriptet bruges på 1hotfish.com, du kan evt. oprette en konto og se hvor det skal bruges.
Avatar billede mini41 Nybegynder
28. maj 2004 - 10:18 #20
NB: Hvis det er muligt ville det jo være smart, hvis brugeren er basic member at der kom et link frem til filen (gold.php)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester