abonnement Unibet Coolblue Bitvavo
pi_33597728
en alvast de beste wensen voor dit jaar natuurlijk
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  zondag 1 januari 2006 @ 10:20:32 #3
120139 freiss
Hertog Jan :9~
pi_33597731
quote:
Op zondag 1 januari 2006 10:19 schreef Chandler het volgende:
en alvast de beste wensen voor dit jaar natuurlijk
HJ 14-punt-gift.
Lijst met rukmateriaal!
pi_33599410
eingelijk mag dat alvast wel weg!
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  FOK!-Schrikkelbaas zondag 1 januari 2006 @ 13:09:44 #5
1972 Swetsenegger
Egocentrische Narcist
pi_33599498
quote:
Op zondag 1 januari 2006 13:05 schreef Chandler het volgende:
eingelijk mag dat alvast wel weg!
Kut he, die quote. Anders had je sneaky kunnen editten
pi_33619343
Beste wensen iedereen

Gelijk een vraag:

1
2
3
4
5
6
7
8
9
10
11
<?php
$vraag
= array(1 =&gt; '$vraag1', 2 =&gt; '$vraag2', 3 =&gt; '$vraag3', 4 =&gt; '$vraag4', 5 =&gt; '$vraag5', 6 =&gt; '$vraag6');
for (
$counter = 0; $counter &lt;= 6; $counter += 1) {

If (
strlen(($arr["vraag"][$counter])) &gt; 1) {
$sql_query = "INSERT INTO Pollgegevens (PollID, PollPlek, Antwoorden, Vraagnummer)";
$sql_query .="VALUES ('".$pollID."','".$pollPlek."','".$arr["vraag"]."', '".$counter."');";
$result = mysql_query($sql_query) or die(mysql_error());
}
}
?>


Wat doe ik fout? Ik heb nooit eerder echt met array's gewerkt met PHP, maar ik wil dus 6 ingevulde antwoorden controlleren, en indien meer dan 1 karakter er in, in de database stoppen..

alvast bedankt!
pi_33621573
tsss jullie konden gister je roes uitslapen
  maandag 2 januari 2006 @ 12:38:56 #9
120139 freiss
Hertog Jan :9~
pi_33621895
Wat ik zo snel zie, ben je een spatie vergeten in je $sql_query. Nu zit de ")" vast aan de "VALUES". Je kan overigens ook $counter += 1 als $counter++ schrijven.
HJ 14-punt-gift.
Lijst met rukmateriaal!
  FOK!-Schrikkelbaas maandag 2 januari 2006 @ 12:49:35 #10
1972 Swetsenegger
Egocentrische Narcist
pi_33622141
1
2
3
4
5
6
7
8
9
$vraag = array(1 => '$vraag1', 2 => '$vraag2', 3 => '$vraag3', 4 => '$vraag4', 5 => '$vraag5', 6 => '$vraag6');
for ( $counter = 0; $counter <= 6; $counter ++) {

If (strlen($vraag[$counter]) > 1) {
$sql_query = "INSERT INTO Pollgegevens (PollID, PollPlek, Antwoorden, Vraagnummer)";
$sql_query .="VALUES ('".$pollID."','".$pollPlek."','".$arr["vraag"]."', '".$counter."');";
$result = mysql_query($sql_query) or die(mysql_error());
}
}
pi_33622450
quote:
Op maandag 2 januari 2006 12:49 schreef Swetsenegger het volgende:

[ code verwijderd ]
Dit werkt deels, ik krijg nu wat in mn database. Echter, de vragen-velden blijven leeg
pi_33622754
Hallo..ik heb een probleempje
Ik wil dat als je een van m'n avatars kiest je er ook gelijk de naam er bij krijgt
Het werkt dus ong. zo

1
2
    echo  '<input type="radio" name="nummer" value="2">';
    echo "<img src='icon2.png'>";


Nu werkt het alleen nog maar met nummers
1 echo "Je hebt nummer $iconnummer gekozen";


Hoe kan ik ervoor zorgen dat er ipv. $iconnummer staat er een naam komt?
pi_33622901
je avatar kiesding werkt niet, ik koos net de chinees!

edit: ik zie nu geen chinees in het lijstje staan, was dus denk ik bij iemand anders met een avakies ding
  FOK!-Schrikkelbaas maandag 2 januari 2006 @ 13:15:41 #14
1972 Swetsenegger
Egocentrische Narcist
pi_33622933
quote:
Op maandag 2 januari 2006 12:58 schreef LeeHarveyOswald het volgende:

[..]

Dit werkt deels, ik krijg nu wat in mn database. Echter, de vragen-velden blijven leeg
1
2
3
4
5
6
7
8
9
$vraag = array(1 => '$vraag1', 2 => '$vraag2', 3 => '$vraag3', 4 => '$vraag4', 5 => '$vraag5', 6 => '$vraag6');
for ( $counter = 0; $counter <= 6; $counter ++) {

If (strlen($vraag[$counter]) > 1) {
$sql_query = "INSERT INTO Pollgegevens (PollID, PollPlek, Antwoorden, Vraagnummer)";
$sql_query .="VALUES ('".$pollID."','".$pollPlek."','".$vraag[$counter]."', '".$counter."');";
$result = mysql_query($sql_query) or die(mysql_error());
}
}
pi_33623030
quote:
Op maandag 2 januari 2006 13:14 schreef LeeHarveyOswald het volgende:
je avatar kiesding werkt niet, ik koos net de chinees!

edit: ik zie nu geen chinees in het lijstje staan, was dus denk ik bij iemand anders met een avakies ding
Ik heb ze nu ff allemaal weg gedaan...avatar kies dinges krijgt een hele update
Momenteel kan je alleen 4x Olsens kiezen en 2x J.Lo
pi_33623141
quote:
Op maandag 2 januari 2006 13:15 schreef Swetsenegger het volgende:

[..]
[ code verwijderd ]
Dit resulteerd in de volgende inhoud van mijn database:

$vraag3
$vraag2
$vraag1
$vraag4
$vraag5
$vraag6
  FOK!-Schrikkelbaas maandag 2 januari 2006 @ 13:34:03 #17
1972 Swetsenegger
Egocentrische Narcist
pi_33623378
quote:
Op maandag 2 januari 2006 13:23 schreef LeeHarveyOswald het volgende:

[..]

Dit resulteerd in de volgende inhoud van mijn database:

$vraag3
$vraag2
$vraag1
$vraag4
$vraag5
$vraag6
Ik naam dan ook aan dat die $vraag1 in je array symbolisch was, en daar gewoon de vraag stond.
Waarom los je dat zo op eigenlijk?
pi_33623470
Ik heb 6 velden waarin een vraag neergezet kan worden. Ik wil een veld alleen opnemen als er iets in staat, en langer dan 1 karakter is (zodat niet per ongeluk een spatie als poll antwoord er tussen komt te staan)

Wat uit het formulier komt, komt in $vraagX te staan..
pi_33623575
array dinges aangepast, nu doettie et thnx
pi_33630099
quote:
Op maandag 2 januari 2006 13:08 schreef DjDev het volgende:
Hallo..ik heb een probleempje
Ik wil dat als je een van m'n avatars kiest je er ook gelijk de naam er bij krijgt
Het werkt dus ong. zo
[ code verwijderd ]

Nu werkt het alleen nog maar met nummers
[ code verwijderd ]

Hoe kan ik ervoor zorgen dat er ipv. $iconnummer staat er een naam komt?
Dat is vrij basic, maar je dient een array aan te maken die de nummers koppelt aan namen. Dus zoiets als dit:

$namen = array('A. Aars', 'B. Beer', 'C. Claus', ...);

Waarbij de eerste naam index 0 heeft, de volgende 1, etc. Daarna doe je dit:

echo 'Je hebt ' . $namen[$gekozenNummer] . ' gekozen!';
pi_33630199
quote:
Op maandag 2 januari 2006 16:56 schreef JeRa het volgende:

[..]

Dat is vrij basic, maar je dient een array aan te maken die de nummers koppelt aan namen. Dus zoiets als dit:

$namen = array('A. Aars', 'B. Beer', 'C. Claus', ...);

Waarbij de eerste naam index 0 heeft, de volgende 1, etc. Daarna doe je dit:

echo 'Je hebt ' . $namen[$gekozenNummer] . ' gekozen!';
Ok..ik ga ff wat dingen proberen
Bedankt
-edit-

Het lukt niet echt...
Ik krijg alleen "Je hebt gekozen!"
Ik weet niet waar ik het fout doe maar ik denk bij $namen = array('A. Aars', 'B. Beer', 'C. Claus', ...);
Ik snap dat niet echt..Kan je dat ff uitleggen?

[ Bericht 19% gewijzigd door DjDev op 02-01-2006 17:12:47 ]
  FOK!-Schrikkelbaas maandag 2 januari 2006 @ 17:17:16 #22
1972 Swetsenegger
Egocentrische Narcist
pi_33630725
quote:
Op maandag 2 januari 2006 16:59 schreef DjDev het volgende:

[..]

Ok..ik ga ff wat dingen proberen
Bedankt
-edit-

Het lukt niet echt...
Ik krijg alleen "Je hebt gekozen!"
Ik weet niet waar ik het fout doe maar ik denk bij $namen = array('A. Aars', 'B. Beer', 'C. Claus', ...);
Ik snap dat niet echt..Kan je dat ff uitleggen?
Post je code eens.
pi_33630887
Tja na wat vogelen met wat code om plaats te bepalen heb ik reeds het volgende stukje code gerealiseerd!.. maar helaas werkt dit niet echt optimaal... omdat ik soms een veld wil verplaatsen van kolom 1 naar kolom 2 of naar kolom 3, whatever.

de 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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
function moveCat($id, $pos)
{
    $sql = "SELECT tree.pos_id,
                   tree.sort_id
            FROM   `tree`
            WHERE  `id` = '" . $id . "'";
    $query = mysql_query($sql);
    $items = mysql_num_rows($query);
    
    if ($items > 0)
    {
        $list = mysql_fetch_object($query);
        
        if ($pos == "up")
        {
            $first = $list->sort_id -1;
            $last  = $list->sort_id;
        }
        else
        {
            $first = $list->sort_id;
            $last  = $list->sort_id +1;
        }


        $catSql   = "SELECT tree.id,
                            tree.sort_id
                     FROM   tree
                     WHERE  tree.pos_id = '" . $list->pos_id . "'
                     AND    tree.sort_id IN ('" . $first . "', '" . $last . "')";
        $catQuery = mysql_query($catSql) or die($catSql . mysql_error());
        $catItems = mysql_num_rows($catQuery);
        
        $arrMove = array();
        if ($catItems > 1)
        {
            for ($x = 0; $x < $catItems; $x++)
            {
                $catList = mysql_fetch_object($catQuery);
                
                $arrMove[] = array('id'  => $catList->id,
                                   'sid' => $catList->sort_id);
            }
            
            mysql_query("UPDATE tree SET sort_id = '" . $arrMove[0]['sid'] . "' WHERE id = '" . $arrMove[1]['id'] . "'");
            mysql_query("UPDATE tree SET sort_id = '" . $arrMove[1]['sid'] . "' WHERE id = '" . $arrMove[0]['id'] . "'");

            return true;
        }
        else
        {
            return false;
        }
    }
    else
    {
        return false;
    }
}


nu doe ik toch echt iets echt heel goed fout... maar waar het zit weet ik niet, misschien de manier van uitlezen? heeft iemand suggesties?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_33631044
-edit-

Lama...ik heb alles verneukt

[ Bericht 64% gewijzigd door DjDev op 02-01-2006 19:50:31 ]
  FOK!-Schrikkelbaas maandag 2 januari 2006 @ 17:33:05 #25
1972 Swetsenegger
Egocentrische Narcist
pi_33631176
quote:
Op maandag 2 januari 2006 17:28 schreef DjDev het volgende:

[..]
[ code verwijderd ]

Je nieuwe code met die array erin
  maandag 2 januari 2006 @ 17:38:34 #26
65471 SkaterSam
Lurking Galore
pi_33631309
1
2
3
4
5
6
7
<?php
if (date(Y) == 2006) {
echo
"Gelukkig Nieuwjaar iedereen!";
} else {
echo
"tvp";
}
?>

Flauw hè
Let's make life easy
Typo's are the demon spawn from hell !
pi_33631614
quote:
Op maandag 2 januari 2006 17:22 schreef Chandler het volgende:
Tja na wat vogelen met wat code om plaats te bepalen heb ik reeds het volgende stukje code gerealiseerd!.. maar helaas werkt dit niet echt optimaal... omdat ik soms een veld wil verplaatsen van kolom 1 naar kolom 2 of naar kolom 3, whatever.

de code
[ code verwijderd ]

nu doe ik toch echt iets echt heel goed fout... maar waar het zit weet ik niet, misschien de manier van uitlezen? heeft iemand suggesties?
natuurlijk is het handig om te zien waarmee ik bezig ben, en heb dus ook al een preview online, alleen de frontpage werkt en de links die er in staan etc

http://linkbase.bruggema.nl/
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_33633159
quote:
Op maandag 2 januari 2006 17:38 schreef SkaterSam het volgende:

[ code verwijderd ]

Flauw hè
Dat kan korter

1<?=date(Y)-2006?tvp:'Gelukkig Nieuwjaar iedereen!';
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_33633600
quote:
Op maandag 2 januari 2006 17:33 schreef Swetsenegger het volgende:

[..]


Je nieuwe code met die array erin
Die heb ik dus niet want ik snap het niet

-edit-

Ik heb dus ff ingetikt zoals ik dacht dat het moest...
pi_33634121
quote:
Op maandag 2 januari 2006 18:55 schreef DjDev het volgende:

[..]

Die heb ik dus niet want ik snap het niet

-edit-

Ik heb dus ff ingetikt zoals ik dacht dat het moest...
Die $value in je code is de index van de array. Dat moet dus $nummer of $iconnummer worden

Als je een array zo aanmaakt:
$newArray = array('a', 'b', 'c');

Dan zien de indices er zo uit:

0 => 'a'
1 => 'b'
2 => 'c'

En die kun je aanroepen met $newArray[0] (geeft 'a' terug), $newArray[1] (geeft 'b' terug), etc
  FOK!-Schrikkelbaas maandag 2 januari 2006 @ 19:12:33 #31
1972 Swetsenegger
Egocentrische Narcist
pi_33634187
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
if ($_SERVER['REQUEST_METHOD']=='POST' && (!empty($_POST['nummer'])){
  if ( ! (is_numeric($nummer) and ($nummer >= 1) and ($nummer <= 40)))  {

    die("Oeps! Je hebt niks gekozen!'>");
  }

else
include ("icon.dat");
   $file = fopen ("icon.dat","w");
   fputs($file, "<");
   fputs($file, "? $");
   fputs($file, "iconnummer=".$_POST['nummer']." ?");
   fputs($file, ">");
     fclose ($file);
   echo "Je hebt nummer ".$_POST['nummer']." gekozen<BR> <BR>";

$namen = array('1.Naam1', '2. Naam2', '3. Naam3',);

echo 'Je hebt ' . $namen[$_POST['nummer']] . ' gekozen!';
}
else{
?>

<form method="post" action="edit.php">
<p><font face="Lucida Console" color="Black">Mary-Kate And Ashley Olsen</font></p>
<input type="radio" name="nummer" value="1">
<img src="icon1.png" border=1>
<input type="radio" name="nummer" value="2">
<img src="icon2.png" border=1>
<input type="radio" name="nummer" value="3">
<img src="icon3.png" border=1>
</form>
<?}?>
pi_33634266
Swetsenegger, waarom check je op REQUEST_METHOD als $_POST variabelen anders niet eens gevuld kunnen worden?
pi_33634503
quote:
Op maandag 2 januari 2006 19:12 schreef Swetsenegger het volgende:

[ code verwijderd ]
Ik ben je erg dankbaar
  FOK!-Schrikkelbaas maandag 2 januari 2006 @ 19:27:13 #34
1972 Swetsenegger
Egocentrische Narcist
pi_33634625
quote:
Op maandag 2 januari 2006 19:14 schreef JeRa het volgende:
Swetsenegger, waarom check je op REQUEST_METHOD als $_POST variabelen anders niet eens gevuld kunnen worden?
Ow, ik trok 'm uit een script welke ik toevallig had open liggen.

REQUEST_METHOD komt van een stel fundamentalistische phpfreakz. $_POST['submit'] checken werkt namelijk niet met elke browser en de 'enter' toets. De Submit wordt dan niet herkent. Wanneer je REQUEST_METHOD gebruikt, wordt de submit altijd herkent. Ook wanneer je via een enter submit .
pi_33634652
ik gebruik ook altijd request method, weet je zekers dat je goed zit
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_33635059
quote:
Op maandag 2 januari 2006 19:12 schreef Swetsenegger het volgende:

[ code verwijderd ]
Hmm...ik krijg een parse error...
Parse error: parse error, unexpected '{' in /home/phserver.net/devrim/edit.php on line 32 (eerste regel van wat jij hebt getypt dus..)

Ik kan de fout niet vinden...
  maandag 2 januari 2006 @ 19:45:42 #37
120139 freiss
Hertog Jan :9~
pi_33635263
quote:
Op maandag 2 januari 2006 19:40 schreef DjDev het volgende:

[..]

Hmm...ik krijg een parse error...
Parse error: parse error, unexpected '{' in /home/phserver.net/devrim/edit.php on line 32 (eerste regel van wat jij hebt getypt dus..)

Ik kan de fout niet vinden...
er mist denk ik een ")" voor de "{"
HJ 14-punt-gift.
Lijst met rukmateriaal!
pi_33635362
quote:
Op maandag 2 januari 2006 19:27 schreef Swetsenegger het volgende:

[..]

Ow, ik trok 'm uit een script welke ik toevallig had open liggen.

REQUEST_METHOD komt van een stel fundamentalistische phpfreakz. $_POST['submit'] checken werkt namelijk niet met elke browser en de 'enter' toets. De Submit wordt dan niet herkent. Wanneer je REQUEST_METHOD gebruikt, wordt de submit altijd herkent. Ook wanneer je via een enter submit .
Ah, op die fiets ik gebruik daar zelf altijd een hidden field voor met ofwel een 'true'-waarde als ik gewoon wil checken of het formulier gesubmit is, ofwel een nuttige waarde zoals een ID van het object wat je op dat moment aan het wijzigen bent.
pi_33635446
quote:
Op maandag 2 januari 2006 19:45 schreef freiss het volgende:

[..]

er mist denk ik een ")" voor de "{"
Laat maar..ik heb alles verneukt
Ik begin wel helemaal opnieuw met dat ding..
pi_33641657
Tnx Jera en SuperRembo, morgen kan ik weer hard aan het werk!!!
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_33651413
Ik geef via een form een get door naar een pagina. In deze get staat een array lists[]. Ik wil exact dezelfde get-info doorspelen naar een volgende pagina. Is er een manier om dat makkelijk af te vangen?

mijn url is bijv:
bla.php?lists[1]=on&lists[3]=on&dit=dat
en alles vanaf t vraagtekentje tot t eind zou ik graag als een string willen hebben ofzo.
dat ik makkelijk deze link kan maken:
bla2.php?lists[1]=on&lists[3]=on&dit=dat
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_33659235
http://213.124.228.7/jim/0506/havo5/eindmodule/start.php

is een opdracht voor school, 1 tot 5 heb ik af, met 6 was ik bezig maar kom ik verder niet uit..
hulp met de volgende opdrachten zou ik erg op prijs stellen, we werken met htmlkit.. ik kan je de files doorsturen wat ik tot nu toe heb.. hulp via msn zou makkelijk zijn..
  FOK!-Schrikkelbaas dinsdag 3 januari 2006 @ 15:34:49 #43
1972 Swetsenegger
Egocentrische Narcist
pi_33661465
quote:
Op dinsdag 3 januari 2006 14:26 schreef Sjoe538 het volgende:
http://213.124.228.7/jim/0506/havo5/eindmodule/start.php

is een opdracht voor school, 1 tot 5 heb ik af, met 6 was ik bezig maar kom ik verder niet uit..
hulp met de volgende opdrachten zou ik erg op prijs stellen, we werken met htmlkit.. ik kan je de files doorsturen wat ik tot nu toe heb.. hulp via msn zou makkelijk zijn..
Dit is geen helpdesk
Post maar wat precies je probleem is, en 'men' zal je trachten te helpen. Maar er wordt wel enige zelfredzaamheid verwacht eigenlijk.
pi_33661889
Simpel vraagje
1
2
3
4
5
<?php
$var1
= "LeeHarvey";
$var2 = "Oswald"
$var3 = $var1 & $var2;
?>

Heeft var3 nu de waarde LeeHarveyOswald?
pi_33662356
quote:
Op dinsdag 3 januari 2006 15:50 schreef LeeHarveyOswald het volgende:
Simpel vraagje
[ code verwijderd ]

Heeft var3 nu de waarde LeeHarveyOswald?
vergeet in je 2e regel de ; niet
pi_33662544
quote:
Op dinsdag 3 januari 2006 15:50 schreef LeeHarveyOswald het volgende:
Simpel vraagje
[ code verwijderd ]

Heeft var3 nu de waarde LeeHarveyOswald?
waarom probeer je dat niet even?

en gebruik anders ipv de & een .
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_33662621
quote:
Op dinsdag 3 januari 2006 16:10 schreef Desdinova het volgende:

[..]

waarom probeer je dat niet even?

en gebruik anders ipv de & een .
Omdat de waarde meerdere keren in een database gestopt wordt en ik geen zin heb om straks allemaal dingen weg te gooien

maar met een . gaat het zowiezo werken? (in de praktijk gaat het om 2 postcode velden; 1 met de getallen, 1 met de letters, en dat moet in 1 veld in de database komen)
pi_33663096
jep punt werkt.
$var = $var1.$var2;
zet ze iig direct tegen elkaar aan. het lijkt me waarschijnlijk dat eventuele spaties tussen de vars en de punt weggelaten worden. wil je er een spatie tussen wordtie zo:
$var = $var1." ".$var2;
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_33663291
quote:
Op dinsdag 3 januari 2006 16:12 schreef LeeHarveyOswald het volgende:

[..]

Omdat de waarde meerdere keren in een database gestopt wordt en ik geen zin heb om straks allemaal dingen weg te gooien

maar met een . gaat het zowiezo werken? (in de praktijk gaat het om 2 postcode velden; 1 met de getallen, 1 met de letters, en dat moet in 1 veld in de database komen)
Is het niet makkelijker voor de gebruiker om 1 postcode veld te hebben die je met een eigen script zelf controleerd? (spatie erin (of er juist uit)) en kijkt of het bestaat uit 4 cijfers en 2 letters?

(tevens een tvp)
pi_33679840
Waarom wil W2k mij niet vertellen of een bestand een directory of een bestand is?

1is_dir( $file )

Geeft altijd false terug

1filetype( $file )

Geeft niks terug, alleen 'file' als er geen enkele onderliggende map in een map zit

1( fileperms($file) & 0x4000 ) == 0x4000 )

Zelfde verhaal als is_dir...

Mis ik een configuratie-instelling? Ik heb dit nog niet eerder meegemaakt.

-edit-
oja, iets dergelijks gebruik ik als script;

1
2
3
4
5
6
7
8
9
10
11
12
13
  $dh = opendir('.');
  while( gettype( $file = readdir( $dh ) ) != boolean )
  {
     if( substr( $file, 0, 1 ) != '.' )
     {
       if( filetype( $file ) == 'dir' )
       {
         echo '[dir] '. $file;
       } else {
         echo $file;
       }
     }
  }


Dit geeft dus nergens '[dir]' terug, ook al zijn er wel subdirectories.
pi_33692894
Probleempje met preg_replace:

ik heb hetvolgende:
1
2
3
4
<?php
$pattern
= "@<a href=\"#\".*(.*?)</a>@";
$table = preg_replace($pattern, '\\1',$table);
?>


in principe werkt dit ok. Totdat er een andere link in de table staat. Ik wil dus dat alle links in de tabel die beginnen met <a href=\"#\" verwijderd worden (hoeft niet ook de hoofdletters mee te pakken), maar dat andere links gewoon intact blijven.

de $table ziet er bijvoorbeeld zo uit:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
$table
= "
<table>
<tr>
  <td>
<a href=\"#\" onclick=\"javascript:window.open(bla)\">Titel</a>
  </td>
</tr>
<tr>
  <td>
<a href=\"#\" onclick=\"javascript:window.open(bla)\">
Content en dat soort <a href=\"dingen.html\">klik</a>.
<a href=\"#\" onclick=\"javascript:window.open(bla)\">
en verder met content.
</a>
  </td>
</tr>
</table>
"
;
?>


De <a> voor de titel haaltie weg, en voor de eerste content ook. maar zodra de link in de content is geweest houdt t op. tevens klopt het dat de <a> niet af wordt gesloten voor de content-link. misschien heeft dat er wat mee te maken?

[edit]
ok. hij doet t dus niet pas vanaf een andere link. als ik n ander item ($table) pak houdtie al op na de titel.

als ik de links naast elkaar leg zien ze er precies hetzelfde uit. maar hij pakt ze dus niet allemaal.

[ Bericht 5% gewijzigd door Desdinova op 04-01-2006 14:10:48 ]
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_33694215
Probeer eens dit:

<?php
$pattern = "/<a href=\'#\".*>(.*)<\/a>/Ui";
$table = preg_replace($pattern, '\\1',$table);
?>


Snap je eigenlijk wel waarom je huidige regex niet werkt?
pi_33694416
werkt bijna. Hij heeft nu alleen ook de </a> achter de content-link verwijderd, dus alles is n link vanaf de link
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_33695623
quote:
Op woensdag 4 januari 2006 14:39 schreef Desdinova het volgende:
werkt bijna. Hij heeft nu alleen ook de </a> achter de content-link verwijderd, dus alles is n link vanaf de link
Maar probeer zelfs eens wat voor mij lijkt deze te werken:

$pattern = "/<a href=\"#\".*>(.*)<\/a>/Uis";
pi_33696857
mm. ik heb nu \\1 vervangen door \\1</a>.

dat werkt. alleen heb ik 1 </a> over. maarjaa. t werkt iig
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_33697398
quote:
Op woensdag 4 januari 2006 15:51 schreef Desdinova het volgende:
mm. ik heb nu \\1 vervangen door \\1</a>.

dat werkt. alleen heb ik 1 </a> over. maarjaa. t werkt iig
Waarom vervang je nu door \\1</a>? ik snap je hele bedoeling niet. Mijn pattern haalt alle links, exclusief de tekst van die links, weg die beginnen met <a href="#" maar wat jij doet snap ik dus niet.
pi_33697953
quote:
Op maandag 2 januari 2006 19:50 schreef DjDev het volgende:

[..]

Laat maar..ik heb alles verneukt
Ik begin wel helemaal opnieuw met dat ding..
Zo...Alles werkt nu
Bedankt iedereen die geholpen heeft
  woensdag 4 januari 2006 @ 16:21:28 #58
32768 DionysuZ
Respect my authority!
pi_33698103
denk je niet dat het te maken heeft met hoe preg_replace de te vervangen tekst zoekt?

edit: nee, volgens mij staat er een fout in de code van desdinova. Die van JeRa ziet er goed uit, waarom die niet gebruiken?
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
pi_33699831
mnou dat heb ik geprobeerd. maar dan doetie t dus niet volledig
maar nu icm \\1</a> wel. op de </a> op t eind na.

edit
ehmm onee, hij gaf geen </a> bij de andere links.

<a href=\"bla\">klik</a> hier om verder te gaan

werd

<a href=\"bla\">klik hier om verder te gaan

[ Bericht 36% gewijzigd door Desdinova op 04-01-2006 17:20:21 ]
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_33700031
Kan iemand mij een beetje advies geven met de installatie van PEAR:DB? Waar moet ik t neerzetten en hoe activeer ik het?
  woensdag 4 januari 2006 @ 17:19:45 #61
32768 DionysuZ
Respect my authority!
pi_33700048
@desdinova

het ligt aan het feit dat jij links nest in andere links
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
pi_33700135
quote:
Op woensdag 4 januari 2006 17:19 schreef DionysuZ het volgende:
@desdinova

het ligt aan het feit dat jij links nest in andere links
dat zou t kunnen zijn.
As a rule, I never touch anything more sophisticated and delicate than myself.
  woensdag 4 januari 2006 @ 17:25:12 #63
32768 DionysuZ
Respect my authority!
pi_33700247
(.*) is zeer greedy. Als ik bijv. de volgende code heb:

[ code]bla[/code] blalaala [ code]test[/code]
en ik gebruik een zoekpattern #\[ code\](.*)\[/code\]# dan is de output:

[/code] blalaala [ code]

Als je (.*?) gebruikt is de output anders
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
pi_33700347
dan moet je dus als het ware je code gaan parsen... stackbased noemen ze dat ook wel, en kan je vertellen dat dat een pokke werk is...tis mzelf nog niet eerder gelukt
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  woensdag 4 januari 2006 @ 17:33:44 #65
32768 DionysuZ
Respect my authority!
pi_33700520
het is overigens GEEN valid html als je links gaat nesten. zie bijv. http://www.w3.org/TR/REC-html40/struct/links.html
quote:
12.2.2 Nested links are illegal

Links and anchors defined by the A element must not be nested; an A element must not contain any other A elements.

Since the DTD defines the LINK element to be empty, LINK elements may not be nested either.
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
  woensdag 4 januari 2006 @ 17:39:54 #66
32768 DionysuZ
Respect my authority!
pi_33700735
ik gebruik overigens ook altijd msi bij mijn patterns (bv. #\[code\](.*?)\[/code\]#msi).

i means that the search is case-insensitive.
s means that the dot can also match new-lines
m means that $ and ^ match not only at the very beginning / end of the string but also immediately before / after a new-line within the given string
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
pi_33700833
Mensen ik zit met een PHP/GD probleem.

Op mijn website (online) heb ik geen problemen met het vinden van de path van de fonts maar op mijn eigen windows omgeving heb ik er wel problemen mee.

Als ik een font wil gebruiken krijg ik aldoor errors dat het fontje niet gevonden kan worden.

wat heb ik geprobeerd?

1. de volledige path (met / en met \)
2. met putenv het path GDFONTPATH gezet

beide oplossingen werkten helaas niet... iemand een idee hoe ik dit wel voor elkaar krijg?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  woensdag 4 januari 2006 @ 17:52:00 #68
32768 DionysuZ
Respect my authority!
pi_33701098
quote:
Op woensdag 4 januari 2006 17:43 schreef Chandler het volgende:
Mensen ik zit met een PHP/GD probleem.

Op mijn website (online) heb ik geen problemen met het vinden van de path van de fonts maar op mijn eigen windows omgeving heb ik er wel problemen mee.

Als ik een font wil gebruiken krijg ik aldoor errors dat het fontje niet gevonden kan worden.

wat heb ik geprobeerd?

1. de volledige path (met / en met \)
2. met putenv het path GDFONTPATH gezet

beide oplossingen werkten helaas niet... iemand een idee hoe ik dit wel voor elkaar krijg?
heb je al relatieve paden gebruikt? Ik heb mijn fonts als ik GD gebruik altijd in een dir fonts staan en dan link ik ze relatief. Dat werkt, ook op mijn windows bak.
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
pi_33701120
met relatief bedoel je c:\fontpath\ ? oid? ja dat heb ik geprobeerd
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  woensdag 4 januari 2006 @ 17:53:44 #70
32768 DionysuZ
Respect my authority!
pi_33701152
quote:
Op woensdag 4 januari 2006 17:52 schreef Chandler het volgende:
met relatief bedoel je c:\fontpath\ ? oid? ja dat heb ik geprobeerd
nee ../fonts/fontname
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
pi_33701204
ook al geprobeerd werkte ook niet ....
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  woensdag 4 januari 2006 @ 17:57:46 #72
32768 DionysuZ
Respect my authority!
pi_33701275
quote:
Op woensdag 4 januari 2006 17:55 schreef Chandler het volgende:
ook al geprobeerd werkte ook niet ....
hm lastig .. al met dirname(__FILE__) het absolute pad uit proberen te lezen en daarmee verder te gaan?
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
pi_33701506
nee, maar weet zekers dat ik alles heb geprobeerd, zelfs die GDFONTPATH zou het probleem moeten oplossen...maar goed ik zal nog eens wat proberen..
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_33701683
1. eerste optie.. volledig path
1
2
3
Warning: Could not find/open font in d:\www\persoonlijk\gfxpoll.bruggema.nl\include\gfx.include.php on line 517

path: d:/www/persoonlijk/gfxpoll.bruggema.nl/gfx/fonts/arial.ttf


2. tweede poging met relatief path
1
2
3
Warning: Could not find/open font in d:\www\persoonlijk\gfxpoll.bruggema.nl\include\gfx.include.php on line 517

path: ./gfx/fonts/arial.ttf


3. ook zonder ./
1
2
3
Warning: Could not find/open font in d:\www\persoonlijk\gfxpoll.bruggema.nl\include\gfx.include.php on line 517

path: gfx/fonts/arial.ttf


4. ook met de \ ipv de / werkt het niet
1
2
3
Warning: Could not find/open font in d:\www\persoonlijk\gfxpoll.bruggema.nl\include\gfx.include.php on line 517

path: d:\www\persoonlijk\gfxpoll.bruggema.nl\gfx\fonts\arial.ttf


wordt er gek van
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  woensdag 4 januari 2006 @ 18:18:49 #75
32768 DionysuZ
Respect my authority!
pi_33701887
probeer eens zonder .ttf op het einde
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
  woensdag 4 januari 2006 @ 18:20:32 #76
32768 DionysuZ
Respect my authority!
pi_33701945
quote:
In many cases where a font resides in the same directory as the script using it the following trick will alleviate any include problems.
1
2
3
4
5
6
7
<?php
// Set the enviroment variable for GD
putenv('GDFONTPATH=' . realpath('.'));

// Name the font to be used (note the lack of the .ttf extension)
$font = 'SomeFont';
?>


imagettftext()

[ Bericht 51% gewijzigd door DionysuZ op 04-01-2006 18:27:56 ]
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
pi_33703877
wat raar, waarom zonder .ttf... dat snap ik nou weer niet maar het probleem is alleen op me eigen PC en niet online, en daar wordt dus wel weer .ttf gebruikt? beetje raar...

en als dat zo is, is er ook een manier om te checken of het een probleem geeft? zodat ik het code technisch of het ene of het andere kan gebruiken?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  woensdag 4 januari 2006 @ 19:44:11 #78
32768 DionysuZ
Respect my authority!
pi_33704748
quote:
Op woensdag 4 januari 2006 19:16 schreef Chandler het volgende:
wat raar, waarom zonder .ttf... dat snap ik nou weer niet maar het probleem is alleen op me eigen PC en niet online, en daar wordt dus wel weer .ttf gebruikt? beetje raar...

en als dat zo is, is er ook een manier om te checken of het een probleem geeft? zodat ik het code technisch of het ene of het andere kan gebruiken?
ligt aan je GD versie
quote:
Depending on which version of the GD library PHP is using, when fontfile does not begin with a leading / then .ttf will be appended to the filename and the library will attempt to search for that filename along a library-defined font path.

When using versions of the GD library lower than 2.0.18, a space character, rather than a semicolon, was used as the 'path separator' for different font files. Unintentional use of this feature will result in the warning message: Warning: Could not find/open font. For these affected versions, the only solution is moving the font to a path which does not contain spaces.
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
pi_33706293
kan iemand mij hier mee helpen..

ik heb een bestaande web applicatie in php en mysql. daar worden weken in benoemd met een weeknummer en een jaartal. de dagen worden genummerd van 0t/m6 ma t/m zo. nu wil ik aan de hand van deze gegevens een datum genereren. (dag, maand). kan dit met de functie date() of op een andere manier?
Amsterdam, stad van hash en coke,
Waar de vrouwen zich vrouwelijk gedragen..
En de mannen ook..
pi_33707410
  • Maak eerst een datum van 1 januari van het jaartal dat je wil gebruiken.
  • Bepaal het weeknummer van 1 januari. Als 1 januari een donderdag, vrijdag, zaterdag of zondag is, dan is het week 1. Als 1 januari een maandag, dinsdag of woensdag is, dan is het week 53 van het jaar er voor.
  • Je zoekt de datum van bijvoorbeeld week 10, dan moet je dus 9 weken = 9 * 7 dagen verder zijn.
  • Zoek bij de datum die je nu hebt de dag in de week die je wil hebben.

    Maar dan in php
  • Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_33707855
    Misschien iets handiger:

  • Neem de datum van 4 januari van het jaat dat je wil gebruiken. Deze datum valt altijd in week 1.
  • Je zoekt de datum van bijvoorbeeld week 10, dan moet je dus 9 weken = 9 * 7 dagen verder zijn.
  • Zoek bij de datum die je nu hebt de dag in de week die je wil hebben.
  • Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_33707927
    Ja, of je doet iets in de richting van

    strtotime('+' . $aantal_weken . ' week', $timestamp_van_eerste_dag_van_dat_jaar);

      FOK!-Schrikkelbaas woensdag 4 januari 2006 @ 21:16:51 #83
    1972 Swetsenegger
    Egocentrische Narcist
    pi_33708168
    Ik ben gestopt met roken. Beetje moeite met concentreren nu. PHP'en gaat ook iets trager .
    pi_33708262
    quote:
    Op woensdag 4 januari 2006 21:16 schreef Swetsenegger het volgende:
    Ik ben gestopt met roken. Beetje moeite met concentreren nu. PHP'en gaat ook iets trager .
    . Succes dan maar, en niet teveel op problemen blijven zitten, dat gaat alleen maar voor irritatie zorgen
    pi_33709281
    quote:
    Op woensdag 4 januari 2006 21:10 schreef JeRa het volgende:
    Ja, of je doet iets in de richting van

    strtotime('+' . $aantal_weken . ' week', $timestamp_van_eerste_dag_van_dat_jaar);

    Daar schiet je toch niet zo gek veel mee op? Iets als "thursday week 10 2005" snapt strtotime niet.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_33709884
    -blaat-
    pi_33709889
    quote:
    Op woensdag 4 januari 2006 22:10 schreef SuperRembo het volgende:

    [..]

    Daar schiet je toch niet zo gek veel mee op? Iets als "thursday week 10 2005" snapt strtotime niet.
    Maar daar had JeRa het ook niet over

    Strtotime accepteert ook 2 argumenten, waarbij het tweede argument de timestamp is vanaf waar gerekend moet worden. Standaard is dat natuurlijk de huidige tijd, maar je kunt er ook middernacht, het begin van 1 januari <jaar> invullen.
    pi_33710084
    quote:
    Op woensdag 4 januari 2006 22:10 schreef SuperRembo het volgende:

    [..]

    Daar schiet je toch niet zo gek veel mee op? Iets als "thursday week 10 2005" snapt strtotime niet.
    Je kunt de dag van de week toch opvragen met date()?
    pi_33710540
    Ja dat kan.
    Maar markiemark wil dus de datum weten van bijvoorbeeld de donderdag in week 10 van 2005. Het enige waar je volgens mij strtotime voor kan gebruiken is het optellen van een aantal weken. Dat is maar een onderdeel van het probleem (en ook simpel zonder strtotime te doen).
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_33710664
    Je kan toch de donderdag in week 1 opvragen en daar 9x7 bij optellen?

    -r-
    pi_33713102
    Zo dus

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    // dow: 0 = sunday, 1 = monday, ... 6 = saturday, 7 = sunday
    function dateFromWeek($p_year, $p_week, $p_dow) {
       $date = mktime(0, 0, 0, 1, 4, $p_year);
       $dow = date('w', $date);
       if ($dow == 0) $dow = 7;
       if ($p_dow == 0) $p_dow = 7;
       $date += ($p_week - 1) * 7 * 24 * 60 *60;
       $date += ($p_dow - $dow) * 24 * 60 *60;
       return $date;
    }
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_33722292
    Ik ben de naam van de functie in php welke woorden kan vergelijken, zoiets als google suggest.
    Wie weet hem, het was volgens mij een redelijk onlogische naam, volgens mij naar iemand vernoemt of zo.
    pi_33722497
    levenshtein die zocht ik

    Ik zal de andere ook ff bekijken.
      FOK!-Schrikkelbaas donderdag 5 januari 2006 @ 11:11:34 #95
    1972 Swetsenegger
    Egocentrische Narcist
    pi_33722562
    quote:
    Op donderdag 5 januari 2006 11:09 schreef Darkomen het volgende:
    levenshtein die zocht ik

    Ik zal de andere ook ff bekijken.
    die 'ander' is gewoon de handleiding met alle string functies
    pi_33722660
    Yups ik zag het
    pi_33724479
    dank jullie wel allemaal! ik ga vanmiddag aan de knutsel!
    Amsterdam, stad van hash en coke,
    Waar de vrouwen zich vrouwelijk gedragen..
    En de mannen ook..
    pi_33730440
    quote:
    Op woensdag 4 januari 2006 23:37 schreef SuperRembo het volgende:
    Zo dus
    [ code verwijderd ]
    edit: zie dat het een timestamp is.. cool

    klein probleempje, rembo gaat er hier vanuit dat dag 0 zondag is, 1 maandag enz, maar het is iets anders..
    maandag = 0, dinsdag = 1 enz..

    ik kom er niet uit om dit goed te fixen.. maar het begint er op te lijken!

    [ Bericht 16% gewijzigd door markiemark op 05-01-2006 15:39:50 ]
    Amsterdam, stad van hash en coke,
    Waar de vrouwen zich vrouwelijk gedragen..
    En de mannen ook..
    pi_33732264
    ben er al uit.. op beetje vreemde manier, maar het werkt!
    Amsterdam, stad van hash en coke,
    Waar de vrouwen zich vrouwelijk gedragen..
    En de mannen ook..
      FOK!-Schrikkelbaas zaterdag 7 januari 2006 @ 15:12:47 #100
    1972 Swetsenegger
    Egocentrische Narcist
    pi_33799553
    Probleempje.
    Ik kom op een specifieke pagina met POST data.
    Op die pagina kan ik weer doorklikken met GET data.

    Op die laatste pagina wil ik dmv een javascript history.back terug naar de vorige page. Maar dan krijg ik continue de 'deze pagina is verlopen' warning.

    Nu had ik eens gelezen dat header("Cache-control: private"); dit oplost, maar ik weet even niet goed hoe dit toe te passen en of dit uberhaupt een oplossing is

    Iemand een tip?

    -edit- opgelost

    [ Bericht 9% gewijzigd door Swetsenegger op 07-01-2006 15:26:59 ]
    pi_33840577
    Ik heb de volgende tabel
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    CREATE TABLE
    `last_reacties` (
      `
    id` int(6) NOT NULL auto_increment,
      `
    ber_id` int(6) NOT NULL default '0',
      `
    onderwerp` varchar(35) NOT NULL default '',
      `
    tijd` varchar(14) NOT NULL default '',
      `
    soort` varchar(20) NOT NULL default '',
      `
    IP` varchar(16) NOT NULL default '',
      
    UNIQUE KEY `id` (`id`),
      
    KEY `ber_id` (`ber_id`)
    )
    TYPE=MyISAM AUTO_INCREMENT=0 ;
    ?>


    Met de volgende data erin;
    1
    2
    3
    4
    5
    6
    7
    8
    INSERT INTO `last_reacties` VALUES (1, 8, 'Club Arma', '20060108184603', 'evenementen', '82.156.118.119');
    INSERT INTO `last_reacties` VALUES (8, 59, 'Toevallig kinderporno downloaden st', '20060108185624', 'nieuws', '82.156.1');
    INSERT INTO `last_reacties` VALUES (9, 6, 'Yogurtlu Corba', '20060108185915', 'recepten', '82.156.118.119');
    INSERT INTO `last_reacties` VALUES (10, 60, '''Al-Zarqawi ontsnapt aan Amerikaans', '20060108191002', 'nieuws', '82.156.1');
    INSERT INTO `last_reacties` VALUES (11, 60, '''Al-Zarqawi ontsnapt aan Amerikaans', '20060108191023', 'nieuws', '82.156.1');
    INSERT INTO `last_reacties` VALUES (12, 38, 'nieuws', '20060108191131', 'nieuws', '82.156.118.119');
    INSERT INTO `last_reacties` VALUES (13, 60, '''Al-Zarqawi ontsnapt aan Amerikaans', '20060108191216', 'nieuws', '82.156.11');
    INSERT INTO `last_reacties` VALUES (14, 60, '''Al-Zarqawi ontsnapt aan Amerikaans', '20060108191526', 'nieuws', '82.156.1');


    Ik heb een query om de laatste 10 'inserts' uit te lezen, samengevoegt (GROUP) op ber_id;
    1SELECT id, ber_id, onderwerp, soort FROM `last_reacties` GROUP BY ber_id ORDER BY tijd DESC LIMIT 0, 10


    Hij leest inderdaad de laatste 10 inserts uit, ook voegt (GROUP) hij het samen op ber_id, maar hij GROUP't ze precies andersom.
    Als ik 2 records achter elkaar heb met dezelfde ber_id, dan laat hij de oudste (eerste) record zien, in plaats van de laatste.
    Kijk naar id 13 en 14. Hij voegt 10, 11, 13 en 14 samen omdat ze dezelfde ber_id hebben, maar in plaats van 14 te laten zien, laat hij mij 13 zien.

    Iemand een beter/juiste query voor me ?
    ne okuyon, bokmu var?
    pi_33843008
    Korte vraag; hoe trekken jullie een leeftijd van de huidige datum af om te checken of iemand ouder is dan 18? ik doe het met dit, maar dit geeft af en toe een error

    1
    2
    3
    4
    5
    6
    $eightien = mktime(0,0,0,date("d"),date("m"), date("Y")-18);
                    
    if (mktime(0,0,0, date("d"), date("m"), date("Y") - 18) > mktime(0,0,0, $_POST['day'], $_POST['month'], $_POST['year']))
    {
       // ouder
    }


    Iemand een idee waar ik de fout in ga?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_33843100
    Je volgorde van post vars klopt niet;
    ie. progseltje:

    $birth = mktime(0,0,0,intval($_POST['month']), intval($_POST['day']), intval($_POST['year']));
    if(strtotime('+18 years', $birth) > mktime()) {
    //te jong.
    }

    -r-
    pi_33852901
    Chandler of Roonaan geen oplossing voor mij ? =)
    ne okuyon, bokmu var?
    pi_33854882
    quote:
    Op maandag 9 januari 2006 00:09 schreef saban het volgende:
    Chandler of Roonaan geen oplossing voor mij ? =)
    Ik snap je vraag wel, maar je voorbeeld van een fout niet. Je hebt het over id's 10, 11, 13 en 14 waarvan 10 de oudste is (zover ik kan zien). Toch zeg je dat ie 13 teruggeeft?
    pi_33854985
    quote:
    Op maandag 9 januari 2006 01:35 schreef JeRa het volgende:

    [..]

    Ik snap je vraag wel, maar je voorbeeld van een fout niet. Je hebt het over id's 10, 11, 13 en 14 waarvan 10 de oudste is (zover ik kan zien). Toch zeg je dat ie 13 teruggeeft?
    Zover ik weet kan je niet ordenen in je group statements toch?

    Ik dacht eerst dat hij wel min of max kon gebruiken maar dat gaat alleen op voor tijd. Als hij de message ook wil krijgen wordt dan ingewikkeld. Dit wordt op alfanum gesorteerd.
    pi_33856805
    quote:
    Op zondag 8 januari 2006 19:26 schreef saban het volgende:
    Ik heb de volgende tabel
    [ code verwijderd ]

    Met de volgende data erin;
    [ code verwijderd ]

    Ik heb een query om de laatste 10 'inserts' uit te lezen, samengevoegt (GROUP) op ber_id;
    [ code verwijderd ]

    Hij leest inderdaad de laatste 10 inserts uit, ook voegt (GROUP) hij het samen op ber_id, maar hij GROUP't ze precies andersom.
    Als ik 2 records achter elkaar heb met dezelfde ber_id, dan laat hij de oudste (eerste) record zien, in plaats van de laatste.
    Kijk naar id 13 en 14. Hij voegt 10, 11, 13 en 14 samen omdat ze dezelfde ber_id hebben, maar in plaats van 14 te laten zien, laat hij mij 13 zien.

    Iemand een beter/juiste query voor me ?
    ik gebruik deze op de weblog om de laatste (in mijn geval unieke) reacties te laten zien:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    SELECT 
        r.site_id, 
        b.header,
        MAX(r.time) AS tijd
    FROM 
        b JOIN reacts AS r ON (b.id = r.site_id)
    WHERE 
        r.status = 'active'
    AND 
        b.status = 'active'
    AND 
        r.time > (UNIX_TIMESTAMP() - 259200)
    GROUP BY
        r.site_id, b.header
    ORDER BY 
        `tijd` DESC
    LIMIT 
       0 , 8
    pi_33857595
    quote:
    Op maandag 9 januari 2006 01:35 schreef JeRa het volgende:

    [..]

    Ik snap je vraag wel, maar je voorbeeld van een fout niet. Je hebt het over id's 10, 11, 13 en 14 waarvan 10 de oudste is (zover ik kan zien). Toch zeg je dat ie 13 teruggeeft?
    Waarom is id 10 het oudste ? Ik sorteer op tijd, en id 14 heeft het hoogste waarde (20060108191526), maar hij geeft helaas id 13 terug.
    ne okuyon, bokmu var?
    pi_33857673
    Nu ik er even over nadenk, is dit ook mogelijk

    1
    2
    3
    4
    5
    SELECT id, ber_id, onderwerp, soort
    FROM `last_reacties` 
    GROUP BY onderwerp
    ORDER BY id DESC 
    LIMIT 0 , 10 


    Maar weer laat hij geen id 14 zien, en wel id 13.
    ne okuyon, bokmu var?
    pi_33857744
    Kun je niet de query gebruiken die rickmans aanbiedt?

    En ik snap 'm nu wel weer, het komt er op neer dat je geen ORDER kunt doen vóór een GROUP BY om zo de groepering aan te passen. Je kunt ORDER wel gebruiken om de resultset aan te passen though. Gebruik de MAX()-(group)functie om de hoogste waarde te vinden
    pi_33859556
    even een snel vraagje.

    ik heb een $row->Date van zo'n 20-25 chars. Ik wil alleen de 1e 10 chars laten zien. Ik dacht dat dat kon met echo $row->Date{0,10} maar dat lijkt niet te werken. ik heb hier eventueel wel n wat uitgebreidere functie voor, maar ik dacht dat het ook op deze manier kon.

    Ik heb t fout zeker
    As a rule, I never touch anything more sophisticated and delicate than myself.
    pi_33859584
    substr($row->Date,0,10);

    ?
    pi_33859759
    tx
    As a rule, I never touch anything more sophisticated and delicate than myself.
    pi_33861721
    quote:
    Op maandag 9 januari 2006 09:09 schreef JeRa het volgende:
    Kun je niet de query gebruiken die rickmans aanbiedt?

    En ik snap 'm nu wel weer, het komt er op neer dat je geen ORDER kunt doen vóór een GROUP BY om zo de groepering aan te passen. Je kunt ORDER wel gebruiken om de resultset aan te passen though. Gebruik de MAX()-(group)functie om de hoogste waarde te vinden
    Ik gebruik nu de MAX functie, het werkt al iets beter, maar nog steeds niet 'bug-loos'. Helaas ben ik onbekend met JOINS.
    ne okuyon, bokmu var?
    pi_33863189
    quote:
    Op maandag 9 januari 2006 12:21 schreef saban het volgende:

    [..]

    Ik gebruik nu de MAX functie, het werkt al iets beter, maar nog steeds niet 'bug-loos'. Helaas ben ik onbekend met JOINS.
    Hier heb je geen JOIN voor nodig. Ik heb je tabel geprobeerd en ik merk op dat je het veld 'tijd' als een VARCHAR opslaat. Dit type werkt niet zo geweldig met de MAX()-functie. Beter sla je die tijd op als een Unix Timestamp (epoch), dit is het aantal seconden vanaf 1 januari 1970. Deze kun je in MySQL opvragen als UNIX_TIMESTAMP() en neemt als UNSIGNED INT maar 4 bytes in beslag, dit in tegenstelling tot jouw huidige veld dat een veelvoud van dat inneemt.

    Als je een Unix timestamp als veld gebruikt kun je wél die MAX() gebruiken dan ziet je query er zo uit:

    1
    2
    3
    4
    5
    SELECT id, ber_id, onderwerp, MAX( tijd ) AS mtijd, soort, IP
    FROM last_reacties
    GROUP BY ber_id
    ORDER BY mtijd DESC
    LIMIT 0 , 10
    pi_33864749
    Super simpele vraag misschien, maar ik kom ergens niet uit.

    Ik heb een dir met daarin een 3tal bestanden.
    index.php hoofdpagina, met alle opmaak
    config.inc.php include file met allemaal variabelen met settings, geinclude in index.php
    functions.inc.php include file met allemaal functies die gebruik maken van de variabelen uit config.inc.php, geinclude in index.php

    Als ik bovenstaande doe, dan zijn de waardes van de variabelen leeg. De functies nemen de variableen niet over die gedefinieerd staan in config.inc.php. Hoe regel ik dat zij dat wel overnemen? Iets global oid maken?
    pi_33864827
    In principe zou je die variabelen mee moeten geven bij de functie aanroep als argumenten. Als dat echt niet mogelijk is, zou je kunnen overwegen om define() te gebruiken als het constanten betreft, of als het écht niet anders kan onderstaande te gebruiken:
    1
    2
    3
    4
    5
    <?php
    function ugly() {
      GLOBAL
    $uncleFester, $causinIt;
    }
    ?>


    -r-
    pi_33864901
    global gebruiken is toch vies? of mag dat tegenwoordig wel?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_33865144
    quote:
    Op maandag 9 januari 2006 14:12 schreef Ro�a� het volgende:
    In principe zou je die variabelen mee moeten geven bij de functie aanroep als argumenten. Als dat echt niet mogelijk is, zou je kunnen overwegen om define() te gebruiken als het constanten betreft, of als het écht niet anders kan onderstaande te gebruiken:
    [ code verwijderd ]

    -r-
    thnx

    ik definieer bv in config.inc.php het eerste woord dat na de url komt (www.example.org/woord/)
    Als ik het niet global maak, moet ik iedere keer in een functie opnieuw de string uitlezen, choppen en er een var van maken. Vind ik minder handig. Zie je daar een alternatief voor?
    pi_33865369
    quote:
    Op maandag 9 januari 2006 14:09 schreef ToBe het volgende:
    Super simpele vraag misschien, maar ik kom ergens niet uit.

    Ik heb een dir met daarin een 3tal bestanden.
    index.php hoofdpagina, met alle opmaak
    config.inc.php include file met allemaal variabelen met settings, geinclude in index.php
    functions.inc.php include file met allemaal functies die gebruik maken van de variabelen uit config.inc.php, geinclude in index.php

    Als ik bovenstaande doe, dan zijn de waardes van de variabelen leeg. De functies nemen de variableen niet over die gedefinieerd staan in config.inc.php. Hoe regel ik dat zij dat wel overnemen? Iets global oid maken?
    Er zijn meerdere opties.

    1. Zet heb in de globals array: $GLOBALS['Varname'] = "Tralala";

    2. Gebruik define, zodat het een constante wordt: DEFINE(VAR, "Tralala");

    3. Maak hem global in de functie:

    function Foo() {
    global $var;

    echo $var;
    }

    Het mooiste is inderdaad gewoon om hem mee te geven aan de functie. Dat houdt je functie ook clean.
    pi_33865381
    $parts = explode('/', $_SERVER['QUERY_STRING']);
    define('WOORD1', isset($parts[0]) ? $parts[0] : 'default');

    if(WOORD1 == 'woord') {
    }

    -r-
    pi_33865537
    quote:
    Op maandag 9 januari 2006 14:27 schreef Ro�a� het volgende:
    $parts = explode('/', $_SERVER['QUERY_STRING']);
    define('WOORD1', isset($parts[0]) ? $parts[0] : 'default');

    if(WOORD1 == 'woord') {
    }

    -r-
    Thnx peeps, ik neem het mee in overweging. Even spelen wat ik het lekkerst vind
    pi_33865541
    quote:
    Op maandag 9 januari 2006 14:27 schreef Ro�a� het volgende:
    $parts = explode('/', $_SERVER['QUERY_STRING']);
    define('WOORD1', isset($parts[0]) ? $parts[0] : 'default');

    if(WOORD1 == 'woord') {
    }

    -r-
    Ehm, ik weet niet of het zo'n briljant plan is om misbruik te maken van constanten. Constanten horen constant te zijn, en niet variabel nu definiëer je een 'constante' die elke request anders is, daar is natuurlijk weinig constant aan en is mijns inziens nogal vies.

    Beter geef je voor een functie de benodigde variabelen via de parameters door, eventueel via een volledig $config-object.
    pi_33865720
    quote:
    Op maandag 9 januari 2006 14:32 schreef JeRa het volgende:

    [..]

    Ehm, ik weet niet of het zo'n briljant plan is om misbruik te maken van constanten. Constanten horen constant te zijn, en niet variabel nu definiëer je een 'constante' die elke request anders is, daar is natuurlijk weinig constant aan en is mijns inziens nogal vies.

    Beter geef je voor een functie de benodigde variabelen via de parameters door, eventueel via een volledig $config-object.
    Ja en nee. Ik vind het beter dan het overbodig rondslingeren van ellenlange argumentlijsten omdat een serie telkens terugkeerende runtime sermi-constanten mee te geven.
    Doe jij dan nooit:
    define('LANG', @$_REQUEST['lang'] == 'nl' ? 'nl' : 'en');
    Of soortgelijk?

    -r-
    pi_33865822
    quote:
    Op maandag 9 januari 2006 14:37 schreef Ro�a� het volgende:

    [..]

    Ja en nee. Ik vind het beter dan het overbodig rondslingeren van ellenlange argumentlijsten omdat een serie telkens terugkeerende runtime sermi-constanten mee te geven.
    Doe jij dan nooit:
    define('LANG', @$_REQUEST['lang'] == 'nl' ? 'nl' : 'en');
    Of soortgelijk?

    -r-
    Nee, alleen voor échte constanten waarvan ik niet verwacht dat ze binnen afzienbare tijd zullen veranderen doe ik op die manier. Voor de rest doe ik het zo (voorbeeldje):

    $config = array();
    ...
    $config['charset'] = 'iso-8859-15';
    $config['lang'] = (getCookie('lang') == 'nl') ? 'nl' : 'en';
    ...
    doSomething($config);

    Of heel eventueel, als ik de parameters zat ben, dit:

    function doSomething()
    {
    global $config;
    //etc
    }
    pi_33869581
    quote:
    Op maandag 9 januari 2006 13:12 schreef JeRa het volgende:

    [..]

    Hier heb je geen JOIN voor nodig. Ik heb je tabel geprobeerd en ik merk op dat je het veld 'tijd' als een VARCHAR opslaat. Dit type werkt niet zo geweldig met de MAX()-functie. Beter sla je die tijd op als een Unix Timestamp (epoch), dit is het aantal seconden vanaf 1 januari 1970. Deze kun je in MySQL opvragen als UNIX_TIMESTAMP() en neemt als UNSIGNED INT maar 4 bytes in beslag, dit in tegenstelling tot jouw huidige veld dat een veelvoud van dat inneemt.

    Als je een Unix timestamp als veld gebruikt kun je wél die MAX() gebruiken dan ziet je query er zo uit:
    [ code verwijderd ]
    Dan moet ik waarschijnlijk heel mijn database structuur ombouwen. Of ik moet het omslachtig doen door een extra tabel te maken met enkel de laatste reacties, gebaseerd op jou code.
    ne okuyon, bokmu var?
    pi_33901221
    ik las ergens iets over serverload qua processorusage en memusage. hoe tjek ik dat bij n eigen script?
    As a rule, I never touch anything more sophisticated and delicate than myself.
    pi_33901664
    mem_get_usage() dacht ik. processor power weet ik niet.
      dinsdag 10 januari 2006 @ 14:04:30 #129
    65471 SkaterSam
    Lurking Galore
    pi_33901821
    Verdorie mijn script wil een while loop niet laten werken...

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $db->query("SELECT * FROM nieuws WHERE n_status = 'visible' ORDER BY n_id DESC");
    if (mysql_num_rows($db->resultaten) <= 0) {
       ?>
       <h2>Geen resultaten</h2>
       <p>
          Er zijn geen resultaten gevonden in de database
       </p>
       <?php
    } else {
       while ($nieuws = $db->fetch()) { //loop hier }

    Nu krijg ik dus de hele tijd maar 1 resultaat in plaats van de 5 die er moeten zijn, ligt dit aan mijn query? In een ander script werkt een soortgelijke query met while loop namelijk wel.

    En een tweede vraag is hoe je de eerste vijftig woorden van een tekstbericht kan halen? Moet dat zo:

    1
    2
    3
    $bericht = explode(' ', $nieuws['nieuws']);
    //echo het resultaat
    echo substr(implode(' ', $bericht), 0, 50);

    Maar dan krijg ik alleen de eerste 50 woorden...
    Let's make life easy
    Typo's are the demon spawn from hell !
    pi_33902128
    je wijst geen nieuwe data toe aan $db in de while loop?

    ik ken verder het principe wat je gebruikt niet.
    probeer anders dit eens:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    $query
    = "SELECT * FROM nieuws WHERE n_status = 'visible' ORDER BY n_id DESC";
    $result = mysql_query($query);
    if (
    mysql_num_rows($db-&gt;resultaten) &lt;= 0) {
       
       &
    lt;h2&gt;Geen resultaten&lt;/h2&gt;
       &
    lt;p&gt;
          
    Er zijn geen resultaten gevonden in de database
       
    &lt;/p&gt;
       
    php
    } else {
    while (
    $nieuws = mysql_fetch_object($result)){ // loop hier }
    ?>
    As a rule, I never touch anything more sophisticated and delicate than myself.
    pi_33902425
    Ik heb een vraag over mysql en database design. Ik heb al een paar keer een simpele website gebouwd waar ik de data gewoon uit een tabellteje kon halen maar volgens mij moet het deze keer anders.

    Ik zal even uitleggen wat ik wil:
    Een website met een CMS waarin de gebruiker data kan toevoegen. Het CMS moet heel simpel zijn en dus eigenlijk gewoon een formulier waar de tekst in staat, de gebruiker kan het aanpassen maar niks met de layout doen. Dmv van CSS wordt vervolgens de layout bepaalt. Alleen hebben we daarnaast een linkjes overzicht, een nieuws pagina en een rapporten overzicht.

    De nieuwspagina is anders omdat die ook in RSS moet worden uitgelezen. Nou vraag me af hoe kan ik dit het beste aanpakken, welke database opbouw werkt het snelst en zorgt ervoor dat ik zo min mogelijk php code nodig heb.

    En daarnaast, wat is het meest flexibel, als ik in de toekomst nog een bijzondere pagina wil toevoegen (nv fotooverzicht) welke manier van database opbouw is dan het makkelijkst voor mij.

    In de database komen de volgende onderdelen:
    Normale tekst -titel - tekts
    Nieuws -titel-beschrijving-tekst-datum
    Linkjes --URL- beschrijving
    Rapporten -naam-nummer -datum-URL (link naar het rapport)

    En voor de website heb ik nog -menu nodig

    Ik hoop dat iemand mij kan helpen hoe ik dit het beste kan oplossen!
    Alvast bedankt
      dinsdag 10 januari 2006 @ 14:37:21 #132
    65471 SkaterSam
    Lurking Galore
    pi_33903161
    quote:
    Op dinsdag 10 januari 2006 14:12 schreef Desdinova het volgende:
    je wijst geen nieuwe data toe aan $db in de while loop?
    Ja, wel dus , ik gebruik een tweede $db->query in de while loop om de categorie te achterhalen, nu heb ik dat verandert in een normale query ($ret = mysql_query($query)), en dan doet ie het wel?

    Ik kan dus niet nog een keer $db->query doen in de while loop?
    Let's make life easy
    Typo's are the demon spawn from hell !
    pi_33903425
    nee
    want dan raaktie je while-gegevens kwijt ofzo.

    [edit]
    k snap waarom

    ff met mijn code, zodat ik t zelf snap.

    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $query
    = "SELECT * FROM a WHERE b = 'c'";
    $result = mysql_query($query);

    while (
    $row = mysql_query($result)){
    //loop
    }
    ?>


    als je de query wijzigt in de loop, wijzigt $result ook. en die roeptie op bij de while.
    en daar gaat het dus fout

    [ Bericht 87% gewijzigd door Desdinova op 10-01-2006 14:55:24 ]
    As a rule, I never touch anything more sophisticated and delicate than myself.
      woensdag 11 januari 2006 @ 13:28:21 #134
    64276 9christensen
    Grolsch bier is gezond
    pi_33936214
    Ik zoek een makkelijk phpscript waarmee ik een gastenboek kan maken. In dit gastenboek wil ik dat je berichten kunt quoten. Ik heb al op veel scriptsites gezocht, maar ben nog niet iets tegen gekomen.
    Het is het eindpunt van de trein, bijna geen mens hoeft er te zijn, bijna geen hond gaat zover mee:
    [b]Enschede![/b]
    pi_33936588
    quote:
    Op woensdag 11 januari 2006 13:28 schreef 9christensen het volgende:
    Ik zoek een makkelijk phpscript waarmee ik een gastenboek kan maken. In dit gastenboek wil ik dat je berichten kunt quoten. Ik heb al op veel scriptsites gezocht, maar ben nog niet iets tegen gekomen.
    Zoek een gastenboek op welke met Mysql werkt,

    voeg er onder elke berichtje een quote-knopje toe waarin je de bericht ID naar het formulier doorspeelt

    Zoek vervolgens het bericht op in de database aan de hand van dat IDnummer, zet er quote-tags omheen en voeg een preg_expr toe welke van [quote] > <blockquote> maakt oid.
      woensdag 11 januari 2006 @ 14:08:23 #136
    64276 9christensen
    Grolsch bier is gezond
    pi_33937314
    quote:
    Op woensdag 11 januari 2006 13:40 schreef the_disheaver het volgende:

    [..]

    Zoek een gastenboek op welke met Mysql werkt,

    voeg er onder elke berichtje een quote-knopje toe waarin je de bericht ID naar het formulier doorspeelt

    Zoek vervolgens het bericht op in de database aan de hand van dat IDnummer, zet er quote-tags omheen en voeg een preg_expr toe welke van [quote] > <blockquote> maakt oid.
    mja, zo slim ben ik nog niet met php.

    ik zoek eigenlijk naar een scriptje dat alles al doet.
    Het is het eindpunt van de trein, bijna geen mens hoeft er te zijn, bijna geen hond gaat zover mee:
    [b]Enschede![/b]
      woensdag 11 januari 2006 @ 14:51:48 #137
    111578 tsjsieb
    but not cheap...
    pi_33938728
    quote:
    Op woensdag 11 januari 2006 14:08 schreef 9christensen het volgende:

    [..]

    mja, zo slim ben ik nog niet met php.

    ik zoek eigenlijk naar een scriptje dat alles al doet.
    Misschien kun je naar smartisoft phpBook kijken, deze heb ik vroeger ooit eens gebruikt.
    Ik geloof dat ie toen alleen niet helemaal perfect met firefox werkte, maar dat zou je zelf even moeten proberen.
    pi_33939196
    hoe installeer ik die verpauperde PEAR-packages, via de CLI lukt het niet.

    gebruik trouwens voor het gemak PHPdev met php 4.3 erbij, bij wie is het hiermee wel gelukt? Bij het openen van mijn php-cli.exe en php.exe krijg ik een 'php4ts.dll niet gevonden' fout

    Man ik ben 90% van de tijd kwijt met dingen instellen en aanpassen van de localhostinstellingen.


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Error


    Sorry! PEAR_Frontend_Web is not yet compatible

    with PEAR 1.4.x. A new version will be available soon.

    Until then, you may install the CLI version of PEAR,

    or grab the CVS version of PEAR_Frontend_Web via

    anonymous CVS (WARNING: experienced developers only)


    Wat moet ik hiermee, zoals ik dus al zei ben ik er al een tijdje mee bezig geweest.. maar ben ik helemaal niet van dat instellinggepriegel en meer van het scriptwerk zelf.
    Wie helpt me uit de brand of heeft wat tips?

    [ Bericht 32% gewijzigd door Fatality op 11-01-2006 19:42:23 ]
      woensdag 11 januari 2006 @ 19:29:29 #139
    37634 wobbel
    Da WoBBeL King
    pi_33947814
    Ik heb een DB met allerlei downloads met als titel 3532526_hierbestands_datum_dag.doc

    Hoe zorg ik ervoor dat ALLEEN alles voor de eerste _ wordt verwijderd? In dit geval dus alle nummers voor de eerste _.

    alle overige _ enzo mogen wel blijven staan
    pi_33949196
    Iets dergelijks? Niet getest.

    1$titel = substr( $titel, strpos( $titel, "_" ) + 1 );
    pi_33949709
    quote:
    Op woensdag 11 januari 2006 19:58 schreef Nevermind het volgende:
    Iets dergelijks? Niet getest.
    [ code verwijderd ]
    offe:
    1
    2
    array = explode ("_", $bestandsnaam");
    $nieuw_bestandnaam = $array[1]."_".$array[2]."_".$array[3];

    Moet wel werken, maar niet getest. De vorige lijkt me netter.
    pi_33949799
    quote:
    Op woensdag 11 januari 2006 20:10 schreef the_disheaver het volgende:

    [..]

    offe:
    [ code verwijderd ]

    Moet wel werken, maar niet getest. De vorige lijkt me netter.
    Dan zou ik wel iets als dit doen, iets flexibeler;

    1
    2
    3
    $array = explode( "_", $titel );
    unset( $array[0] );
    $titel = implode( "_", $array );


    Maar goed, waarom moeilijk doen als het makkelijk kan
      woensdag 11 januari 2006 @ 21:17:35 #143
    51748 H4ze
    wait...what?
    pi_33952101
    SQL vraagje...

    Kan het kloppen dat het niet mogelijk is om in 1 DELETE statement gegevens uit meerdere tabellen te verwijderen?
    *BURP*
    pi_33953997
    Check the manual het is dus wel degelijk mogelijk om met één DELETE-statement rows uit meerdere tabellen te verwijderen.
    pi_33958409
    Ik probeer een XML bestand te parsen, wat opzich goed gaat, maar ik val over een paar dingen.

    Ik moet oa informatie hebben die tussen <description>-tags staat. Dit lukt, maar als er tussen de start en eindtag witregels worden gebruikt, pakt de parser het maar tot de witregel.

    Dus
    1
    2
    3
    <description>BlaBla

    123!!</description>

    Levert als output alleen 'BlaBla'. Een nl2br(); lost hierbij niks op,

    Daarnaast is er ook een probleem als er een < of >-teken wordt gebruikt (bijvoorbeeld als er een link is opgenomen in de description, of een <b>-tag). De parser stopt dan ook op dit punt. De tags staan er trouwens niet hard in, maar in hun html-entity-waarde, dus &l_t en >. Dit geldt ook voor tekens als apostrof (') enzo, maar die kan ik er uitvissen met een ereg_replace:
    1$data = ereg_replace("&apo_s","'",$data);

    Doe ik dit echter bij de < en >-tekens, krijg ik deze error:
    quote:
    XML error: not well-formed at line xxx
    Die line xxx is overigens de eerste lijn in de xml-file waar zo'n <-teken staat.

    Als laatste puntje heb ik een probleem om de inhoud van een tag met een namespace-verwijzing daarin te pakken te krijgen. In dit geval de tag <lj:mood>. Ik begreep uit documentatie dat die namespace slechts ter identificatie dient en je gewoon op de tag zonder de namespace kan zoeken. Dus in dit geval <mood>. Helaas blijft mijn variabele waarin de inhoud van de tag zou moeten staan dan leeg .

    Iemand suggesties? Ik blijf zelf ook dingen proberen natuurlijk, als ik antwoorden heb post ik ze hier .

    In de voorbeelden hier heb ik die html-entities wat aangepast, want anders worden ze als teken neergezet door Replikk. In mijn echte code staan ze goed, dus zonder underscore en met punt-komma.

    De code van mijn parser.
    Die Welt ist alles was der Fall ist.
    pi_33959595
    quote:
    Op woensdag 11 januari 2006 15:05 schreef Fatality het volgende:
    hoe installeer ik die verpauperde PEAR-packages, via de CLI lukt het niet.

    gebruik trouwens voor het gemak PHPdev met php 4.3 erbij, bij wie is het hiermee wel gelukt? Bij het openen van mijn php-cli.exe en php.exe krijg ik een 'php4ts.dll niet gevonden' fout

    Man ik ben 90% van de tijd kwijt met dingen instellen en aanpassen van de localhostinstellingen.
    [ code verwijderd ]

    Wat moet ik hiermee, zoals ik dus al zei ben ik er al een tijdje mee bezig geweest.. maar ben ik helemaal niet van dat instellinggepriegel en meer van het scriptwerk zelf.
    Wie helpt me uit de brand of heeft wat tips?
    ok klaar. heb het gefixt en het loopt.

    Weet iemand een online digitale dictionary ofzo? Ik volg soms de Engelse digiterminologie niet volledig.
    pi_33960207
    freetranslation.com?
      donderdag 12 januari 2006 @ 00:19:10 #148
    32768 DionysuZ
    Respect my authority!
    pi_33960782
    babelfish.altavista.com
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
      FOK!-Schrikkelbaas donderdag 12 januari 2006 @ 16:46:27 #149
    1972 Swetsenegger
    Egocentrische Narcist
    pi_33978661
    Even een situatie schtes.

    Ik heb een aantal zinnen in een exel sheet
    Deze exel sheet wordt in 9 talen vertaald

    Vervolgens moeten deze zinnen in een txtfile komen waarbij de newline vervangen wordt door een ~ en alle html entities moeten vervangen worden door hun daadwerkelijk entitie (& uuml;, etc)

    Ok, daar heb ik een prachtig scriptje voor geschreven. Zodra ik mijn vertaalde exel sheetje heb binnen gekregen, plak ik de kolom in een txtfile. Upload de txtfile mijn scriptje in, en hij komt er geconverteerd uitrollen.

    Maar...... Helaas helaas zijn sommige teksten javascript alerts en confirms. En daar moeten entities vervangen worden door unicode (\u00f9, etc).

    Nu wil ik mijn script dus aanpassen dat ik de txtfile kan uploaden (zoals ik nu al doe) en een aantal nummers kan intikken van de zinnen welke unicode moeten worden ipv html entities. Vervolgens moet ik DIE specifieke nummers in mijn file array doorzoeken op html entities zoals ø en vervangen door unicode.

    Lange inleiding, maar het gaat nu om dit laatste. Ik heb een array met nummers, bv 10, 11, 13, 18.
    Die nummers staan gelijk aan de regels in mijn txt file voordat de newlines zijn vervangen door ~
    Die regels moet ik dan stuk voor stuk gaan doorzoeken op ß, à, á en vervangen door hun unicode equivalent \u00DF, \u00E0, \u00E1.

    Hoe ga ik dat laatste aanpakken? Een array waarbij de key de entity is en de value de unicode. En indien de key voorkomt in de array welke ik doorzoek, deze swappen met de value?

    Het huidige script
    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
    <html>
    <head>
    <title>Linebreak to tilde convertor</title>
    <script type="text/javascript">
    function getPath() {
       document.myForm.path.value = document.myForm.file.value;
    }
    </script>
    <?php
    if(isset($_POST['submit'])){
        $path=stripslashes($_POST['path']);

    $document=file("{$_FILES['file']['tmp_name']}");
    foreach($document as $lines){
      $lines=str_replace("\n",'~',$lines);
    }
    $document=implode("~",$document);
    $document=str_replace("\r\n",'',$document);
    $document=htmlentities($document);

    //referer schrijven naar bestand

    $fp=fopen("$path",'w+');

          fwrite($fp,"$document");
          fclose($fp);
    }

    ?>
    </head>
    <body>
    <?
    if(!empty($document)){
    echo "$document";
    }else{
    ?>
    LET OP: De te converteren files moeten op de desktop staan ivm rechten
    <form name="myForm" onsubmit="getPath()" enctype="multipart/form-data" action="convertor.php" method="post">
    <input type="hidden" name="MAX_FILE_SIZE" value="1000000" /></p>
    <input type="hidden" name="path" value="">
    <p>Textfile: <input name="file" type="file" /></p>
    <input type="submit" name="submit" value="convert" />
    <?}?>
    </form>
    </body>
    </html>
    pi_33979464
    Je voegt een textveld toe aan je form waarin je in 1,2,3,4-format de regels aangeeft, vervolgens vervang je je php stuk:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $unicode_lines = explode(',', $_POST['unicodelines']);

    $output = '';
    foreach($document as $line_number => $line){
      if(in_array($line_number + 1, $unicode_lines)) {
        $output .= unicode_functie(trim($line)).'~';
      } else {
        $output .= htmlentities(trim($line)).'~';
     }
    }

    $f = fopen($path,'w');
    fwrite($f, $output);
    fclose($f);


    Zoiets ongeveer?
      FOK!-Schrikkelbaas donderdag 12 januari 2006 @ 17:14:58 #151
    1972 Swetsenegger
    Egocentrische Narcist
    pi_33979764
    quote:
    Op donderdag 12 januari 2006 17:06 schreef Ro�a� het volgende:
    Je voegt een textveld toe aan je form waarin je in 1,2,3,4-format de regels aangeeft, vervolgens vervang je je php stuk:
    [ code verwijderd ]

    Zoiets ongeveer?
    De vraag was meer hoe ik die unicode_functie schrijf
    Overigens heb je hier ook niet implode toch?
    pi_33980050
    Moet je even bij http://nl2.php.net/ord, staat in de comments redelijk wat over uniord.
      FOK!-Schrikkelbaas donderdag 12 januari 2006 @ 17:28:53 #153
    1972 Swetsenegger
    Egocentrische Narcist
    pi_33980304
    quote:
    Op donderdag 12 januari 2006 17:22 schreef Ro�a� het volgende:
    Moet je even bij http://nl2.php.net/ord, staat in de comments redelijk wat over uniord.
    Ik zie er inderdaad wel het een en ander tussen staan.
    Bedankt!
    pi_33981806
    Ik gebruik al een tijd een manier om mysql hacks tegen te gaan..
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function mysql_text($in)
    {
        $remove = array("select ", "insert ", "update ", "delete ", "drop ", "'", "union ", "--");

        foreach ($remove as $key)
        {
            $in = str_replace($key, "", $in);
        }

        return addslashes($in);
    }


    maar denk dat dit niet de meest handige manier is... iemand een ander idee?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_33982141
    Wat voor MySQL hacks wil je tegengaan? Ik neem aan dat je niet zomaar een mysql_query() uitvoert op user input?

    De beste manier is je user input vailderen en op de juiste manier in een query te zetten:

    1
    2
    3
    4
    $getal = intval($_GET['userGetal']);
    $string = trim($_GET['userString'];

    $result = mysql_query('SELECT FROM `tabel` WHERE `getal` = ' . $getal . ' AND `string` = \'' . mysql_real_escape_string($string) . '\'');

    In plaats van mysql_real_escape_string() kun je ook addslashes() gebruiken, maar die houdt geen rekening met de collation van de database.
    pi_33985218
    collation? kun je dat nog even uitleggen?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_33985425
    quote:
    Op donderdag 12 januari 2006 19:41 schreef Chandler het volgende:
    collation? kun je dat nog even uitleggen?
    Dat is de character set van een database, tabel of kolom in latere versies van MySQL (vanaf 4 geloof ik, en die is stable). Zie ook deze pagina voor een betere uitleg
      FOK!-Schrikkelbaas donderdag 12 januari 2006 @ 22:08:18 #158
    1972 Swetsenegger
    Egocentrische Narcist
    pi_33992568
    quote:
    Op donderdag 12 januari 2006 17:22 schreef Ro�a� het volgende:
    Moet je even bij http://nl2.php.net/ord, staat in de comments redelijk wat over uniord.
    Hier staat wel het een en ander, maar gaat veel te ver voor wat ik nodig heb, en is ook niet simpel te verbouwen tot wat ik nodig heb.

    Ik hou eigenlijk 1 probleem over. Hoe vind ik in een string een htmlentitie ZONDER dat deze gelijk omgezet wordt naar z'n entity.

    Kortom, hoe vind ik ä, zonder dat deze direkt omgezet wordt naar & auml;.

    1
    2
    3
    $str='hülp';
    $entities = get_html_translation_table(HTML_ENTITIES,ENT_NOQUOTES);
    foreach ($entities as $entity){


    Ok, nu moet ik dus door de string stappen en ALS een karakter een entitie is, moet ik 'm omzetten naar ord(het karakter)

    met strstr etc kom ik er niet. Die geven alles terug VANAF de gevonden entity .

    -edit- stuk verder

    1
    2
    3
    4
    5
    6
    7
    8
    9
    $str='hülp';
    $entities = get_html_translation_table(HTML_ENTITIES,ENT_NOQUOTES);
    foreach ($entities as $entity){
        $pos=strpos($str,$entity);
        $char='\u00'.dechex(ord(substr($str,$pos+1,1)));
        $str=str_replace($entity,$char,$str);
    }

    echo $str;


    output hülp ipv h\u00fclp

    je moet natuurlijk wel op de key's van de $entities array checken

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?
    $str='hülp ü';
    $entities = get_html_translation_table(HTML_ENTITIES,ENT_NOQUOTES);
    foreach ($entities as $entity => $value){
        $pos=strpos($str,$entity);
        if($pos!==false){
            $char='\u00'.dechex(ord(substr($str,$pos,1)));
            $str=str_replace($entity,$char,$str);
        }
    }

    echo $str;

    ?>


    [ Bericht 22% gewijzigd door Swetsenegger op 12-01-2006 22:44:50 ]
    pi_34037392
    In mysql.

    Wanneer je ergens sorteert met ASC

    Dan zou een waarde 0 toch boven de waarde 1 moeten staan?

    Nu staat het als volgt:
    1
    1
    0
    0
    10
    10

    Lijkt me niet de juiste volgorde (btw: er staat 0, geen NULL)
    pi_34040456
    quote:
    Op zaterdag 14 januari 2006 01:49 schreef the_disheaver het volgende:
    In mysql.

    Wanneer je ergens sorteert met ASC

    Dan zou een waarde 0 toch boven de waarde 1 moeten staan?

    Nu staat het als volgt:
    1
    1
    0
    0
    10
    10

    Lijkt me niet de juiste volgorde (btw: er staat 0, geen NULL)
    normaal gesproken wel, hoe ziet je table eruit en hoe ziet je query er exact uit? Het is nooit zonder reden dat iets niet gaat zoals je het verwacht.
    pi_34041289
    quote:
    Op zaterdag 14 januari 2006 07:39 schreef rickmans het volgende:

    [..]

    normaal gesproken wel, hoe ziet je table eruit en hoe ziet je query er exact uit? Het is nooit zonder reden dat iets niet gaat zoals je het verwacht.
    Dat laatste zal wel het geval zijn. Het is een forum waar ik ff wat wou toevoegen, maar met een vreemd resultaat.

    Ik ga het wel ff testen in phpmyadmin,
    pi_34042041
    Bovenstaande klopt niet geheel, maar de volgorde is in ieder geval niet juist. Maar 1 van de kolomnamen is 'open'. In phpmyadmin lijkt het net dat hij die open als een aparte functie ziet (er wordt een nieuwe regel geopend, en heeft dezelfde stijl als 'SELCET', 'WHERE' enzo). Wel is het in klein capitaal ingevoerd. Kan dit er iets mee te maken hebben?

    1
    2
    3
    4
    5
    6
    7
    SELECT icon.title AS icontitle, icon.iconpath, thread.threadid,
     thread.title, lastpost, forumid, pollid, open , replycount, postusername,
     postuserid, lastposter, thread.dateline, views, thread.iconid, notes,
     thread.visible, sticky, votetotal, attach
    FROM thread
    LEFT JOIN icon ON ( icon.iconid = thread.iconid ) 
    ORDER BY sticky DESC , open DESC 


    Hoe hij zou moeten sorteren is:
    sticky DESC (waardes 1 bovenaan, 0 onderin)
    vervolgens op OPEN
    waardes 1 bovenin
    waardes 0 onderin.
    waardes 10 onderin of als 1 gesorteerd.
    (open=10 zijn alle verplaatste topics. Het mooiste zou zoals het nu is dat ze gewoon tussen de open=1 (normale open topics) staan, en gesorteerd op tijd.
    Eventueel zouden ze ook onderin mogen.

    Kan ik ook iets sorteren via een andere volgorde dan ASC of DESC? (dus een eigen sorteerindex bepalen)

    [ Bericht 7% gewijzigd door the_disheaver op 14-01-2006 11:29:55 ]
    pi_34042118
    Zet dan backticks om `open` heen.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_34042307
    quote:
    Op zaterdag 14 januari 2006 11:28 schreef SuperRembo het volgende:
    Zet dan backticks om `open` heen.
    Dank, dat geeft een logische volgorde aan.

    maar dan de vervolgvraag (zie edit) kan ik ook een eigen sorteerindex maken, anders dan ASC of DESC zodat hij sorteert
    1
    1
    0
    0
    10
    10

    Of misschien dat hij waardes met een 0 onderin zet, en waardes groter dan 0 bovenin?

    Of moet je daarvoor phpcode voor gaan toevoegen?
    pi_34042749
    nee daarvoor hoef je geen phpcode toevoegen maar zou zeggen dat je sorteer index nooit een 0 is.
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_34043225
    @the_disheaver:
    Ik dacht dat je probleem was dat de sorteervolgorde 1, 0, 10 werd. Maar het probleem is dus dat je wil dat de sorteervolgorde 1, 0, 10 wordt, maar dat je niet weet hoe je dat moet doen.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_34043342
    1
    2
    3
    4
    5
    6
    7
    8
    ORDER BY
       sticky DESC,
       CASE `open` 
          WHEN 1 THEN 1 
          WHEN 0 THEN 2 
          WHEN 10 THEN 3 
          ELSE 4 
       END ASC
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_34043404
    Leuk man, dat inline scripten in mysql.. altijd handig!!
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      zaterdag 14 januari 2006 @ 20:05:25 #169
    37634 wobbel
    Da WoBBeL King
    pi_34058797
    met is_numeric() kan je kijken of een string numeriek is.
    Maar is er ook een variant om te kijken of er alleen letters inzitten?
    pi_34058937
    Ik heb er nooit van gehoord, maar ik vond deze functie.
    Ik gebruik er altijd een simpele preg_match voor, maar ik weet niet wat sneller/beter is.
    pi_34066957
    quote:
    Op zaterdag 14 januari 2006 12:10 schreef SuperRembo het volgende:
    @the_disheaver:
    Ik dacht dat je probleem was dat de sorteervolgorde 1, 0, 10 werd. Maar het probleem is dus dat je wil dat de sorteervolgorde 1, 0, 10 wordt, maar dat je niet weet hoe je dat moet doen.
    Die eerste post klopte idd niet echt. waarschijnlijk de volgorde waar hij weer gegeven werd, en hoe ik wou dat het weer gegeven werd door elkaar gehaald. Maar het was zeker wel een niet logische volgorde.

    Dank voor je SQL, zal het ff proberen!
    pi_34067076
    quote:
    Op zaterdag 14 januari 2006 12:14 schreef SuperRembo het volgende:

    [ code verwijderd ]
    Tof, in phpmyadmin doet hij het goed. Nu nog in het php-bestand veranderen. Dank!

    edit: aangepast in het script en het werkt! Nogmaals dank
    pi_34082273
    Ik krijg dus verschillende $_POST waarden naam, wachtwoord etc.
    maar nu staat er dit:

    1
    2
    3
    4
    5
    if ( get_magic_quotes_gpc () ) {
       foreach ( $_POST as $key => $value ) {
          $_POST [ $key ] = stripslashes ( $value );
       };
    };

    wat is hier de meerwaarde het $key invoegen?
    De array $_POST wordt toch vanzelf doorgelopen, en daar hoef ik toch niet nog de $key vooor te gebruiken?
    pi_34082406
    foreach maakt een kopie van de array. Als je vervolgens value = stripslashes($value) alleen zou doen, zou er in $_POSt helemaal niets veranderd zijn. Daarom moet je met foreach expliciet terugschrijven naar de $_POST array.
    pi_34084075
    ohja natuurlijk omdat je de gestipte $_POST ook buiten de foreach wilt gebruiken
    pi_34087965
    Een PHP / Apache vraagje:

    Ik heb meerdere domeinnamen voor één en dezelfde site. Nu heb ik op 1 server deze site staan en de andere servers wil ik ook deze site laten tonen. Nu doe ik dat door in een frame de site te laden, maar dat is natuurlijk lelijk en men kan dan ook zien dat het een andere site betreft (in een andere taal, dat wel).

    Nu had ik het volgende bedacht, maar ik weet niet precies hoe ik het helemaal moet uitvoeren. In de .htaccess wil ik middels mod_rewrite alles paginaverzoeken op de tweede server laten doorverwijzen naar pagina.php?verzoek=*paginaverzoek*.

    Dus www.b.be/contact.php -> www.b.be/pagina.php?contact.php.

    Nu kan ik dat wel met de hand in gaan stellen voor elke pagina apart, maar dat is een beetje onhandig. Het bestand pagina.php bevat dan <?php include("www.a.nl/".$verzoek); ?>.

    Dat leek mij wel een nette oplossing. Ik werk niet meer met frames. De bezoeker ziet niet dat hij feitelijk op een andere server zit en het werkt ook wel makkelijk.

    Alleen ik weet niet hoe ik dat .htaccess bestand moet maken (de mod_rewrite code dan).
    Schuimpje... mijn liefste. Verlaat mij nimmer weer...
    pi_34088804
    Is het niet mogelijk om met VirtualHosts te werken? Dan kun je een ServerAlias opgeven en werkt het exact hetzelfde voor zowel domein www.a.nl als voor www.b.nl
    pi_34088915
    quote:
    Op zondag 15 januari 2006 16:45 schreef JeRa het volgende:
    Is het niet mogelijk om met VirtualHosts te werken? Dan kun je een ServerAlias opgeven en werkt het exact hetzelfde voor zowel domein www.a.nl als voor www.b.nl
    Daar heb ik helemaal geen verstand van
    Schuimpje... mijn liefste. Verlaat mij nimmer weer...
    pi_34089930
    1
    2
    RewriteEngine On
    RewriteRule    ^(.*)$   /index.php?verzoek=$1


    Dit werkt, voor zover ik kan zien. Is dit ook correct en veilig?
    Schuimpje... mijn liefste. Verlaat mij nimmer weer...
    pi_34108326
    ah eindelijk mijn phpwerkjes mbv v.h pear-framework beginnen te draaien
    pi_34114116
    quote:
    Op zaterdag 14 januari 2006 20:05 schreef wobbel het volgende:
    met is_numeric() kan je kijken of een string numeriek is.
    Maar is er ook een variant om te kijken of er alleen letters inzitten?
    iidd een regular expression ding ertegen aan knallen, ctype_alpha() is idd nog beter
    pi_34130207
    1$datasource = $db_engine . '://' .  $db_user . ':'  $db_pass . '@' . $db_host  . '/' . $db_name;


    ik vraag me af he, wat doen die punten ( . ) telkens na en voor die variabelen?
    zorgen die ervoor dat de aanhalingstekens gescheiden blijven en zo niet aan de variabelen gaan plakken waardoor ze evt. string kunnen worden?
    pi_34130575
    doe eens een print van datasource en je zal zien wat er gebeurt .
    pi_34130583
    -

    [ Bericht 100% gewijzigd door the_disheaver op 16-01-2006 19:03:19 ]
    pi_34131747
    String Operators
    [edit] Ai, wat ben ik traag [/edit]
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_34133235
    Huh, vroegâh gebruikte ik daar gewoon + voor
    pi_34133412
    quote:
    Op maandag 16 januari 2006 20:01 schreef Fatality het volgende:
    Huh, vroegâh gebruikte ik daar gewoon + voor
    Dat is optellen wat niet hetzelfde is als string concatten is.

    Doe dit maar eens in PHP:

    echo '5' + '3';

    En dit:

    echo '5' . '3';

    En je merkt het verschil (mede mogelijk gemaakt door loose typing)
      FOK!-Schrikkelbaas maandag 16 januari 2006 @ 20:22:52 #188
    1972 Swetsenegger
    Egocentrische Narcist
    pi_34134233
    quote:
    Op maandag 16 januari 2006 20:05 schreef JeRa het volgende:

    [..]

    Dat is optellen wat niet hetzelfde is als string concatten is.

    Doe dit maar eens in PHP:

    echo '5' + '3';

    En dit:

    echo '5' . '3';

    En je merkt het verschil (mede mogelijk gemaakt door loose typing)
    gokje, uitkomst 8 en uitkomst 53?
    pi_34134813
    quote:
    Op maandag 16 januari 2006 20:22 schreef Swetsenegger het volgende:

    [..]

    gokje, uitkomst 8 en uitkomst 53?
    Het was een vraagstuk voor Fatality ja voor gevorderde PHP'ers behoort dit basiskennis te zijn enzo
      FOK!-Schrikkelbaas maandag 16 januari 2006 @ 20:43:08 #190
    1972 Swetsenegger
    Egocentrische Narcist
    pi_34135235
    quote:
    Op maandag 16 januari 2006 20:33 schreef JeRa het volgende:

    [..]

    Het was een vraagstuk voor Fatality ja
    Ja die is het aan het inkloppen
    quote:
    voor gevorderde PHP'ers behoort dit basiskennis te zijn enzo
    Ik deed het helemaal uit het blote bolletje .
    pi_34136022
    quote:
    Op maandag 16 januari 2006 20:43 schreef Swetsenegger het volgende:

    [..]

    Ja die is het aan het inkloppen
    [..]

    Ik deed het helemaal uit het blote bolletje .
    Nee kijk, de beredenering erachter was dat Fatality die twee echo's zou overnemen en zou zeggen:

    "Omfg lollercopter, nu snap ik die hendig sjieke kankerkachels! Wellicht zou ik dit zo ook kunnen testen bij ándere operators die ik nog niet ken!"

    En zodoende was al het gepostopkrik mijner zijde niet nodig geweest
    pi_34137524
    quote:
    Op maandag 16 januari 2006 20:59 schreef JeRa het volgende:

    [..]

    Nee kijk, de beredenering erachter was dat Fatality die twee echo's zou overnemen en zou zeggen:

    "Omfg lollercopter, nu snap ik die hendig sjieke kankerkachels! Wellicht zou ik dit zo ook kunnen testen bij ándere operators die ik nog niet ken!"

    En zodoende was al het gepostopkrik mijner zijde niet nodig geweest
      FOK!-Schrikkelbaas maandag 16 januari 2006 @ 21:31:48 #193
    1972 Swetsenegger
    Egocentrische Narcist
    pi_34137652
    quote:
    Op maandag 16 januari 2006 20:59 schreef JeRa het volgende:

    [..]

    Nee kijk, de beredenering erachter was dat Fatality die twee echo's zou overnemen en zou zeggen:

    "Omfg lollercopter, nu snap ik die hendig sjieke kankerkachels! Wellicht zou ik dit zo ook kunnen testen bij ándere operators die ik nog niet ken!"

    En zodoende was al het gepostopkrik mijner zijde niet nodig geweest
    Mooi he dat je kan bijdrage aan de educatie van minder bedeelde php'ers .
    pi_34137893
    quote:
    Op maandag 16 januari 2006 21:31 schreef Swetsenegger het volgende:

    [..]

    Mooi he dat je kan bijdrage aan de educatie van minder bedeelde php'ers .
    Ik barst 's nachts wel eens in huilen uit, puur vanwege de pracht

    Oh. Ehm. Even een educatief momentje.

    $postopkrik++;

    Is trager dan

    ++$postopkrik;

    Maar verschillen weldegelijk in de geretourneerde waarde bij evaluatie. De eerste zal de waarde vóór de increment retourneren, terwijl de tweede de waarde ná de increment retourneert. Dit maakt de tweede variant sneller daar er geen tijdelijke variabele hoeft worden bijgehouden.

    En nu weer echt ontopic
    pi_34141332
    quote:
    Op woensdag 11 januari 2006 23:26 schreef keeper het volgende:
    Ik probeer een XML bestand te parsen, wat opzich goed gaat, maar ik val over een paar dingen.

    Ik moet oa informatie hebben die tussen <description>-tags staat. Dit lukt, maar als er tussen de start en eindtag witregels worden gebruikt, pakt de parser het maar tot de witregel.

    Dus
    [ code verwijderd ]

    Levert als output alleen 'BlaBla'. Een nl2br(); lost hierbij niks op,

    Daarnaast is er ook een probleem als er een < of >-teken wordt gebruikt (bijvoorbeeld als er een link is opgenomen in de description, of een <b>-tag). De parser stopt dan ook op dit punt. De tags staan er trouwens niet hard in, maar in hun html-entity-waarde, dus &l_t en >. Dit geldt ook voor tekens als apostrof (') enzo, maar die kan ik er uitvissen met een ereg_replace:
    [ code verwijderd ]

    Doe ik dit echter bij de < en >-tekens, krijg ik deze error:
    [..]

    Die line xxx is overigens de eerste lijn in de xml-file waar zo'n <-teken staat.

    Als laatste puntje heb ik een probleem om de inhoud van een tag met een namespace-verwijzing daarin te pakken te krijgen. In dit geval de tag <lj:mood>. Ik begreep uit documentatie dat die namespace slechts ter identificatie dient en je gewoon op de tag zonder de namespace kan zoeken. Dus in dit geval <mood>. Helaas blijft mijn variabele waarin de inhoud van de tag zou moeten staan dan leeg .

    Iemand suggesties? Ik blijf zelf ook dingen proberen natuurlijk, als ik antwoorden heb post ik ze hier .

    In de voorbeelden hier heb ik die html-entities wat aangepast, want anders worden ze als teken neergezet door Replikk. In mijn echte code staan ze goed, dus zonder underscore en met punt-komma.

    De code van mijn parser.
    Niemand die hier nog geniale gedachtes over heeft? Ik zit er zelf ook een beetje vast mee. Geen idee waarop ik moet zoeken ook.
    Die Welt ist alles was der Fall ist.
    pi_34144090
    over die < en die > is een functie, htmlentities() voor.
    Amsterdam, stad van hash en coke,
    Waar de vrouwen zich vrouwelijk gedragen..
    En de mannen ook..
      dinsdag 17 januari 2006 @ 00:11:04 #197
    65471 SkaterSam
    Lurking Galore
    pi_34144863
    Even een vraagje, ik heb een nieuwsbericht waarin door nl2br() de breaks er in worden gezet. Dus voor paragrafen wordt dat dus een dubbele break. Nu wil ik echter alleen de eerste paragraaf selecteren, dus het eerste deel voor de dubbele break, dus ik probeer met explode() te breken, maar in de geretourneerde code van nl2br() zitten de breaks onder elkaar

    1
    2
    3
    blablablabla hier<br />
    <br />
    blablabla etc...

    dus ik kan niet explode('<br /><br />'), iemand die een oplossing weet.

    Ik weet ook niet helemaal wat een \r (carriage return) en een \n (newline) is, dan kon ik mijn eigen functie schrijven (iets als preg_replace('\r', '<br />', $string) ofzoiets).
    Let's make life easy
    Typo's are the demon spawn from hell !
    pi_34145363
    @SkaterSam

    Ik weet niet hoe bij jou de nieuwsberichten worden opgeslagen, doe je dit mét of zonder HTML?

    Zonder is het namelijk vrij simpel; dan hoef je alleen te zoeken op twee opeenvolgende "\n"-tekens (gegeven dat je de "\r" tekens gefilterd hebt of op een andere manier hebt weggelaten). Sla je de berichten zowel met HTML als met carriage returns en newlines op, dan zul je aan de slag moeten met preg_split()
    pi_34145546
    quote:
    Op maandag 16 januari 2006 23:53 schreef markiemark het volgende:
    over die < en die > is een functie, htmlentities() voor.
    Dan krijg ik dus een XML Wellformedness error .

    Ik heb nu een ander scriptje gebrouwen, dat gewoon de inhoud van de xml inleest en dan echoot. Wat ik dan moet hebben is dus dat hij de data die tussen de tags <description> en </description> staat, inclusief html-entities en de hele whitespace rommel, naar de variabele 'description' schrijft.

    Ik heb nu een interessant uitziende tutorial gevonden op http://www.wdvl.com/Authoring/Languages/PHP/Pro/prophp5_2.html, dus die ga ik maar even (morgen) doorspitten.
    Die Welt ist alles was der Fall ist.
      dinsdag 17 januari 2006 @ 00:28:09 #200
    65471 SkaterSam
    Lurking Galore
    pi_34145587
    Zo'n bericht wordt ongeëdit opgeslagen, dus direct van de textarea af in MySQL, pas wanneer ze eruit worden gehaald worden ze gebroken met nl2br(). Dat betekent dus dan dat ik beter een eigen functie kan schrijven?

    1preg_replace("\n\n", "<br /><br />", $string)
    Let's make life easy
    Typo's are the demon spawn from hell !
    pi_34145705
    quote:
    Op dinsdag 17 januari 2006 00:11 schreef SkaterSam het volgende:
    Even een vraagje, ik heb een nieuwsbericht waarin door nl2br() de breaks er in worden gezet. Dus voor paragrafen wordt dat dus een dubbele break. Nu wil ik echter alleen de eerste paragraaf selecteren, dus het eerste deel voor de dubbele break, dus ik probeer met explode() te breken, maar in de geretourneerde code van nl2br() zitten de breaks onder elkaar
    [ code verwijderd ]

    dus ik kan niet explode('<br /><br />'), iemand die een oplossing weet.

    Ik weet ook niet helemaal wat een \r (carriage return) en een \n (newline) is, dan kon ik mijn eigen functie schrijven (iets als preg_replace('\r', '<br />', $string) ofzoiets).
    1
    2
    3
    4
    <?php
    $argument
    = "<br />\r\n<br />\r\n";
    $blaat = explode($argument, $blaat);
    ?>
    pi_34146288
    quote:
    Op dinsdag 17 januari 2006 00:28 schreef SkaterSam het volgende:
    Zo'n bericht wordt ongeëdit opgeslagen, dus direct van de textarea af in MySQL, pas wanneer ze eruit worden gehaald worden ze gebroken met nl2br(). Dat betekent dus dan dat ik beter een eigen functie kan schrijven?
    [ code verwijderd ]
    [offtopic]
    preg_replace() behoor je voornamelijk te gebruiken als je ook daadwerkelijk een regular expression hebt. Wil je een normale string of een array van strings replacen door iets anders, dan moet je gaan voor str_replace() welke vele malen sneller is
      dinsdag 17 januari 2006 @ 00:56:33 #203
    65471 SkaterSam
    Lurking Galore
    pi_34146476
    Dank voor de info! Nu had ik nog een vraagje, is het mogelijk wanneer je resultaten ophaalt uit MySQL met een while() loop, om het laatste resultaat te kiezen, om bijvoorbeeld net een andere layout te gebruiken.
    Let's make life easy
    Typo's are the demon spawn from hell !
    pi_34149545
    Jawel;

    je kan met $numRows = mysql_num_rows($resultVariable); het aantal regels opvragen, gegeven dat je query aanroep als $resultVariable = mysql_query() gevormd is ($resultVariable moet in beide gevallen dezelfde var zijn).

    Vervolgens kan je in je while een tellertje opnemen:
    $i = 1;
    while($row = mysql_fetch_assoc($resultVariable)) {
    $i++;
    if($i == $numRows) {
    //laatste regel
    }
    }

    -r-
    pi_34149579
    Nog maar een vraagje, mijn vorige vraag hier heeft mij wat handige inzichten opgeleverd (ik ben trouwens toen voor de $config['bla'] en dan in functies global $config gegaan).

    Ik heb binnen mijn applicaties 2 soorten pagina's, pagina's die toonbaar zijn voor iedereen die ingelogd is en pagina's die zichtbaar zijn voor mensen die ingelogd zijn EN een bepaalde rol hebben toegewezen.

    Wat ik zou kunnen doen per pagina is:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <?php
    if (!isset($_SESSION['login']) && $_SESSION['login'] != 1)
    {
      echo
    'niet toegestaan dit te zien';
    }
    else
    {
      if(
    $_SESSION['role'] != "bla")
      {
        echo
    'Niet toegestaan';
      }
      else
      {
         echo
    'laat alles gewoon maar zien';
      }
    }
    ?>


    Maar is dit een handige manier? Kan dit niet slimmer, zodat ik niet overal van die accoladers moet plaatsen.

    Ik heb zitten denken aan iets met die of break, maar ik meen dat dan gelijk alles wordt afgebroken, en de hoofdpagina index.php include alle andere pagina's. De rest zou dan ook niet worden gedisplayed, naar ik meen.

    Iemand suggesties?
    pi_34149662
    Ja en nee.

    Als het een include file is, kan je 'return' gebruiken om uit de include file terug naar de parent file te springen:

    1
    2
    3
    4
    5
    6
    7
    <?php
    if (!isset($_SESSION['login']) && $_SESSION['login'] != 1)
    {
      echo 'niet toegestaan dit te zien';
      return;
    }
    ?>

    Vervolgens zou je nog die tweede if, in de eeste kunnen opnemen:
    1
    2
    3
    4
    5
    6
    7
    if(   !isset($_SESSION['login']) || $_SESSION['login'] != 1
        ||!isset($_SESSION['role']) || $_SESSION['role'] != "bla")
      {
        echo 'Niet toegestaan';
       return;
      }
    ?>

    Hier zou je vervolgens een functie van kunnen breien zodat het uiteindelijk iets wordt als:

    1
    2
    3
    4
    5
    <?php
    if(!userLoggedInAs("bla")) {
      return;
    }
    ?>

    De functie zelf zou je dan als volgt kunnen doen:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function userLoggedInAs($role, $displayWarning = true) {
      if(   isset($_SESSION['login']) && $_SESSION['login'] == 1
         &&!isset($_SESSION['role']) && $_SESSION['role'] == $role) {
       return true;

    if($displayWarning) {
      echo 'U heeft geen toegang';
    }
    return false;
    }
      FOK!-Schrikkelbaas dinsdag 17 januari 2006 @ 08:31:11 #207
    1972 Swetsenegger
    Egocentrische Narcist
    pi_34149666
    Je kan de eerste en tweede if toch gewoon samenvoegen?
    en checken op isset EN een waarde is volgens mij een beetje onzin. Als Session['login'] niet geset is, zal hij ook geen 1 zijn.
    pi_34149747
    Yeps het samenvoegen had ik ook gezien, vroeg mij alleen af (wilde ik nog testen) of het sneller is om twee maal los te checken of in 1 keer beide.

    Ik ga even kijken wat ik met bovenstaande dingen kan doen. Thnx for the help!
    pi_34149892
    quote:
    Op dinsdag 17 januari 2006 08:31 schreef Swetsenegger het volgende:
    Je kan de eerste en tweede if toch gewoon samenvoegen?
    en checken op isset EN een waarde is volgens mij een beetje onzin. Als Session['login'] niet geset is, zal hij ook geen 1 zijn.
    Het is niet strikt noodzakelijk om eerst te checken op isset, maar het is wel netter. Ik geloof dat PHP een notice geeft als je een vergelijking uitvoert met een variabele die niet geset is, en door isset te gebruiken kun je dat afvangen. Als je ooit in een andere taal wilt gaan programmeren dan is het handiger om je meteen die isset-checks aan te leren, de meeste talen zijn er niet zo makkelijk in.
      FOK!-Schrikkelbaas dinsdag 17 januari 2006 @ 09:19:47 #210
    1972 Swetsenegger
    Egocentrische Narcist
    pi_34150361
    quote:
    Op dinsdag 17 januari 2006 08:50 schreef Light het volgende:

    [..]

    Het is niet strikt noodzakelijk om eerst te checken op isset, maar het is wel netter. Ik geloof dat PHP een notice geeft als je een vergelijking uitvoert met een variabele die niet geset is, en door isset te gebruiken kun je dat afvangen. Als je ooit in een andere taal wilt gaan programmeren dan is het handiger om je meteen die isset-checks aan te leren, de meeste talen zijn er niet zo makkelijk in.
    Ik zeg niet dat hij niet moet controleren op isset, maar controleren op isset EN value is nutteloos. Met een or zoals in roonaan zijn voorbeeld is wat logischer.
    pi_34150681
    quote:
    Op dinsdag 17 januari 2006 09:19 schreef Swetsenegger het volgende:

    [..]

    Ik zeg niet dat hij niet moet controleren op isset, maar controleren op isset EN value is nutteloos. Met een or zoals in roonaan zijn voorbeeld is wat logischer.
    als je de notice wil voorkomen is isset niet nutteloos, alleen is het de vraag of je doel moet zijn om die notice te voorkomen .
      FOK!-Schrikkelbaas dinsdag 17 januari 2006 @ 09:38:02 #212
    1972 Swetsenegger
    Egocentrische Narcist
    pi_34150728
    quote:
    Op dinsdag 17 januari 2006 09:34 schreef rickmans het volgende:

    [..]

    als je de notice wil voorkomen is isset niet nutteloos, alleen is het de vraag of je doel moet zijn om die notice te voorkomen .
    Nee precies.
    Dus je controlleert of de sessie bestaat en zoja, controleer je of hij de waarde heeft welke je verwacht
      woensdag 18 januari 2006 @ 12:08:55 #213
    51748 H4ze
    wait...what?
    pi_34195095
    Ik zit hier met een SQL boek voor me, en daar staat de scalaire functie 'CONVERT_DATE' in (converteert een datum zoals 1988-05-20 naar 20 mei 1988). Nu wil ik deze ff op m'n mysql DB uitproberen:

    1
    2
    3
    SELECT CONVERT_DATE(releasedatum) 
    FROM catalogusnummer
    WHERE releasedatum='2004-10-12' 


    Dit werkt dus niet...In dat boek stond ook dat deze functie in enkele producten CTOD heet, maar ook wanneer ik dat gebruik krijg ik een foutmelding.
    *BURP*
    pi_34195296
    is je database column wel het goede formaat? of zou dat niet uitmaken.
    As a rule, I never touch anything more sophisticated and delicate than myself.
      woensdag 18 januari 2006 @ 12:18:22 #215
    51748 H4ze
    wait...what?
    pi_34195430
    Jep, die is gewoon in 't DATE formaat. Ik kan verder ook gewoon dingen als YEAR(releasedatum) enzo doen, dus dat zit gewoon goed
    *BURP*
    pi_34197391
    quote:
    Op woensdag 18 januari 2006 12:18 schreef H4ze het volgende:
    Jep, die is gewoon in 't DATE formaat. Ik kan verder ook gewoon dingen als YEAR(releasedatum) enzo doen, dus dat zit gewoon goed
    mm okee. dan weet ik t niet. wat ik wel weet, is dat jij dus n boek hebt liggen daar
    [boeken] verschillende talen en graden

    als jij dat nou s in mijn supergoedlopendetopic plaatst
    As a rule, I never touch anything more sophisticated and delicate than myself.
    pi_34197565
    Ik kan de convert_date functie niet vinden in de MySQL manual.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      FOK!-Schrikkelbaas woensdag 18 januari 2006 @ 13:45:40 #218
    1972 Swetsenegger
    Egocentrische Narcist
    pi_34198547
    Ik ken wel DATE_FORMAT

    1
    2
    3
    SELECT DATE_FORMAT(releasedatum,%d-%m-%Y) AS dutch_date 
    FROM catalogusnummer
    WHERE releasedatum='2004-10-12' 
    pi_34199068
    $nummer = 4;
    $nummer = "4";

    het werkt allebei. welke is netter?
    As a rule, I never touch anything more sophisticated and delicate than myself.
    pi_34199657
    $nummer = 4.. dan is het een integer
    $nummer = "4", dan is het een string

    Als je iets wilt teller kan je dus beter de eerste variant gebruiken
    pi_34200739
    quote:
    Op woensdag 18 januari 2006 13:59 schreef Desdinova het volgende:
    het werkt allebei. welke is netter?
    Dit verhaal zul je in elke programmeertaal tegenkomen maar vooral ook in PHP aangezien PHP loose typing ondersteunt. Als jij met getallen wilt werken moet je integers gebruiken, wil je met strings werken dan zet je er aanhalingstekens omheen. MySQL een beetje hetzelfde verhaal, je kúnt timestamps wel opslaan in een VARCHAR(zoveel) maar het is over het algemeen (en technisch gezien) veel beter daar gewoon een UNSIGNED INT voor te gebruiken. Als je specifiek met data wilt werken kun je ook het DATE of DATETIME type voor gebruiken.

    Moraal van het verhaal: twee manieren kunnen hetzelfde opleveren maar als je de meest logische keuze neemt heb je vaak ook de efficiëntste methode en later minder problemen in andere talen.
      FOK!-Schrikkelbaas woensdag 18 januari 2006 @ 15:27:18 #222
    1972 Swetsenegger
    Egocentrische Narcist
    pi_34202780
    Is het met php mogelijk om de resolutie van een image welke op het filesystseem staat te achterhalen?
    Met andere woorden, ik plaats een rijtje foto's waarvan de naam in de database staat, maar de fysieke foto in het filesysteem op een website. En ik wil nu een height en width meegeven.

    Aangezien die variabel is, dien ik die dus te achterhalen op het moment van plaatsing.
    pi_34202837
    quote:
    Op woensdag 18 januari 2006 15:27 schreef Swetsenegger het volgende:
    Is het met php mogelijk om de resolutie van een image welke op het filesystseem staat te achterhalen?
    Met andere woorden, ik plaats een rijtje foto's waarvan de naam in de database staat, maar de fysieke foto in het filesysteem op een website. En ik wil nu een height en width meegeven.

    Aangezien die variabel is, dien ik die dus te achterhalen op het moment van plaatsing.
    Dat en nog veel meer is te achterhalen met deze functie alhoewel je dat soort informatie beter kunt cachen in de database (al die disk reads zijn niet geweldig voor de performance)
      FOK!-Schrikkelbaas woensdag 18 januari 2006 @ 15:34:55 #224
    1972 Swetsenegger
    Egocentrische Narcist
    pi_34203085
    quote:
    Op woensdag 18 januari 2006 15:28 schreef JeRa het volgende:

    [..]

    Dat en nog veel meer is te achterhalen met deze functie alhoewel je dat soort informatie beter kunt cachen in de database (al die disk reads zijn niet geweldig voor de performance)
    Ja, het probleem is dat het bestaande informatie is. 'even' deze info in de db erbij opslaan zal dus niet gaan.

    Hmz....
    pi_34203391
    quote:
    Op woensdag 18 januari 2006 15:34 schreef Swetsenegger het volgende:

    [..]

    Ja, het probleem is dat het bestaande informatie is. 'even' deze info in de db erbij opslaan zal dus niet gaan.

    Hmz....
    Twee velden in de database aanmaken en vervolgens:
    1) Een scriptje laten draaien dat van alle bestanden de afmetingen in de database opslaat
    2) Een interface schrijven die bij het opvragen van de informatie kijkt of het al in de database staat, zo niet, het dan inleest door middel van die functie en wegschrijft naar de database

    En dan natuurlijk bij nieuwe afbeeldingen de informatie vantevoren al opslaan dan kun je na een tijdje optie 2) uitfaseren (alhoewel me 1) het beste lijkt).
      FOK!-Schrikkelbaas woensdag 18 januari 2006 @ 16:06:18 #226
    1972 Swetsenegger
    Egocentrische Narcist
    pi_34204578
    quote:
    Op woensdag 18 januari 2006 15:41 schreef JeRa het volgende:

    [..]

    Twee velden in de database aanmaken en vervolgens:
    1) Een scriptje laten draaien dat van alle bestanden de afmetingen in de database opslaat
    2) Een interface schrijven die bij het opvragen van de informatie kijkt of het al in de database staat, zo niet, het dan inleest door middel van die functie en wegschrijft naar de database

    En dan natuurlijk bij nieuwe afbeeldingen de informatie vantevoren al opslaan dan kun je na een tijdje optie 2) uitfaseren (alhoewel me 1) het beste lijkt).
    Ik heb even gekeken. Op dit moment heeft 99% van de images dezelfde resolutie. Dus die gooi ik in 1 keer in de database.
    De afbeeldingen worden uiteraard via het cms geupload en geresized. Ik kan dus heel eenvoudig dat script aanpassen zodat voor elke nieuwe upload de hoogte en breedte in de database gezet wordt.

    En die 5 foto's met een afwijkende resolutie zet ik er handmatig in.

    Probleem opgelost.
    pi_34208262
    if ($row = $rst->fetchRow()) { // Bestaat de waarde al?

    Nou $row is nergens een waarde toegekend eerder in de code.
    Nu snap ik niet helemaal wat nu wordt vergeleken, een object waarin de fetchRowwaarde in is gedrukt wordt vergeleken met een lege variabel?
    pi_34208861
    @Fatality:

    Dit is een toewijzing:

    $a = 1;

    Eigenschap van deze toewijzing is dat hij hetgeen dat toegewezen wordt retourneert. Je kunt dus dit doen:

    if (($a = 1) == 1) {
    echo '1 is toegewezen aan $a!';
    }

    En als je zoiets doet:

    if ($row = $rst->fetchRow()) {
    //blaat
    }

    Dan wordt er gewoon gekeken of er iets wordt toegewezen aan $row dat ongelijk aan nul evalueert
      woensdag 18 januari 2006 @ 19:12:50 #229
    51748 H4ze
    wait...what?
    pi_34211560
    quote:
    Op woensdag 18 januari 2006 13:45 schreef Swetsenegger het volgende:
    Ik ken wel DATE_FORMAT
    [ code verwijderd ]
    Ah, die werkt wel! Thnx
    *BURP*
      FOK!-Schrikkelbaas woensdag 18 januari 2006 @ 19:36:30 #230
    1972 Swetsenegger
    Egocentrische Narcist
    pi_34212603
    quote:
    Op woensdag 18 januari 2006 16:06 schreef Swetsenegger het volgende:

    Ik kan dus heel eenvoudig dat script aanpassen zodat voor elke nieuwe upload de hoogte en breedte in de database gezet wordt.
    Dat is dus niet helemaal waar.

    De foto's worden geschaald in een resize functie:

    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
    function resize_photo($new_name,$new_width,$new_height,$filename){

    // Content type
    header('Content-type: image/jpeg');

    // nieuwe resolutie bepalen
    list($width_orig, $height_orig) = getimagesize($filename);
    if(empty($new_height)){
                            $new_height = round(($new_width / $width_orig) * $height_orig);

    }elseif(empty($new_width)){
             $new_width = round(($new_height / $height_orig) * $width_orig);

    }elseif ($new_width && ($width_orig < $height_orig)) {
             $new_width = ($new_height / $height_orig) * $width_orig;

    }else{
                            $new_height = ($new_width / $width_orig) * $height_orig;
    }

    // Resample
    $image_p = imagecreatetruecolor($new_width, $new_height);
    $image = imagecreatefromjpeg($filename);
    imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width_orig, $height_orig);

    // Output
    imagejpeg($image_p, $new_name, 80);
    Imagedestroy($image);
    }

    De nieuwe resolutie is dus een bij produkt van deze funtie.
    Maar.... nu heb ik ze dus verderop in het script nodig. Hoe krijg ik die nu uit de functie?

    $resolution=array($new_width,$new_height);
    return $resolution;

    Dit heb ik toegevoegd, maar wanneer ik in mijn script NA de functie call een print_r ($resolution); doe krijg ik in ieder geval niets terug.
    pi_34213234
    Even samengevat:

    1
    2
    3
    4
    5
    6
    7
    8
    function blaat()
    {
        return array(1, 2);
    }

    $resultaat = blaat();

    print_r($resultaat);

    Dat is je basisopzet om een array terug te krijgen van je functie; je weet zeker dat het zo in elkaar zit?
    pi_34213255
    Je doet toch wel iets als $resolution = resize_photo(...); hè? just checking
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_34214684
    Goedenavond,

    Voor een IFK vak heb ik een persoonlijke opdracht gekregen over SQL. Nu ben ik hier niet echt een ster in dus schakel ik de hulplijn in
    Ik moet informatie uit een database halen via SQL queries.
    De bedoeling is om dit te doen via de volgende volgorde:
    SELECT:
    WHERE:
    FROM:
    SORT BY:
    GROUP BY:
    HAVING:
    Hierachter moeten dus de functies komen (als ik het goed zeg). Sub-Query's zijn toegestaan.

    Een van de vragen waar ik niet uit kom is:
    Bepaal per factuur het factuurbedrag. Toon factuurnummer, factuurdatum eb factuurbedrag. Let op!: De verkoopprijs is exclusief een korting voor de afnemer.

    Daarbij moet ik gebruik maken van de Tabellen
    Factuur(factuurnummer, afnemernummer,factuurdatum en personeelsnummer)
    Factuurregel(factuurnummer, artikelcode, verkoopaantal, verkoopprijs)
    Korting (kortinggroepnummer, kortingspercentage)
    Afnemer(afnemernummer,naam,adres,postcode,plaats,regio,kortinggroepnummer)

    Ik weet dat het een ultieme n00b-vraag is, maar hoop toch dat iemand mij kan helpen...
    pi_34215333
  • Stap 1: zoek alle artikelen bij de factuur
  • Stap 2: bepaal het totaalbedrag (zonder korting)
  • Stap 3: zoek het kortingspercentage bij de factuur
  • Stap 4: bepaal het factuurbedrag
  • Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_34215495
    quote:
    Op woensdag 18 januari 2006 20:41 schreef SuperRembo het volgende:
  • Stap 1: zoek alle artikelen bij de factuur
  • Stap 2: bepaal het totaalbedrag (zonder korting)
  • Stap 3: zoek het kortingspercentage bij de factuur
  • Stap 4: bepaal het factuurbedrag
  • Tot die beredenatie kwam ik ook nog Nu alleen nog uitvoeren, das een beetje het probleem zeg maar...
    pi_34215682
    Probeer eens wat. Stap 1 moet wel lukken lijkt me.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      FOK!-Schrikkelbaas woensdag 18 januari 2006 @ 21:01:38 #237
    1972 Swetsenegger
    Egocentrische Narcist
    pi_34216332
    quote:
    Op woensdag 18 januari 2006 19:50 schreef JeRa het volgende:
    Even samengevat:
    [ code verwijderd ]

    Dat is je basisopzet om een array terug te krijgen van je functie; je weet zeker dat het zo in elkaar zit?
    quote:
    Op woensdag 18 januari 2006 19:51 schreef SuperRembo het volgende:
    Je doet toch wel iets als $resolution = resize_photo(...); hè? just checking
    Nee dus heren, tenslotte is $resolution een bijprodukt van resize();

    Momenteel roep ik 'm zo aan

    1
    2
    3
    $new_width=175;
    $new_height=75;
    resize_photo($new_name,$new_width,$new_height,$filename);


    Maar daar kan ik dus zonder problemen

    1$resolution=resize_photo($new_name,$new_width,$new_height,$filename);

    van maken?

    -edit- ja dus
    pi_34216930
    quote:
    Op woensdag 18 januari 2006 21:01 schreef Swetsenegger het volgende:
    Nee dus heren, tenslotte is $resolution een bijprodukt van resize();
    Nee hoor, $resolution is helemaal geen bijproduct van resize() de variabele zelf gaat out of scope nadat de functie klaar is en het resultaat wordt klaarblijkelijk gewoon weggegooid en raak je dus ook kwijt
      FOK!-Schrikkelbaas woensdag 18 januari 2006 @ 22:23:49 #239
    1972 Swetsenegger
    Egocentrische Narcist
    pi_34220994
    quote:
    Op woensdag 18 januari 2006 21:12 schreef JeRa het volgende:

    [..]

    Nee hoor, $resolution is helemaal geen bijproduct van resize() de variabele zelf gaat out of scope nadat de functie klaar is en het resultaat wordt klaarblijkelijk gewoon weggegooid en raak je dus ook kwijt
    Je begrijpt niet wat ik bedoel.
    De functie resize is nooit bedoeld om de uiteindelijke resolutie terug te geven. Tot vandaag interesseerde die me niet.
    Dus die werd inderdaad alleen in de functie gebruikt om de image te resizen naar de juiste maat, en was nergens in de global scope nodig en dus weggegooid.

    Dus in die zin was de resolutie welke in resize() wordt gebruikt een bijprodukt van de functie
    pi_34225651
    quote:
    Op woensdag 18 januari 2006 17:53 schreef JeRa het volgende:
    @Fatality:

    Dit is een toewijzing:

    $a = 1;

    Eigenschap van deze toewijzing is dat hij hetgeen dat toegewezen wordt retourneert. Je kunt dus dit doen:

    if (($a = 1) == 1) {
    echo '1 is toegewezen aan $a!';
    }

    En als je zoiets doet:

    if ($row = $rst->fetchRow()) {
    //blaat
    }

    Dan wordt er gewoon gekeken of er iets wordt toegewezen aan $row dat ongelijk aan nul evalueert
    verdomd ik moet die operators eens allemaal uitmekaar halen.
      donderdag 19 januari 2006 @ 10:55:45 #241
    89068 Gh0stbust3r
    Ruud van Nistelrooy
    pi_34233570
    Hallo,

    ik moet voor school een website maken met php. Ik heb geen kennis van php, weet iemand een site of iets dergelijks waarmee ik wel een begin kan maken aan de website... Heb echt 0.0 verstand ervan
    Trainer van *Manchester United* ( @ www.hattrick.org )
      donderdag 19 januari 2006 @ 14:37:08 #242
    37634 wobbel
    Da WoBBeL King
    pi_34240931
    Ik zit met een vaag dillema.

    Ik heb een webshop die multishop is, dat wil zeggen dat op 1 domeinnaam 3 virtuele shops lopen d.m.v. een sessie. Tabel Shops heeft dus 3 records (1,2 en 3 met resp. LCD, MP3 en GSM shop)

    Nu heb ik ook een tabel met alle producten erin. Deze producten kan je koppelen aan 1 shop, 2 shops maar ook alle 3 de virtuele shops.
    Dit gebeurd met een speciale tabel genaamd ProductLinkShops. Hierin staat voor elk product een record om hem te koppelen aan een shop.

    Voorbeeld van ProductLinkShops.
    1 | 64 | 3
    2 | 64 | 2
    3 | 24 | 1
    4 | 122 | 1
    5 | 33 | 3

    1 t/m 5 is gewoon het id van dat record, 64, 24 122 en 33 zijn ProductId's en die 3, 2, 1, 1 en 3 zijn de betreffende shops waarin ze moeten voorkomen. Het systeem werkt prima

    Maar nu moet ik een search maken

    Je moet kunnen zoeken in de titel van het product. Maar hij mag alleen de producten weergeven als ze ook voor de huidige shop bedoeld zijn.
    Als ik in shop 3 zoek, mag ik dus alleen product 33 en product 64 in beeld krijgen (als de trefwoorden kloppen)

    Hoe de neuk flik ik dat?

    Ik heb nu dit, maar dit geeft ALTIJD 0 resultaten weer

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    $rSearchQuery                                                
    = mysql_query ( "SELECT
                                                                    Producten.ProductNaam,
                                                                    Producten.KorteOmschrijving,
                                                                    Producten.LangeOmschrijving,
                                                                    ProductenLinkShop.pls_productId,
                                                                    ProductenLinkShop.pls_shopId
                                                                    FROM Producten
                                                                    INNER JOIN ProductenLinkShop
                                                                    ON ( ProductenLinkShop.pls_productId = Producten.IdProduct )
                                                                    WHERE ProductenLinkShop.pls_shopId = '"
    . $_SESSION['CCShop'] . "'
                                                                    AND Producten.ProductNaam = '%"
    . $sSearchTerm . "%'" ) or die ( mysql_error (  ) );
    ?>
      donderdag 19 januari 2006 @ 15:02:03 #243
    71796 dossie
    lekker makkelijk
    pi_34241891
    Ik wou even kijken hoe een random password maken in zijn werk gaat.

    Nu kwam ik de volgende voorbeeldcode tegen op php.net, een reactie bij de functie mt_rand.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    php
      $acceptedChars
    = 'azertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN0123456789';
      
    $max = strlen($acceptedChars)-1;
      
    $password = null;
      for(
    $i=0; $i &lt; 8; $i++) {
       
    $password .= $acceptedChars{mt_rand(0, $max)};
      }
      echo
    $password;
    ?>


    Ik snap de accolades achter de variabele $acceptedChars niet! Ik heb de code getest, en hij werkt gewoon zoals het hoort. Maar ik dacht dat je die accolades alleen gebruikt voor een functie of een lus ofzo, en hier wordt het gewoon achter de variabale gezet.

    Kan iemand mij dit uitleggen?
    "Het geheugen van het hart zeeft slechte herinneringen weg en maakt de goede mooier. Dat stelt ons in staat om met het verleden te leven." - Gabriel Garcia Marquez
    pi_34242067
    @dossie:

    Met accolades achter een variabele die een string is, kun je een teken op een bepaalde positie opvragen.

    Voorbeeldje:
    1
    2
    3
    4
    5
    6
    7
    8
    <?php

    $string = 'abcdef';

    echo $string{2};
    echo $string[2];

    ?>

    Zoals je ziet werken de rechte brackets ook, alleen wordt het ten zeerste aangeraden de accolades te gebruiken
    pi_34242156
    quote:
    Op donderdag 19 januari 2006 14:37 schreef wobbel het volgende:
    Ik zit met een vaag dillema.

    Ik heb een webshop die multishop is, dat wil zeggen dat op 1 domeinnaam 3 virtuele shops lopen d.m.v. een sessie. Tabel Shops heeft dus 3 records (1,2 en 3 met resp. LCD, MP3 en GSM shop)

    -snip-
    Ik heb nog niet uitgebreid naar je probleem gekeken, maar ik weet je al wel te vertellen dat je een LIKE moet gebruiken als je wilt zoeken d.m.v. '%string%'
    pi_34242209
    quote:
    Op donderdag 19 januari 2006 10:55 schreef Gh0stbust3r het volgende:
    Hallo,

    ik moet voor school een website maken met php. Ik heb geen kennis van php, weet iemand een site of iets dergelijks waarmee ik wel een begin kan maken aan de website... Heb echt 0.0 verstand ervan
    Google is your friend als je al verstand hebt van andere talen is de beste plek om te beginnen wellicht de site van PHP zelf; check de documentatie.
      donderdag 19 januari 2006 @ 15:14:53 #247
    71796 dossie
    lekker makkelijk
    pi_34242347
    quote:
    Op donderdag 19 januari 2006 15:06 schreef JeRa het volgende:
    @dossie:

    Met accolades achter een variabele die een string is, kun je een teken op een bepaalde positie opvragen.

    Voorbeeldje:
    [ code verwijderd ]

    Zoals je ziet werken de rechte brackets ook, alleen wordt het ten zeerste aangeraden de accolades te gebruiken
    Ah, dat verklaart weer een boel

    Enig idee welk gedeelte van php.net ik had moeten doorwerken om dit te weten? Misschien staan daar nog meer basics die ik helemaal niet ken. iig bedankt
    "Het geheugen van het hart zeeft slechte herinneringen weg en maakt de goede mooier. Dat stelt ons in staat om met het verleden te leven." - Gabriel Garcia Marquez
      FOK!-Schrikkelbaas donderdag 19 januari 2006 @ 15:28:28 #248
    1972 Swetsenegger
    Egocentrische Narcist
    pi_34242772
    quote:
    Op donderdag 19 januari 2006 14:37 schreef wobbel het volgende:
    Ik zit met een vaag dillema.

    Ik heb een webshop die multishop is, dat wil zeggen dat op 1 domeinnaam 3 virtuele shops lopen d.m.v. een sessie. Tabel Shops heeft dus 3 records (1,2 en 3 met resp. LCD, MP3 en GSM shop)

    Nu heb ik ook een tabel met alle producten erin. Deze producten kan je koppelen aan 1 shop, 2 shops maar ook alle 3 de virtuele shops.
    Dit gebeurd met een speciale tabel genaamd ProductLinkShops. Hierin staat voor elk product een record om hem te koppelen aan een shop.

    Voorbeeld van ProductLinkShops.
    1 | 64 | 3
    2 | 64 | 2
    3 | 24 | 1
    4 | 122 | 1
    5 | 33 | 3

    1 t/m 5 is gewoon het id van dat record, 64, 24 122 en 33 zijn ProductId's en die 3, 2, 1, 1 en 3 zijn de betreffende shops waarin ze moeten voorkomen. Het systeem werkt prima

    Maar nu moet ik een search maken

    Je moet kunnen zoeken in de titel van het product. Maar hij mag alleen de producten weergeven als ze ook voor de huidige shop bedoeld zijn.
    Als ik in shop 3 zoek, mag ik dus alleen product 33 en product 64 in beeld krijgen (als de trefwoorden kloppen)

    Hoe de neuk flik ik dat?

    Ik heb nu dit, maar dit geeft ALTIJD 0 resultaten weer
    [ code verwijderd ]
    LEFT ipv INNER join?
      FOK!-Schrikkelbaas donderdag 19 januari 2006 @ 15:30:27 #249
    1972 Swetsenegger
    Egocentrische Narcist
    pi_34242838
    quote:
    Op donderdag 19 januari 2006 15:14 schreef dossie het volgende:

    [..]

    Ah, dat verklaart weer een boel

    Enig idee welk gedeelte van php.net ik had moeten doorwerken om dit te weten? Misschien staan daar nog meer basics die ik helemaal niet ken. iig bedankt
    http://www.php.net/manual/en/
    pi_34244221
    waarom werkt dit niet:

    1
    2
    3
    4
    5
    6
    7
    <?php
    $date
    = substr($row-&gt;Date,9,10);
    $date.= " - ";
    $date.= substr($row-&gt;Date,6,7);
    $date.= " - ";
    $date.= substr($row-&gt;Date,0,4);
    ?>


    ik wil dus gewoon de tekentjes in een andere volgorde weergeven, maar hij geeft veel meer tekentjes weer dan ik specificeer (en dat rijmt )
    As a rule, I never touch anything more sophisticated and delicate than myself.
    pi_34244461
    @Desdinova

    Al eens naar deze pagina gekeken?
    pi_34244850
    quote:
    Op donderdag 19 januari 2006 15:30 schreef Swetsenegger het volgende:

    [..]

    http://www.php.net/manual/en/
    Een beetje flauw om alleen een link naar de manual ToC te geven.

    String access and modification by character
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      donderdag 19 januari 2006 @ 16:28:15 #253
    71796 dossie
    lekker makkelijk
    pi_34244932
    quote:
    Op donderdag 19 januari 2006 16:25 schreef SuperRembo het volgende:

    [..]

    Een beetje flauw om alleen een link naar de manual ToC te geven.

    String access and modification by character

    Bedankt dat bedoelde ik. Maar ik snap schwarzeneggert ook wel, moet ik maar beter zoeken. Maar bedankt!
    "Het geheugen van het hart zeeft slechte herinneringen weg en maakt de goede mooier. Dat stelt ons in staat om met het verleden te leven." - Gabriel Garcia Marquez
    pi_34245473
    quote:
    Op donderdag 19 januari 2006 16:14 schreef JeRa het volgende:
    @Desdinova

    Al eens naar deze pagina gekeken?
    oooo fuck joh werkt dat zo.
    ik ging van teveel uit
    As a rule, I never touch anything more sophisticated and delicate than myself.
      FOK!-Schrikkelbaas donderdag 19 januari 2006 @ 16:44:53 #255
    1972 Swetsenegger
    Egocentrische Narcist
    pi_34245527
    quote:
    Op donderdag 19 januari 2006 16:25 schreef SuperRembo het volgende:

    [..]

    Een beetje flauw om alleen een link naar de manual ToC te geven.

    String access and modification by character
    Ik kon hem niet zo snel vinden.
    Aangezien hij het over php.net had, heb ik hem maar wel even specifiek naar de manual verwezen. de rest is een kwestie van zoeken.
      vrijdag 20 januari 2006 @ 02:07:27 #256
    65471 SkaterSam
    Lurking Galore
    pi_34266480
    Ok ik heb een probleem, of niet (je weet het nooit)...

    Ik probeer een admin systeem te maken, met een login. Dit systeem maakt gebruik van sessions. Je gaat dus naar de index.php, vult je wachtwoord en je usernaam in en dan ga je naar login.php waar je oa dit vindt:

    1$login->doLogin($_POST['username'], $_POST['password']);

    Met bijbehorende code uit de login class (login_class.php):

    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
    function doLogin($user, $pass) {
                    
          $this->checkLoginInput($user, "username");
          $this->checkLoginInput($pass, "wachtwoord");
          
          if ($this->num_error > 0) {
          
             $this->logged_in = false;
             
          } else {   
          
             $db = new Db_functies('user','ww','db');
             $this->bevestigPass($user, $pass, $db); 
             
             if ($this->num_error > 0) {   
                   
                $this->logged_in = false;
                $db->closedb();   
                         
             } else {   
                   
                $this->username = $_SESSION['username'] = $user;
                $this->random_id = $_SESSION['random_id'] = $this->makeFingerprint();
                $_SESSION['time'] = time();
                
                $db->query("UPDATE red_user SET red_random_id = '" . $this->random_id . "' WHERE red_usernaam ='" . $this->username . "'");
                
                session_regenerate_id();
                $this->logged_in = true;
                $db->closedb();                  
             }
          }   
       }

    So far, so good. Dit gebeurt allemaal correct, de Sessions worden ook weggeschreven, want je wordt verwezen naar home.php, waar de Sessions voor je worden uitgelezen (bijv. "Hallo" . $_SESSION['username']). Dit zie je ook op het scherm staan. Dan wil ik naar een andere pagina, maar ik wil eerst controleren of mijn sessie valide is, dus bovenaan de pagina staat:

    1
    2
    require_once('inc/session_class.php');
    $controle = new SessionCheck(60);

    Met de volgende code in session_class.php:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    function SessionCheck($duur) {
          if (isset($_SESSION['username']) && isset($_SESSION['random_id']) && isset($_SESSION['time'])) {
             
             $tijd = $_SESSION['time'];
             $user = $_SESSION['username'];
             
             if ($this->checkSessionTime($tijd, $duur) == false) {
                echo "tijd doet het niet<br />";
             }
             
             if ($this->checkFingerprint($user) == false) {
                echo "username doet het niet<br />";
             }
             
             $_SESSION['time'] = time();
             $this->logged_in = true;
          
          } else {      
          
             echo "iets is niet gezet<br />";
             
          }
       }

    Wat gebeurt er dus nu, hij geeeft keer op keer de boodschappen:

    tijd doet het niet
    username doet het niet

    Om aan te geven dat ze false zijn, de volgende twee functies:

    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
    //Controleer de unieke fingerprint van de gebruiker
       function checkFingerprint($user) {
          $temp = "BLIK_REDACTIE" . $_SERVER['HTTP_USER_AGENT'];
          $id = md5($temp);
       
          $db = new Db_functies('user','ww','db');
          $db->query("SELECT red_random_id FROM red_user WHERE red_usernaam = '" . $user . "'");
          $result = mysql_fetch_row($db->resultaten);
          echo $result[0] . "<br />";
          
          if(mysql_num_rows($db->resultaten) < 1) {
             return false;
          } 
             
          if ($id != $result[0]) {
             return false;
          }
          
          
       }

       //Controleer of de sessie is verlopen
       function checkSessionTime($tijd, $duur) {
          if ((time() - $tijd) > $duur) {
             return false;
          }
       }

    Ik heb al de resultaten al een ge-echoed, en ze kloppen gewoon, dus ik snap niet wat er fout is, het enige wat ik kon bedenken, was dat de equal operators een enkele '=' moest zijn (in SessionCheck), maar toen kreeg ik een parse error...
    Let's make life easy
    Typo's are the demon spawn from hell !
    pi_34267954
    Wanneer geeft checkSessionTime() true terug?
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_34268096
    quote:
    Op vrijdag 20 januari 2006 04:39 schreef SuperRembo het volgende:
    Wanneer geeft checkSessionTime() true terug?
    Wat hij zegt, maar dan ook voor de checkFingerprint()-functie
      vrijdag 20 januari 2006 @ 11:07:20 #259
    64276 9christensen
    Grolsch bier is gezond
    pi_34271505
    MySql vraagje

    Ik heb een kolom met IP adressen.
    Nu moet ik een top 10 selecteren welke ip's het meest voorkomen.

    Hoe krijg ik dit voor elkaar?
    Het is het eindpunt van de trein, bijna geen mens hoeft er te zijn, bijna geen hond gaat zover mee:
    [b]Enschede![/b]
    pi_34272000
    quote:
    Op vrijdag 20 januari 2006 11:07 schreef 9christensen het volgende:
    MySql vraagje

    Ik heb een kolom met IP adressen.
    Nu moet ik een top 10 selecteren welke ip's het meest voorkomen.

    Hoe krijg ik dit voor elkaar?
    Door middel van een GROUP BY

    SELECT COUNT(id) AS aantal, ip FROM ip_adressen GROUP BY ip ORDER BY aantal DESC LIMIT 0, 10

    Met een GROUP BY 'groepeer' je in feite de resultaten op een bepaalde kolom. COUNT() is een typische functie die als GROUP-functie kan worden gebruikt en telt het aantal keer dat een rij binnen een groep voorkomt.
      vrijdag 20 januari 2006 @ 11:46:14 #261
    64276 9christensen
    Grolsch bier is gezond
    pi_34272760
    en werkt dit ook in access? ik krijg nu een foutmelding:

    "syntax error in ORDER BY clause"
    Het is het eindpunt van de trein, bijna geen mens hoeft er te zijn, bijna geen hond gaat zover mee:
    [b]Enschede![/b]
    pi_34273137
    In MSAccess kan je 'aantal' niet in de ORDER BY gebruiken. Je kunt wel 'ORDER BY COUNT(id)' gebruike.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_34273172
    quote:
    Op vrijdag 20 januari 2006 11:46 schreef 9christensen het volgende:
    en werkt dit ook in access?
    quote:
    Op vrijdag 20 januari 2006 11:07 schreef 9christensen het volgende:
    MySql vraagje
    Je weet dat MySQL en Access beiden SQL ondersteunen maar twee verschillende programma's zijn?
      vrijdag 20 januari 2006 @ 12:06:17 #264
    64276 9christensen
    Grolsch bier is gezond
    pi_34273428
    Ik heb nu dit

    SELECT COUNT([id]) AS aantal, [SrcIP]
    FROM Notificaction
    GROUP BY [SrcIP]

    nu laat hij alles zien. ik wil slechts 10 ID's laten zien die het meest voorkomen.
    Het is het eindpunt van de trein, bijna geen mens hoeft er te zijn, bijna geen hond gaat zover mee:
    [b]Enschede![/b]
    pi_34273655
    quote:
    Op vrijdag 20 januari 2006 12:06 schreef 9christensen het volgende:
    Ik heb nu dit

    SELECT COUNT([id]) AS aantal, [SrcIP]
    FROM Notificaction
    GROUP BY [SrcIP]

    nu laat hij alles zien. ik wil slechts 10 ID's laten zien die het meest voorkomen.
    Met de ORDER BY hint van SuperRembo en de LIMIT van mijn oorspronkelijke query moet je een heel eind komen lijkt me.
      vrijdag 20 januari 2006 @ 12:15:53 #266
    14806 CrashOne
    100% compliant
    pi_34273742
    Ik word niet echt veel wijzer van het gebruik van foreign en primary keys en relaties met InnoDb tables.

    Hoe alter ik een table en geef ik deze relaties (met cascading deletes etc), ik word niet echt veel wijzer van de manual.

    Kan iemand die misschien duidelijk uitleggen?
      vrijdag 20 januari 2006 @ 12:19:04 #267
    64276 9christensen
    Grolsch bier is gezond
    pi_34273849
    SELECT COUNT([id]) AS aantal, [SrcIP]
    FROM Notificaction
    GROUP BY [SrcIP]
    ORDER BY COUNT([id]) DESC;

    zo heb ik 'm.

    nu wil ik slechts de top 10 laten zien

    SELECT COUNT([id]) AS aantal, [SrcIP]
    FROM Notificaction
    GROUP BY [SrcIP]
    ORDER BY COUNT([id]) DESC LIMIT 0, 10

    en dan krijg ik weer een foutmelding
    Het is het eindpunt van de trein, bijna geen mens hoeft er te zijn, bijna geen hond gaat zover mee:
    [b]Enschede![/b]
      vrijdag 20 januari 2006 @ 12:19:44 #268
    14806 CrashOne
    100% compliant
    pi_34273868
    quote:
    Op vrijdag 20 januari 2006 11:58 schreef JeRa het volgende:

    [..]


    [..]

    Je weet dat MySQL en Access beiden SQL ondersteunen maar twee verschillende programma's zijn?
    Limit werkt niet in access/mssql, dit is ook geen standaard. Hiervoor gebruik je TOP icm met recordset paging.
      vrijdag 20 januari 2006 @ 12:20:50 #269
    14806 CrashOne
    100% compliant
    pi_34273898
    quote:
    Op vrijdag 20 januari 2006 12:19 schreef 9christensen het volgende:
    SELECT COUNT([id]) AS aantal, [SrcIP]
    FROM Notificaction
    GROUP BY [SrcIP]
    ORDER BY COUNT([id]) DESC;

    zo heb ik 'm.

    nu wil ik slechts de top 10 laten zien

    SELECT COUNT([id]) AS aantal, [SrcIP]
    FROM Notificaction
    GROUP BY [SrcIP]
    ORDER BY COUNT([id]) DESC LIMIT 0, 10

    en dan krijg ik weer een foutmelding
    Gebruik eens TOP, zoiets.:
    SELECT TOP 10, COUNT([id]) AS aantal, [SrcIP]
    FROM Notificaction
    GROUP BY [SrcIP]
    ORDER BY COUNT([id]) DESC
    pi_34273920
    Is het nou mysql of niet? zoja, wat doen die blokhaken dan om je kolomnamen
      vrijdag 20 januari 2006 @ 12:27:12 #271
    131306 Vipers
    Zei ik toch!!
    pi_34274098
    quote:
    Op vrijdag 20 januari 2006 12:21 schreef ikke_ook het volgende:
    Is het nou mysql of niet? zoja, wat doen die blokhaken dan om je kolomnamen
    Inderdaad snap er de ballen meer van. Is het nou Mysql
    Je kunt beter ten onder gaan met je eigen visie dan met de visie van een ander
    Ik zeg maar zo: ik zeg maar niets! Want als ik toch wat zeg, zeg je toch: wat zeg je?
      vrijdag 20 januari 2006 @ 12:30:14 #272
    14806 CrashOne
    100% compliant
    pi_34274196
    Hij vraagt of de syntax ook werkt in access en zegt daarna dat hij een foutmelding krijgt, dus ik ga er vanuit dat bij access gebruikt.
      vrijdag 20 januari 2006 @ 13:27:41 #273
    64276 9christensen
    Grolsch bier is gezond
    pi_34276194
    Ja access. Die blokhaken doet access er vanzelf in. Maar hij werkt nu

    Nog een vraagje

    Ik heb zo'n 1400 records met ip's en datum en tijd van inloggen. Nu moet ik ook uitzoeken hoe vaak een ip inlogt tussen bijv. 4 en 10 uur. Dus zou ik een formulier moeten maken en dat je het daar in kan typen. Maar hoe krijg ik die ip's dan als resultaat
    Het is het eindpunt van de trein, bijna geen mens hoeft er te zijn, bijna geen hond gaat zover mee:
    [b]Enschede![/b]
      vrijdag 20 januari 2006 @ 14:01:52 #274
    14806 CrashOne
    100% compliant
    pi_34277466
    SELECT * FROM log_table WHERE date_time between to_date ('2005/12/31', 'yyyy/mm/dd')
    AND to_date ('2006/01/20', 'yyyy/mm/dd');

    Iemand nog wat uitleg voor mijn vraag?
    pi_34278805
    Ik zit met het volgende, ik heb een forum draaien maar ik wil graag dat de crew topics niet in de AT voorkomen. Dit is de code die ik heb, en waar volgens mij de fout in zit:

    1
    2
    3
    4
    5
    6
    7
    <?php
    $sql
    = "SELECT id
            FROM "
    .$db['prefix']."subs
            WHERE perm_view = 2
            OR perm_view = 3
            OR perm_view = 9"
    ;
    ?>


  • perm_vieuw 2 is in de MySQL een mod van niv 2.
  • perm_vieuw 3 is in de MySQL een crew van niv 3.
  • perm_vieuw 9 is in de MySQL een admin van niv 9.

    Als hier geen fout in zet moet ik iets meer van de code geven .

    Bedankt alvast.
  •   FOK!-Schrikkelbaas vrijdag 20 januari 2006 @ 14:40:55 #276
    1972 Swetsenegger
    Egocentrische Narcist
    pi_34278939
    quote:
    Op vrijdag 20 januari 2006 14:36 schreef Twisted_Logic het volgende:
    Ik zit met het volgende, ik heb een forum draaien maar ik wil graag dat de crew topics niet in de AT voorkomen. Dit is de code die ik heb, en waar volgens mij de fout in zit:
    [ code verwijderd ]

  • perm_vieuw 2 is in de MySQL een mod van niv 2.
  • perm_vieuw 3 is in de MySQL een crew van niv 3.
  • perm_vieuw 9 is in de MySQL een admin van niv 9.

    Als hier geen fout in zet moet ik iets meer van de code geven .

    Bedankt alvast.
  • Hiermee selecteer je elke ID uit de database welke een permview heeft van 2,3 of 9.
    Kortom, alle crew topics en geen enkel user topic.
    pi_34279064
    quote:
    Op vrijdag 20 januari 2006 14:40 schreef Swetsenegger het volgende:

    [..]

    Hiermee selecteer je elke ID uit de database welke een permview heeft van 2,3 of 9.
    Kortom, alle crew topics en geen enkel user topic.
    Ja maar die topics moeten niet voor komen in de Active Topics, alleen maar de user topics. Ik zit te denken wat er nu fout gaat want volgens mij is de activetopics.php bij mij goed .
      FOK!-Schrikkelbaas vrijdag 20 januari 2006 @ 14:48:24 #278
    1972 Swetsenegger
    Egocentrische Narcist
    pi_34279202
    quote:
    Op vrijdag 20 januari 2006 14:44 schreef Twisted_Logic het volgende:

    [..]

    Ja maar die topics moeten niet voor komen in de Active Topics, alleen maar de user topics. Ik zit te denken wat er nu fout gaat want volgens mij is de activetopics.php bij mij goed .
    1
    2
    3
    4
    5
    6
    $sql = "SELECT id
            FROM ".$db['prefix']."subs
            WHERE perm_view != 2
            OR perm_view != 3
            OR perm_view != 9";
    ?>


    Of bij de WHERE zet je de perm_view value neer welke overeenkomt met een normale gebruiker

    1
    2
    3
    4
    $sql = "SELECT id
            FROM ".$db['prefix']."subs
            WHERE perm_view=1";
    ?>
    pi_34279345
    quote:
    Op vrijdag 20 januari 2006 14:48 schreef Swetsenegger het volgende:

    [..]
    [ code verwijderd ]

    Of bij de WHERE zet je de perm_view value neer welke overeenkomt met een normale gebruiker
    [ code verwijderd ]
    Het werkt nog niet, maar volgens mij ligt het daar niet aan. Ik neem even een bak koffie en ga het dan nog maar is even allemaal langs lopen.

    Bedankt iig!
    pi_34283395
    quote:
    Op vrijdag 20 januari 2006 14:48 schreef Swetsenegger het volgende:

    [..]
    [ code verwijderd ]
    Dat is niet de tegenhanger van de originele query. Deze query geeft alle topics terug (een id is alijd ongelijk aan 2 of ongelijk aan 3).
    Ik zou er WHERE perm_view NOT IN (2, 3, 9) van maken.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      FOK!-Schrikkelbaas vrijdag 20 januari 2006 @ 19:29:55 #281
    1972 Swetsenegger
    Egocentrische Narcist
    pi_34288144
    quote:
    Op vrijdag 20 januari 2006 16:53 schreef SuperRembo het volgende:
    een id is alijd ongelijk aan 2 of ongelijk aan 3


    Hij is inderdaad ernstig stupide. Met AND had hij wel geklopt trouwens
    pi_34328025
    Is dit slecht programmeerwerk?:
    1${checked.$a}

    De bedoeling is dat ik variabelen krijg die er zoiets uitzien:
    1
    2
    3
    $checked1
    $checked2
    ....

    Een array is veel mooier vind ik, maar dat werkt niet want ik wil de variabelen graag gebruiken in een
    1
    2
    3
    $code = <<< EOCODE

    EOCODE;

    constructie gebruiken, en daar kan ik gewone variabelen wel gewoon inzetten, maar variabelen uit een array niet.

    Zijn er andere/betere opties, of is mijn oplossing prima?
    pi_34332650
    Variabelen worden in een heredoc string op dezelfde manier geparst als in een double quoted string. Ik zie het probleem niet.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_34351336
    quote:
    Op zondag 22 januari 2006 01:12 schreef SuperRembo het volgende:
    Variabelen worden in een heredoc string op dezelfde manier geparst als in een double quoted string. Ik zie het probleem niet.
    als ik er $array['test1'] inzet werkt het niet, met accolades eromheen werkt wel... Dus tis opgelost.
    pi_34351991
    Als je een array in een string gebruikt, dan moet je juist geen '' om de key zetten

    1
    2
    3
    4
    5
    $array['key'] = 'value';
    echo "$array['key']";// geeft parse error
    echo "$array[key]";// goed
    echo "{$array[key]}";// geeft notice (undefinded constant key)
    echo "{$array['key']}";// goed
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_34357577
    Aha dat wist ik niet, als ik een array in een string gebruik haal ik hem er altijd buiten met ".$array['key']."
    bedankt iig
    pi_34359186
    Ik heb een tabel met landen erin met allemaal een uniek ID.
    Nu wil ik een lijstje maken met alle landen maar het land met ID 8 moet bovenaan in het lijstje staan, de rest van het lijstje moet op alfabetische volgorde zijn. Kan ik dit voor elkaar krijgen met 1 query?
      zondag 22 januari 2006 @ 21:56:18 #288
    120139 freiss
    Hertog Jan :9~
    pi_34359454
    quote:
    Op zondag 22 januari 2006 21:49 schreef ikke_ook het volgende:
    Ik heb een tabel met landen erin met allemaal een uniek ID.
    Nu wil ik een lijstje maken met alle landen maar het land met ID 8 moet bovenaan in het lijstje staan, de rest van het lijstje moet op alfabetische volgorde zijn. Kan ik dit voor elkaar krijgen met 1 query?
    De enige oplossing die ik kan bedenken is om gewoon alles te selecteren en dan mbv PHP eerst diegene met id 8 weergeven, om daarna met een loop de andere te verwerken
    HJ 14-punt-gift.
    Lijst met rukmateriaal!
    pi_34361574
    Als je kunt sorteren op condities (geen idee of dat kan ) dan zou je zoiets kunnen overwegen:

    ORDER BY (`id` = 8) DESC, `name` ASC
    pi_34361896
    quote:
    Op zondag 22 januari 2006 22:46 schreef JeRa het volgende:
    Als je kunt sorteren op condities (geen idee of dat kan ) dan zou je zoiets kunnen overwegen:

    ORDER BY (`id` = 8) DESC, `name` ASC
    Dat werkt nog ook
    En ja, ik heb het getest
      FOK!-Schrikkelbaas zondag 22 januari 2006 @ 22:59:08 #291
    1972 Swetsenegger
    Egocentrische Narcist
    pi_34362088
    quote:
    Op zondag 22 januari 2006 22:54 schreef Light het volgende:

    [..]

    Dat werkt nog ook
    En ja, ik heb het getest
    Dat is wel stoer.
    Deze moet ik even goed onthouden.
    pi_34363163
    Bedankt, maar ik heb een andere constructie bedacht waardoor die hele query vervalt
    pi_34363356
    Ik heb nog een vraagje over JOIN.
    Ik heb 3 tabellen.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    information
       infoID
       userID
       info
       locationID

    users
       userID
       username
       
    locations
       locationID
       location

    Nu wil ik van een bepaald infoID alle velden hebben, ingevuld uit de andere tabellen.
    Dus met 2x een join.
    Maar welke join (left,right,inner,outer) moet ik hiervoor gebruiken?en hoe komt de query eruit te zien?


    -edit-

    Is het verschil tussen left en right alleen dat LEFT NULL teruggeeft als het userID niet gevonden kan worden in de usertable, en dat RIGHT alleen een veld teruggeeft als er een user kan worden gevonden bij een bepaald userID?

    Of kan ik hier andere fouten in maken dat ik straks 3 tabellen compleet opvraag terwijl ik maar 1 record wil hebben?

    [ Bericht 17% gewijzigd door ikke_ook op 22-01-2006 23:41:21 ]
      FOK!-Schrikkelbaas zondag 22 januari 2006 @ 23:39:48 #294
    1972 Swetsenegger
    Egocentrische Narcist
    pi_34363574
    1
    2
    3
    4
    5
    6
    7
    8
      $query="SELECT
            i.info,
            u.name,
            l.location,
            FROM information i
            INNER JOIN users u ON i.userID= u.userID
            INNER JOIN locations l ON i.locationID = l.locationID 
            WHERE i.infoID=".$_GET['id']
    pi_34363707
    Ja die INNER join geeft hetzelfde resultaat als een RIGHT join maar is dit de beste query?
      FOK!-Schrikkelbaas zondag 22 januari 2006 @ 23:46:21 #296
    1972 Swetsenegger
    Egocentrische Narcist
    pi_34363815
    quote:
    Op zondag 22 januari 2006 23:43 schreef ikke_ook het volgende:
    Ja die INNER join geeft hetzelfde resultaat als een RIGHT join maar is dit de beste query?
    Een inner join pakt volgens mij alleen de data ALS er een relatie is. left en right joins pakken altijd de overeenkomstige velden of iets dergelijks... dacht ik

    Bovenstaande is een verbouwing van een query welke ik van superrembo kreeg aangerijkt bij een soortgelijk probleem. SQL is sowieso niet mijn sterkste punt en joins en dergelijke moet ik me nog eens goed in verdiepen
    pi_34364439
    1
    2
    3
    4
     $query="SELECT *
            FROM information i
            INNER JOIN users u ON i.userID = u.userID
            WHERE i.infoID = ".$_GET['id']

    Nu krijg je alleen regels terug waarbij beide regels in information en user bestaan waarvoor i.userID = u.userID.
    Als je er een LEFT OUTER JOIN van maakt, dan krijg je ook regels van information terug waarbij geen bijbehorende regel in users bestaat. Dus als i.userID = NULL of als i.userID niet bestaat. Dit maakt dus alleen verschil als i.userID NULL mag zijn.
    Als je er een RIGHT OUTER JOIN van maakt, dan zou je ook regels uit users kunnen krijgen waar geen regel in information bij bestaat. Maar omdat er ook i.infoID = $_GET['id'] in de WHERE bij staat worden die er weer uitgefilterd.
    Normaal gesproken gebruik je in dit geval dus een INNER JOIN, behalve als de userID NULL mag zijn, dan gebruik je een LEFT OUTER JOIN.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_34370464
    Duidelijk, bedankt
      maandag 23 januari 2006 @ 11:48:11 #299
    64276 9christensen
    Grolsch bier is gezond
    pi_34372685
    Ik ben al een hele tijd bezig, maar kom er niet uit.

    http://img16.imageshack.us/img16/8155/accessssssss5ql.jpg

    ik heb hier een tabel. je moet in de tabel kunnen zoeken op datum en op tijd. (in een formulier denk ik). nu denk ik dat het met mysql moet in een query, maar zit nu eigenlijk een beetje vast.
    Het is het eindpunt van de trein, bijna geen mens hoeft er te zijn, bijna geen hond gaat zover mee:
    [b]Enschede![/b]
      FOK!-Schrikkelbaas maandag 23 januari 2006 @ 11:51:48 #300
    2057 Tokus
    whale oil beef hooked
    pi_34372813
    Waarom wordt er door de mensen hier die mysql'en zovaak nadrukkelijk een inner join aangegeven zoals hierboven ("inner join user u on i.userid = u.userid") ?

    Dat kan toch ook gewoon door 2 tabellen te noemen en in je where-clause ze te verbinden?
    Nothing lasts forever but the certainty of change
      FOK!-Schrikkelbaas maandag 23 januari 2006 @ 11:54:28 #301
    1972 Swetsenegger
    Egocentrische Narcist
    pi_34372900
    quote:
    Op maandag 23 januari 2006 11:48 schreef 9christensen het volgende:
    Ik ben al een hele tijd bezig, maar kom er niet uit.

    http://img16.imageshack.us/img16/8155/accessssssss5ql.jpg

    ik heb hier een tabel. je moet in de tabel kunnen zoeken op datum en op tijd. (in een formulier denk ik). nu denk ik dat het met mysql moet in een query, maar zit nu eigenlijk een beetje vast.
    kijk eens in de mysql handleiding op DATE_SUB
    abonnement Unibet Coolblue Bitvavo
    Forum Opties
    Forumhop:
    Hop naar:
    (afkorting, bv 'KLB')