webForumDet fria alternativet

Ge variabel värdet true/false via funktion

PHP

9 svar · 328 visningar · startad av Compusa

Medlem sedan jan. 20023 327 inlägg
Frågan#1

Hur skall jag bära mig åt? Denna variabel skall få värdet true eller false från funktionen.

Är det fel på syntaxen $error_field1 eller varför är variabeln tom helta tiden.

phpfil

$error_field1 = (isValidUser($_POST['titel']));

Filen functions

function isValidUser($anvnamn) 
{ 
   global $error_str;
   $return = true; 
   
   if (strlen($anvnamn) < 4 || strlen($anvnamn) > 12) { 
      $error_str .= "1"; 
      $return = false;     
   }
 
   Elseif (!ereg("^[a-zA-Z0-9]+$", $anvnamn)) { 
      $error_str .= "1"; 
      $return = false;
   } 
   return $return;
}
Medlem sedan jan. 20023 327 inlägg
#2

tjena vad dött det var här då!

Medlem sedan apr. 2002830 inlägg
#3

För det första, du skickar med variabeln $_POST['titel'] till funktionen, inte användarnamn, men det kanske bara var lite copy paste fel från din sida.

Testa att köra det såhär istället

function isValidUser($anvnamn) 
{ 
   global $error_str;
   
   if (strlen($anvnamn) < 4 || strlen($anvnamn) > 12) { 
      $error_str .= "1"; 
      return = false;     
   }
   elseif (!ereg("^[a-zA-Z0-9]+$", $anvnamn)) { 
      $error_str .= "1"; 
      return false;
   }
   else { 
      return true;
   }
  }

//Nippe

Medlem sedan okt. 2001538 inlägg
#4

Skall det verkligen vara parenteser här? (fetstilta)

$error_field1 = [b]([/b]isValidUser($_POST['titel'])[b])[/b];

MVH Patrik

/r: Funkade inge bra med webbforumkod innanför php-kodtaggen så bytte till vanliga wf-kodtaggen

Medlem sedan jan. 20023 327 inlägg
#5

nkrantz skrev:

För det första, du skickar med variabeln $_POST['titel'] till funktionen, inte användarnamn, men det kanske bara var lite copy paste fel från din sida.

Spelar det någon roll? $_POST['titel'] skickas ju till funktion isValidUser som fyller $anvnamn med värdet i $_POST['titel']

Medlem sedan apr. 2002830 inlägg
#6

Jo, det är klart, men det förutsätter ju att du har rätt värde i titel, dvs, om du skickar med titelfältet men egentligen vill kontrollera användarnamnet så blir det ju fel...

Medlem sedan jan. 20023 327 inlägg
#7

Så sant, men det är bara ett test de vill säga, jag kör titel i valideringsfunktion som egentligen är menade för användarnamn.

Medlem sedan jan. 20023 327 inlägg
#8

Ingen verkar kunna lösa mitt problem. Full tillgång till hela koden finns här: http://www.phpportalen.net/viewtopic.php?t=24496

någon som kan hjälp mig???

Medlem sedan mars 20034 471 inlägg
#9

Jag antar att du har ett "<? php" först i funktion.php och ett "?>" sist i filen? Annars kommer denna kod ej att tolkas som funktioner. (Men så enkelt är felet säkert inte.)

Medlem sedan maj 20002 993 inlägg
#10

Jag förstår inte riktigt problemet...

Fungerar det inte?

function isValidUser($anvnamn) 
{ 
   global $error_str;
   
   if (strlen($anvnamn) < 4 || strlen($anvnamn) > 12 || !ereg("^[a-zA-Z0-9]+$", $anvnamn))
      $error_str .= "1"; 
      return false;
   } 

   return true;
}

$error_field1 = isValidUser("Användarnamn");
260 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)