Avatar billede nbj1 Praktikant
27. maj 2008 - 17:01 Der er 10 kommentarer og
1 løsning

if else sætning

som jeg forstår det, går man kun ind i en if sætning hvis betingelsen er opfyldt, men min else bliver udskrevet inden betingelsen er opfyldt, det forstår jeg ik.

if(isset($db_name)){
print "<td>".$db_name."</td>";
print "<td>".$_POST['username']."</td>";
}else{
print "no"; <-- udskrives ved åbning af siden.
}
Avatar billede sone Nybegynder
27. maj 2008 - 17:43 #1
det er vel fordi at "isset($db_name)" evaluerer til false..?
Avatar billede nbj1 Praktikant
27. maj 2008 - 17:46 #2
ja naturligvis da den er ikke udført endnu.
Avatar billede dkfire Nybegynder
27. maj 2008 - 21:23 #3
Hvad er ikke udført ??
Hvad forventer du den skal gøre og hvorfor ??

Som jeg læser det, så forventer du at php først kører din if-sætning efter du senere i din kode har sat $db_name. Men sådan virker php ikke, den kan slet ikke vide at den skal vente med at kører noget kode senere end andet kode, med mindre det er skrevet senere i filen.
Avatar billede nbj1 Praktikant
27. maj 2008 - 21:38 #4
$db_name er ikke udført og hvis jeg ikke tager meget fejl betyder nettop isset at hvis den har en værdi, udfør dette ok så går det galdt med else print no, så enten skal man have en elseif ind eller så skal det kodes på en bedre måde.
det jeg gerne vil er når man trykker på en knap som nu virker så blver der foretaget en forespørgsel i mysql og deraf fremkommer $db_name, navn fra databasen, de 2 print i if sætningen var bare en kontrol af de virkede, så det er ok, har sat noget andet ind der, men det der var meningen var hvis den nu ikke fandt noget i db, alså navn var ikke lig med det indtastede, så print dit navn er forkert prøv igen.
Avatar billede olebole Juniormester
27. maj 2008 - 21:42 #5
<ole>

Jeg tror, det er sætningen "$db_name er ikke udført", dkfire ikke forstår. Den giver nemlig ikke mening i PHP-sammenhæng. Hvad mener du med 'udført'? Hvor kommer variablen fra - og hvordan?

/mvh
</bole>
Avatar billede dkfire Nybegynder
27. maj 2008 - 21:49 #6
Ok, tror vi bliver nød til at se HELE din kode for at kunne hjælpe dig på rette vej. For det lyder som om at dette spørgsmål lægger sig meget op ad et tidligere spørgsmål.
Avatar billede nbj1 Praktikant
27. maj 2008 - 22:49 #7
takker for indlæg, men har fundet løsningen takker
Avatar billede dkfire Nybegynder
27. maj 2008 - 23:48 #8
Tag det ikke som en kritik, men de sidste par spørgsmål du har stillet har du selv svaret på og det største problem ved dine spørgsmål har været at du ikke har været særlig konkret i din formulering af spørgsmålene.
Du bør derfor næste gang du stiller et spørgsmål forsøge at være mere konkret og bedre forklarende. Dernæst bør du lægge HELE din kode, som dit spørgsmål omhandler, frem, således vi bedre kan se hvad du laver og hvad vi skal ændre/rette til.
Avatar billede nbj1 Praktikant
28. maj 2008 - 07:37 #9
nej det er ok dkfire, det bare nogen gange svært at beskrive det så alle kan forstå det, da man selv kun har en vag ide om hvordan det, 1 er man ikke kender alle muligheder som findes i php, 2 det gør nogen gange ens oprendelige ide bliver revideret nogen gange til det bedre/ringere, eller også kræver det noget kode man slet ikke har tænkt på.
men naturligvis, hvis man skal have hjælp skal det være, i klart sprog og med kode.
ok jeg har været heldig de sidste par gange at løse det selv, det jo godt nok men da jeg stillede spørgsmålet, syntes jeg at jeg var løbet tør for ideer.
eks. det sidste jeg fik lavet igår går udover dette spørgsmål, så derfor ville nogen brokke sig over at det ikke vedrører det op rendelig spørgsmål men ok her er det.

if(isset($db_name)AND (isset($_POST['username']))){ <-ok
$id1 = $id; <- test
//$gem = $db_name.$id; <-test
    echo  "<td colspan='2'></td><td><input class='login_ok' type='submit' name='submit2' value='Save'></td>"; <-ok
}
if(isset($_POST['lost_parool2'])AND (isset($_POST['submit2']))) { <-ok
?><input type="hidden" name="id" value="<?php echo $id; ?>"><?
echo $id1; <- test fanger ikke id for den psot mere, efter første submit er id væk ?
echo $_POST['lost_parool2']; < -ok
$parool = md5($password); <- ok
//$sql=("UPDATE kasutajad SET parool = '" .$parool. "' WHERE id = '" .$_POST['id'] ."'"); <- ok
print $sql; <- test egenligt ok men magler id for at have succes ?

mysql_query($sql) or die(mysql_error());
mysql_close();
           
      print '<p>'.safe_display($word_312).'</p>'; <- ok
}

      ?>
men som jeg kom i tanke om, lol mens jeg sov var, at det egenligt ikke er godt nok da hvis man får fat i bruger navn kan man bare lave password om og så logge ind med det ny password ren skidt så enten skal man have genereret en hemmelig kode, der fremsendes med mail, som man skal bruge til at aktivere sit password, eller man skal fjerne det med indtastning direkte og bare lave en autokode udfra md5 som sendes til deres mail box, lidt i tvivl.
giver det nogen mening dkfire _?
Avatar billede nbj1 Praktikant
28. maj 2008 - 07:53 #10
ved ikke om du kan se udaf koden hvad der sker.
1 tester om db_name er i databasen og man har tastet et bruger, hvis de to betingelser er opfyldt fromkommer en tekst fra en form (er ikke vidst her) men er bare eks ok eller nej for kendt brugernavn, some det der står som safe_safe($word_xx)
hvis brugernavn er ok kommer submit save frem med 2 boxe fra form hvor man kan taste nyt password ind.
2. som så gemmes i mysql
kan ses på http://c2chat.com under password
Avatar billede dkfire Nybegynder
28. maj 2008 - 17:22 #11
Altså kan du ikke vise HELE din kode, det du viser der giver ingen mening for mig. Jeg kan ikke ud af det se at du tjekker nogen som helst i databasen.
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