abonnement Unibet Coolblue Bitvavo
pi_64890055
Bij een IF Isset word gekeken of de variabele die je aangeeft (in jouw geval $value) een waarde heeft.
Dit kun je bijvoorbeeld gebruiken om te controleren of iemand op de Submit knop heeft gedrukt o.i.d.

Ik gebruik liever empty.
Bodybuilding #1
Hardlopen #2
pi_64891439
quote:
Op zaterdag 10 januari 2009 17:07 schreef GlowMouse het volgende:

[ code verwijderd ]
Je vergeet nog de lege string en de lege array
pi_64891594
quote:
Op zaterdag 10 januari 2009 17:12 schreef Kerol het volgende:
Bij een IF Isset word gekeken of de variabele die je aangeeft (in jouw geval $value) een waarde heeft.
Dit kun je bijvoorbeeld gebruiken om te controleren of iemand op de Submit knop heeft gedrukt o.i.d.

Ik gebruik liever empty.
empty en isset zijn niet helemaal elkaars tegenpolen. Een variabele kan best een waarde hebben (isset) en toch leeg zijn (empty).
pi_64891918
1
2
3
4
5
6
7
8
9
<?php
$a 
'a random string';
$b 0;
 
if ( 
$a == true && $b == false && $a == $b )
{
    die ( 
'The universe is broken' );
}
?>
pi_64892071
quote:
Op zaterdag 10 januari 2009 16:35 schreef cablegunmaster het volgende:
ik heb nu alles werkend behalve het toevoegen.
hoe krijg je dat een form submit en dan insert?
ik zit nu namelijk met dat hij niet wil toevoegen.
hij kan de database wel connecten.

<?php
if (isset($_POST['submit'])){
<inc 'connect.php' >
$submit = "insert into reis
(bestemming )
values ( ' ".strip_tags($_POST['bestemming']." ' )" ;

$voegtoe = mysql_query($submit) or die (mysql_error ());

} else {
?>
<html>
<body>
<form action="<?php echo($_server["php_self"]);?> method="post">
<input type="text" name="bestemming">
<input type ="submit" name="submit" value="verzenden">
<input type="reset" name="reset" value="leegmaken">
</form>


Volgens mij mist hier sowieso een haakje sluiten voor de else ?
pi_64892171
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
if ((int)0) {
    echo 
" int 0 is true ";
} else {
    echo 
" int 0 is false ";
}

if ((string)
"0") {
    echo 
" string 0 is true ";
} else {
    echo 
" string 0 is false ";
}

if ((string)
"wat dan ook maar niet 0") {
    echo 
" n.e. string is true ";
} else {
    echo 
" n.e. string is false ";


if ((string)
"watdanook" == (int)0) {
    echo 
" n.e. string is equal to int 0 ";
} else {
    echo 
" n.e. string is not equal to int 0 ";
}
?>


;(
pi_64892697
omg waar heb je dat gevonde?
pi_64892849
Dit heb ik in de Fucking Manual gevonden. PHP is echt een brak kuttaaltje.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
var_dump
(== "a"); // 0 == 0 -> true
var_dump("1" == "01"); // 1 == 1 -> true
var_dump("1" == "1e0"); // 1 == 1 -> true

switch ("a") {
case 
0:
    echo 
"0";
    break;
case 
"a"// never reached because "a" is already matched with 0
    
echo "a";
    break;
}
?>



OMFG.
pi_64894162
hoe zit het eigenlijk als ik plaatjes wil submitten ?

bvb een input file en dan submit

uiteindelijk geeft hij avatar.png weer input was C:\YYYY\avatar.png
maar hij slaat hem zo niet op als C:\YYYY\avatar.png

kan dit anders? of dat hij hem bij de httdocs neerzet, want dat doet hij ook niet.
Redacted
  zaterdag 10 januari 2009 @ 19:22:11 #35
75592 GlowMouse
l'état, c'est moi
pi_64894256
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_64894519
In navolging van Farenji:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
if(isset($_POST['code']))
{
  
$code preg_replace("/[^a-zA-Z0-9s]/"''strtolower(trim($_POST['code'])));
  
$result $db->query("SELECT iets FROM tabel WHERE code = '"$db->real_escape_string($code) ."';");

  if(
$result->num_rows) {
    
// doe iets
    
header('Location: http://het.is.gelukt.nl/pagina.html');
    exit;
  } else {
    echo 
'Je code is onjuist.';
    exit;
  }

  echo 
'Oké... wat nu?';
}
?>


Ik weet niet hoe en ik heb er geen verklaring voor, maar bij sommige bezoekers van mijn site werd "Oké... wat nu?" op het scherm gezet .

PS: uiteraard had ik er wat anders/netjes van gemaakt, maar het gaat om het idee. Dit is echt het meest vage wat ik tot nu toe met PHP ben tegen gekomen.
  zaterdag 10 januari 2009 @ 19:36:21 #37
75592 GlowMouse
l'état, c'est moi
pi_64894751
quote:
Op zaterdag 10 januari 2009 19:29 schreef HuHu het volgende:
PS: uiteraard had ik er wat anders/netjes van gemaakt, maar het gaat om het idee. Dit is echt het meest vage wat ik tot nu toe met PHP ben tegen gekomen.
Dan zal in dat proces wel iets fout zijn gegaan. Exit vergeten na de location-header ofzo.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_64898200
Ik kom er net achter dat mijn hosting een querie limit van 100.000 per uur heeft. Is dit toevallig te omzeilen? (ik kan geen meerder mysql account aanmaken).
..///
  zaterdag 10 januari 2009 @ 22:05:09 #39
75592 GlowMouse
l'état, c'est moi
pi_64899249
Dingen cachen op je filesystem.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_64900394
quote:
Op zaterdag 10 januari 2009 17:03 schreef Likkende_Lassie het volgende:
isset... gebruiken jullie die nou altijd? Ik vind het echt een rare functie..snap hem wel, maar zonder isset, heb je toch hetzelfde?

Bijvoorbeeld:

if(ifset($value)){

}

tegen

if($value){

}


geen verschil toch?
Jawel, als je error_reporting op E_ALL zet, zal je zien dat php een warning geeft dat je een ongedefinieerde variable gebruikt als je if($value) gebruikt.
pi_64900404
Dubbel
pi_64903103
Waarom kan ik met elke willekeurige username en password inloggen op mijn site :S.
Ik denk dat het fout gaat bij :
1
2
3
4
5
6
7
8
<?php
$query 
"SELECT COUNT(*) FROM members WHERE username='".$myusername."' AND password='".$password."'"
        
$result mysql_query($query); 
        
$rowcount mysql_num_rows($result);
        
        
// als er een resultaat is.. (dus groter dan 0)
        
if($rowcount 0)
?>


De volledige code;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php
error_reporting
(E_ALL);
mysql_connect("localhost""root""")or die("mysql_error");
mysql_select_db("opdracht1")or die("mysql_error");

if(!empty(
$_POST))
    { 
        
// username and password verstuurd uit formulier
        
$myusername=$_POST['username'];
        
$mypassword=$_POST['wachtwoord'];

        
// kleine protectie MySQL injection
        
$myusername stripslashes($myusername);
        
$mypassword stripslashes($mypassword);
        
$myusername mysql_real_escape_string($myusername);
        
$mypassword mysql_real_escape_string($mypassword);
        
$password md5($mypassword);
        
// kijk of er een username is met het ingevulde wachtwoord
                
$query "SELECT COUNT(*) FROM members WHERE username='".$myusername."' AND password='".$password."'"
        
$result mysql_query($query); 
        
$rowcount mysql_num_rows($result);
        
        
// als er een resultaat is.. (dus groter dan 0)
        
if($rowcount 0)
        { 
            
$user $_POST["username"]; 
            
$wachtwoord $_POST["wachtwoord"]; 
            
$_SESSION['username'] = $user
            
$_SESSION['wachtwoord'] = $wachtwoord

            
header("Location: beveiligd.php"); 
        } 
        else 
        { 
            echo 
"U heeft geen goede combinatie van emailadres en wachtwoord gebruikt."
        }          
    }
else
{
    echo 
"U heeft de pagina verkeerd opgeroepen.";
}
 
?>
Bodybuilding #1
Hardlopen #2
  zondag 11 januari 2009 @ 00:09:48 #43
75592 GlowMouse
l'état, c'est moi
pi_64903182
count(*) geeft altijd een rijtje terug, namelijk een rij met daarin een getal dat het aantal rijen dat aan WHERE voldoet voorstelt.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_64903499
quote:
Op zondag 11 januari 2009 00:09 schreef GlowMouse het volgende:
count(*) geeft altijd een rijtje terug, namelijk een rij met daarin een getal dat het aantal rijen dat aan WHERE voldoet voorstelt.
Dus ik kan beter
1
2
3
<?php
        $query 
"SELECT `username` FROM `members` WHERE `username`='".$myusername."' AND password='".$password."'";
?>

ervan maken?

edit; Jup, dit werkt. Thanks.
Bodybuilding #1
Hardlopen #2
  zondag 11 januari 2009 @ 00:19:40 #45
75592 GlowMouse
l'état, c'est moi
pi_64903541
Nee, je moet niet mysql_num_rows gebruiken.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_64903756
quote:
Op zondag 11 januari 2009 00:19 schreef GlowMouse het volgende:
Nee, je moet niet mysql_num_rows gebruiken.
En waarom niet? Nu bekijkt hij toch hoeveel rijen usernames er zijn met de ingevoerde username en password.
Bestaan de ingevoerde username en password in de db? -> Dan zal hij $rowcount = 1 geven. (Groter dan 1 kan ook niet omdat een username uniek is)
Bestaan de ingevoerde username en password niet in de db? -> Dan zal hij $rowcount = 0 geven en zal hij direct door gaan naar de ELSE statement omdat alleen als $rowcount groter dan 0 is hij in die IF terugkomt.
Bodybuilding #1
Hardlopen #2
pi_64905431
quote:
Op zondag 11 januari 2009 00:26 schreef Kerol het volgende:

[..]

En waarom niet? Nu bekijkt hij toch hoeveel rijen usernames er zijn met de ingevoerde username en password.
Bestaan de ingevoerde username en password in de db? -> Dan zal hij $rowcount = 1 geven. (Groter dan 1 kan ook niet omdat een username uniek is)
Bestaan de ingevoerde username en password niet in de db? -> Dan zal hij $rowcount = 0 geven en zal hij direct door gaan naar de ELSE statement omdat alleen als $rowcount groter dan 0 is hij in die IF terugkomt.
Eens
Maar ik zou geen wachtwoorden opslaan, ook niet in $_SESSION. Natuurlijk wel in de user-tabel, maar daar met encryptie (MD5 / SHA1 / etc). In $_SESSION kun je bijvoorbeeld userid en username opslaan, die kun je beide uit de database trekken. Als je de username uit de database haalt, krijg je de versie zoals die daar is opgeslagen. En omdat MySQL case insensitive is, hoeft dat niet hetzelfde te zijn als wat de klant heeft ingevoerd. (Meteen een reden om het wachtwoord wel via een versleuteling als MD5() te laten gaan, MD5('ABC') != MD5('abc').
pi_64911600
ik heb een vraagje ik krijg in mn database wel de datum opgeslagen maar niet de tijd terwijl ik deze regel gebruik.

date("Y-m-d H:i:s"))

ligt het aan het veld van de database?
dat is namelijk een date veld. of moet de tijd apart worden opgeslagen?
Redacted
  zondag 11 januari 2009 @ 13:22:10 #49
75592 GlowMouse
l'état, c'est moi
pi_64911726
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_64913006
quote:
het is gelukt alleen maar een veld aanpassen
Redacted
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')