abonnement Unibet Coolblue Bitvavo
  vrijdag 14 juli 2006 @ 21:52:07 #26
65997 Oldbie
Proud to be South African!
pi_39833846
Ik probeer iemand leesrechten te geven in mijn mysql databdase maar het mislukt steeds. Hij probeert via PHP mijn server te benaderen maar toegang wordt geweigerd.
Ik heb een nieuwe user aangemaakt met SELECT rechten maar toch kan hij niet verbinden......




Naast user "fokforum@%" heb ik user "fokforum@" en user "fokforum@localhost" aangemaakt.

Wat doe ik fout?
pi_39834982
quote:
Op vrijdag 14 juli 2006 18:37 schreef SuperRembo het volgende:

[..]
[ code verwijderd ]

Deze matcht bijvoorbeeld wel "tvp" en "-t.v.p.-" maar niet "--t.v.p.--".
Tja, het zal wel aan mij liggen, maar hij doet het niet. Sowieso krijg ik een foutmelding dat er een ) mist. Die heb ik er natuurlijk tussen gezet, op een voor mij logische plaats. Zo is hij dus geworden:

1/^[a-z0-9]*([-_.][a-z0-9]){0,5}$/i


Maar bijv. _abc_ doet hij dan niet.

Daarnaast nog één ding: de totale string van karakters mag wel meer dan 5 tekens zijn, alleen het aantal speciale tekens mag maximaal 5 zijn.
pi_39835857
quote:
Op vrijdag 14 juli 2006 21:52 schreef Oldbie het volgende:
Ik probeer iemand leesrechten te geven in mijn mysql databdase maar het mislukt steeds. Hij probeert via PHP mijn server te benaderen maar toegang wordt geweigerd.
Ik heb een nieuwe user aangemaakt met SELECT rechten maar toch kan hij niet verbinden......

[afbeelding]


Naast user "fokforum@%" heb ik user "fokforum@" en user "fokforum@localhost" aangemaakt.

Wat doe ik fout?
Met 'fokforum@%' heb je al alle hosts te pakken dus die andere twee kun/moet je verwijderen. Verder kun je een FLUSH PRIVILEGES uitvoeren om er zeker van te zijn dat MySQL de laatste informatie heeft over de privileges. Daarna opnieuw proberen in te loggen wat ook wel handig is, is de foutmelding die die persoon voor z'n neus krijgt noteren en hier melden.
pi_39835873
30 alweer
pi_39835882
quote:
Op vrijdag 14 juli 2006 22:30 schreef MeScott het volgende:

[..]

Tja, het zal wel aan mij liggen, maar hij doet het niet. Sowieso krijg ik een foutmelding dat er een ) mist. Die heb ik er natuurlijk tussen gezet, op een voor mij logische plaats. Zo is hij dus geworden:
[ code verwijderd ]

Maar bijv. _abc_ doet hij dan niet.

Daarnaast nog één ding: de totale string van karakters mag wel meer dan 5 tekens zijn, alleen het aantal speciale tekens mag maximaal 5 zijn.
Je moet waar dat haakje sluiten mistte, ook nog een sterretje plaatsen. Dus * ) (zonder de spatie). Dit is een bug in RDE, zie dit topic:
[FO][BUG] code-tag + ] + smilie gaat de mist in
pi_39836299
quote:
Op vrijdag 14 juli 2006 23:01 schreef JeRa het volgende:

[..]

Je moet waar dat haakje sluiten mistte, ook nog een sterretje plaatsen. Dus * ) (zonder de spatie). Dit is een bug in RDE, zie dit topic:
[FO][BUG] code-tag + ] + smilie gaat de mist in
Aha, daar ging ik de mist dus in. Nu werkt het wel inderdaad. Heel erg bedankt voor de hulp allemaal!
pi_39836806
quote:
Op vrijdag 14 juli 2006 23:13 schreef MeScott het volgende:

[..]

Aha, daar ging ik de mist dus in. Nu werkt het wel inderdaad. Heel erg bedankt voor de hulp allemaal!
en van die 0 een 1 maken
pi_39837080
quote:
Op vrijdag 14 juli 2006 23:28 schreef the_disheaver het volgende:

[..]

en van die 0 een 1 maken
Nee, want dan werkt 'abc' niet meer natuurlijk.
pi_39837144
quote:
Op vrijdag 14 juli 2006 23:37 schreef JeRa het volgende:

[..]

Nee, want dan werkt 'abc' niet meer natuurlijk.
klopt, ik dacht dat het niet mocht...
pi_39837236
Hij keurt nu wel: _-_-_ bv goed. En dát mocht niet. Maar hoe je dat oplost...

ff denken...
pi_39837284
Persoonlijk had ik trouwens de zoektocht naar één regular expression allang opgegeven op dit punt, en het gewoon opgesplitst in twee checks
  vrijdag 14 juli 2006 @ 23:54:14 #37
62215 qu63
..de tijd drinkt..
pi_39837529
quote:
Op vrijdag 14 juli 2006 23:43 schreef the_disheaver het volgende:
Hij keurt nu wel: _-_-_ bv goed. En dát mocht niet. Maar hoe je dat oplost...

ff denken...
dat mocht toch wel? maximaal 5 'rare' tekens..
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_39837570
quote:
Op vrijdag 14 juli 2006 23:54 schreef qu63 het volgende:

[..]

dat mocht toch wel? maximaal 5 'rare' tekens..
En minimaal één alphanumeriek teken.
  vrijdag 14 juli 2006 @ 23:56:27 #39
62215 qu63
..de tijd drinkt..
pi_39837609
quote:
Op vrijdag 14 juli 2006 23:55 schreef JeRa het volgende:

[..]

En minimaal één alphanumeriek teken.
ohja
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_39838918
1/(?(?=[-_.a-z0-9]*[a-z0-9]+[-_.]^[a-z0-9] *([-_.][a-z0-9]{0,5}$)/i

(spatie voor het sterretje weghalen!)

En als het goed is haalt ie een string met alleen streeptjes, zonder normale tekens (a-z0-9) deruit!
  zaterdag 15 juli 2006 @ 02:30:13 #41
71919 wonderer
Hung like a My Little Pony
pi_39841482
quote:
Op vrijdag 14 juli 2006 16:34 schreef qu63 het volgende:

[..]

on the fly maken maar wel opslaan lijkt mij..
Okee. Bij de eerste keer laten zien of zo. Dat scheel me echt een hoop namelijk (handmatig thumbs maken zuigt).

Bedankt.
"Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
"My brain is too smart for me."
"We don't need no education." "Yes you do, you just used a double negative."
pi_39847036
Hmm, mijn script gedraagt zich vreemd sinds het gebruik van Javascript confirmboxen.

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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?php
    

    
//-- anti XSS measures
    
$action = htmlentities($_GET["action"], ENT_QUOTES);
    
$id = htmlentities($_GET["id"], ENT_QUOTES);
    
    switch(
$action):

        case
"delete":
            
deletestyle($id);
            break;

        default:
            
showstyles();
            break;
    endswitch;


function
deletestyle($id)
    {
        include
"../conf/instellingen.php";
        include
"../conf/db_connect.php";
        
        
$sql_selectedstyle = "SELECT * FROM css_selectedstyle WHERE `selectedstyle` = `selectedstyle` LIMIT 0,1";
        
$res_selectedstyle = mysql_query($sql_selectedstyle) or die("Kan de geselecteerde style niet uit de Database halen");
        
$selectedstyle = mysql_fetch_object($res_selectedstyle);
        
        
$sel_style = $selectedstyle-&gt;styleid;
        if (
$id == $sel_style)
        {
            echo
"<span class=\"foutmelding\">Geselecteerde style kunt u niet verwijderen!</span>";
            
showstyles();
        }
        elseif (
$id == 1)
        {
            echo
"<span class=\"foutmelding\">Style 1 is de standaard style, en is niet te verwijderen!</span>";
            
showstyles();
        }
        else
        {
            
$sql_style = "DELETE FROM `css_style` WHERE `id` = '$id'";
            
$result_style = mysql_query($sql_style) or die("Kan de selected style niet wijzigen");
            
            if (
$result_style = true)
            {
                
$sql_value = "DELETE FROM `css_value` WHERE `style_id` = '$id'";
                
$result_value = mysql_query($sql_value) or die("Kan de value niet wijzigen");
                
                if (
$result_value = true)
                {
                    echo
"<script language=\"JavaScript\">";
                    echo
"document.location='index.php'";
                    echo
"</script>";
                }
            }
        }
    }
?>


Nu gebruik ik een javascript confirmbox die óf doorstuurd naar de pagina index.php?action=delete&id=?? óf helemaal niets doet.

Het vreemde is, dat het script prima werkt; wordt geprobeerd style 1 of de geselecteerde style te verwijderen dan doet ie niets. Wordt er geprobeerd een andere te verwijderen, dan verwijderd ie wel.

Alleen mijn fout-melding bij niet verwijderen wordt door het gebruik van javascript niet meer getoond
Ga ik handmatig naar die url, dan doet ie het wel

??
pi_39850269
@ siegfried
kan je je checkboxcode ff posten?
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_39850677
Checkbox?

Die gebruik ik niet, maar wellicht bedoel je dit:
1
2
3
4
5
6
7
8
function delete_confirm(id)
{
 var where_to= confirm(\"Weet u zeker dat u deze style wilt verwijderen?\\nDit is niet ongedaan te maken.\\n\");
 if (where_to== true)
 {
   document.location=\"index.php?action=delete&id=\"+id;
 }
}


1<a onClick=\"delete_confirm($styles[id])\" href=\"\"><img src=\"img/delete.png\" alt=\"Verwijder\" width=\"24\" height=\"24\" /></a>


Dit?
pi_39850836
Ik heb het al gefixed, door href="" weg te halen.
Dan laat ie geen handje meer zien, maar dit heb ik doormiddel van CSS weer opgelost
pi_39856083
je kan de onclick weghalen en je href=\"javascript:delete_confirm()\" maken
scheelt je weer een stukkie
As a rule, I never touch anything more sophisticated and delicate than myself.
  zaterdag 15 juli 2006 @ 21:17:15 #47
85514 ralfie
!Yvan eht nioj
pi_39860629
@Siegfried:

Je controleert tweemaal een value met één = teken (regel 45 en 50)

tip: gebruik

if ($result_style)

ipv

if ($result_style == true)

omdat je zo voorkomt dat je meer van dit soort fouten maakt (het werkt bij mij wel tenminste)

Ook kun je natuurlijk direct op je query controleren
1
2
3
4
5
6
7
<?php
if (query("delete all tables"))
{
   
doe wat met query
}
else die (
'error in query');
?>

oid


overigens kan ik je aanbevelen om een soort van errorhandler te maken om je fouten wat mooier af te werken
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
<?php
function deletestyle($id)
    {
        include
"../conf/instellingen.php";
        include
"../conf/db_connect.php";
        
        
$sql_selectedstyle = "SELECT * FROM css_selectedstyle WHERE `selectedstyle` = `selectedstyle` LIMIT 0,1";
        
$res_selectedstyle = mysql_query($sql_selectedstyle) or die("Kan de geselecteerde style niet uit de Database halen");
        
$selectedstyle = mysql_fetch_object($res_selectedstyle);
        
        
$sel_style = $selectedstyle-&gt;styleid;
        if (
$id == $sel_style) show_error('Geselecteerde style kunt u niet verwijderen!');
        elseif (
$id == 1) show_error('Style 1 is de standaard style, en is niet te verwijderen!');
        else
        {
            
$sql_style = "DELETE FROM `css_style` WHERE `id` = '$id'";
            
$result_style = mysql_query($sql_style) or show_error('Kan de selected style niet wijzigen');
            
            if (
$result_style)
            {
                
$sql_value = "DELETE FROM `css_value` WHERE `style_id` = '$id'";
                
$result_value = mysql_query($sql_value) or show_error('Kan de value niet wijzigen');
                
                if (
$result_value)
                {
                    echo
"<script language=\"JavaScript\">";
                    echo
"document.location='index.php'";
                    echo
"</script>";
                }
            }
        }
    }

function
show_error($message)
{
   echo
"<span class=\"foutmelding\">$message</span>";
   
showstyles();
   die();
}
?>
Dat staat vaak toch weer wat mooier. Je kunt overigens ook van php errorhandling gebruikt maken, maar dat is een stukje ingewikkelder en misschien teveel moeite voor wat jij wilt.
pi_39871771
quote:
Op donderdag 13 juli 2006 11:07 schreef Darkomen het volgende:
Ik haal uit een db een aantal plaatjes, dit kunnen er 6 zijn, maar ook 8 of 31 (gewon random aantallen dus)
Hierbij wil ik per regel een aantal plaatjes. maximaal 10
Maar waneer het er 6 zijn wil ik liever 2 regels van 3 ipv 1 van 6
bij 8; 2 regels van 4
bij 31; 3 van 10 en 1 van 1.

Hoe, wat?
Iemand nog ideeen?
  zondag 16 juli 2006 @ 11:47:30 #49
62215 qu63
..de tijd drinkt..
pi_39871980
quote:
Op zondag 16 juli 2006 11:36 schreef Darkomen het volgende:

[..]

Iemand nog ideeen?
if($plaatje == 1){ 1 plaatje laten zien }
elseif($plaatje == 2) { 2 plaatjes laten zien }
[...]
elseif($plaatje == "grootste getal") { "grootste gatal" plaatjes laten zien}

wel veel code, maar zo kan je wel precies alles neerzetten zoals jij wil.
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_39873376
@ Ralfie: Thanks man, ziet er inderdaad wat mooier en makkelijker uit.
Ga het er morgen eens in verwerken. Het is gelukkig bijna af

En dat 2x controlleren was me nog niet opgevallen
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')