abonnement Unibet Coolblue Bitvavo
pi_33108699
ff een apache-vraagje...

Mijn server geeft diverse bestanden niet weer. html-bestanden (geen ramp aangezien ik het alleen als php-server gebruik) maar ook geen afbeeldingen, en dat is een groter probleem... Enige afbeeldingsoort wat hij weergeeft is png...tenminste nog iets...

Kan het zijn dat mijn php.ini verkeerd is afgesteld? Het is apache op win xp.
pi_33108920
quote:
Op donderdag 15 december 2005 16:43 schreef IbeBen het volgende:


Ik begin maar met de meest kneuzige vraag,
Wat is het gemiddelde aantal factuurregels in 2004?

Ik heb (onder andere) de tabel Factuurregel dus daar zal het antwoord wel vandaan moeten komen.
Factuurregel
Factuurnummer
Artikelcode
verkoopaantal
verkoopprijs

Volgens mij moet ik dus gewoon de factuurnummer optellen en dan delen door het aantal "gecounte" factuurnummers.
Zelf kwam ik tot

SELECT factuurnummer/COUNT(factuurnummer)
FROM factuurnummer;

IbeBen[/]

moet je voor het gemiddelde aantal factuur regels niet eerst alle factuurregels bij elkeer optellen (de aantallen wat in de tabel staan) en dan delen door het aantal factuurnummers.

hoe dat in sql precies moet weet k niet zo 123 (moet het in 1 query trouwens of mag je er ook meerdere achter elkaar uitvoeren?)
Klopt, dat is inderdaad wel de manier. Ik weet ookdat het totaal aantal factuurnummers 59 is en als ik Count(factuurnummer) doe dat het dan 16 is. Oftewel het antwoord moet 59/16 = 3.6875 zijn. Het probleem alleen is nu hoe ik het in SQL neerzet.

Het moet wel in een query, een subquery is wel toegestaan maar niet 2 afzonderlijke om tot het antwoord te komen.
pi_33110065
quote:
Op donderdag 15 december 2005 18:32 schreef the_disheaver het volgende:
ff een apache-vraagje...

Mijn server geeft diverse bestanden niet weer. html-bestanden (geen ramp aangezien ik het alleen als php-server gebruik) maar ook geen afbeeldingen, en dat is een groter probleem... Enige afbeeldingsoort wat hij weergeeft is png...tenminste nog iets...

Kan het zijn dat mijn php.ini verkeerd is afgesteld? Het is apache op win xp.
PHP heeft als het goed is weinig te maken met de verwerking van bestanden door de webserver. Wat bedoel je met 'hij geeft het niet weer', krijg je een foutmelding of doet de browser iets verkeerds? Zo ja, wat doet ie dan verkeerd? Dat kan ik niet opmaken uit je post.

Ook kan een firewall van invloed zijn, heb je die draaien?
  FOK!-Schrikkelbaas donderdag 15 december 2005 @ 19:21:31 #5
1972 Swetsenegger
Egocentrische Narcist
pi_33110095
Join vraagje.

Ik heb bv een tabel users met user_id als auto increment.
En dan heb ik een tabel order, waarbij ik de user id opneem zodat ik weet wie de bestelling heeft gedaan.

Maar de laatste keer dat ik zo'n constructie had, kreeg ik het niet voor elkaar om te joinen van user tabel en order tabel op basis van INNER JOIN tabelnaam ON(user_id= user_id). Ik heb toen uiteindelijk in de order tabel user_id id_user genoemd. Maar dit moet toch gewoon kunnen? Ik moet zeker alleen aliassen?

En kan iemand een heldere uitleg geven over Joins misschien

-edit- Ik vergat nog een kort vraagje. Een kolom unique maken. Wat heeft dat voor consequenties als er onverhoopt een niet unieke waarde wordt gesubmit? Foutmelding en geen data in de rij neem ik aan?
pi_33110792
Even een leuk scriptje geschreven om wat makkelijker de laatste resultaten uit de error.log van Apache te lezen, zonder hem telkens te moeten openen, dit script haalt de laatste 10 resultaten uit de error.log

1
2
3
4
5
6
7
8
9
10
<?php
$lines
= file('path/naar/je/error.log ');

$max = count($lines);
echo
"<p><b>Dit zijn de laatste tien lijnen, beginnend van lijn:</b>" . $max . "</p>";

for (
$i = ($max - 1); $i &gt; ($max - 11); $i--) {
    echo
"<p>" . $lines[$i] . "</p>";
}
?>

Misschien als het je het nog aanvult met een header refresh, of meta refresh ofzo hoef je zelfs niet eens f5 te drukken. En natuurlijk kan je hem nog aankleden met CSS.

tvp
Let's make life easy
Typo's are the demon spawn from hell !
pi_33111283
quote:
Op donderdag 15 december 2005 19:21 schreef Swetsenegger het volgende:
Join vraagje.

Ik heb bv een tabel users met user_id als auto increment.
En dan heb ik een tabel order, waarbij ik de user id opneem zodat ik weet wie de bestelling heeft gedaan.

Maar de laatste keer dat ik zo'n constructie had, kreeg ik het niet voor elkaar om te joinen van user tabel en order tabel op basis van INNER JOIN tabelnaam ON(user_id= user_id). Ik heb toen uiteindelijk in de order tabel user_id id_user genoemd. Maar dit moet toch gewoon kunnen? Ik moet zeker alleen aliassen?

En kan iemand een heldere uitleg geven over Joins misschien
Je moet de ene tabel met de andere joinen. Zoiets als dit:

SELECT *
FROM orders AS o //dit is je eerste tabel die links staat
LEFT JOIN users AS u //dit is je tweede tabel die daar rechts van staat
ON o.user_id = u.user_id //je koppelt de tabellen op de user_id kolom.
WHERE etc

Overigens is dit een 'normale' constructie voor de kolommen:

ON o.userid = u.id

De ene tabel heeft een 'id'-kolom, en de ander verwijst naar de naam van de eerste tabel + 'id' om aan te geven dat we die kolom uit de andere tabel willen hebben. Maar dat ligt vooral aan jezelf, hoe je het wilt hebben
quote:
-edit- Ik vergat nog een kort vraagje. Een kolom unique maken. Wat heeft dat voor consequenties als er onverhoopt een niet unieke waarde wordt gesubmit? Foutmelding en geen data in de rij neem ik aan?
Klopt. Je krijgt een foutmelding en er wordt niets geinsert wel opletten als je meerdere INSERTs achter elkaar doet die samenhangend zijn dus.
pi_33111331
quote:
Op donderdag 15 december 2005 19:20 schreef JeRa het volgende:

[..]


Ook kan een firewall van invloed zijn, heb je die draaien?
Hij geeft een lege pagina (bij een afbeelding laat hij alleen een kader zien.

Maar na het uitschakelen van mn firewall doet hij het

FF kijken wat er met ZoneAlarm mankeert Dank iig
pi_33111428
quote:
Op donderdag 15 december 2005 19:59 schreef the_disheaver het volgende:

[..]

Hij geeft een lege pagina (bij een afbeelding laat hij alleen een kader zien.

Maar na het uitschakelen van mn firewall doet hij het

FF kijken wat er met ZoneAlarm mankeert Dank iig
ZoneAlarm is op z'n lichtjes gezegd gewoon zwaar kut in combinatie met dit soort zaken het is iig een bekend fenomeen dat bijv. Apache en ZoneAlarm gewoon niet willen samenwerken.
pi_33111520
Ik heb een tabel newsmet columnamen Year, Month en Day

ik voer de volgende query uit:

$query = "SELECT * FROM news WHERE Item_offline = '0' ORDER BY Year, Month, Day DESC";

Hij ordered hem niet goed. Ik wil de nieuwste datum als eerste item. Sorteren per ID kan niet want de invoer van de datum is handmatig.
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_33111710
quote:
Op donderdag 15 december 2005 20:03 schreef JeRa het volgende:

[..]

ZoneAlarm is op z'n lichtjes gezegd gewoon zwaar kut in combinatie met dit soort zaken het is iig een bekend fenomeen dat bijv. Apache en ZoneAlarm gewoon niet willen samenwerken.
Ow joepie... Ff proberen het werkend te krijgen , en anders een andere firewall

edit:
localhost ipv mijn ip doet het wel... ;S
  FOK!-Schrikkelbaas donderdag 15 december 2005 @ 20:14:37 #12
1972 Swetsenegger
Egocentrische Narcist
pi_33111744
quote:
Op donderdag 15 december 2005 19:58 schreef JeRa het volgende:
[heldere uitleg]

Klopt. Je krijgt een foutmelding en er wordt niets geinsert wel opletten als je meerdere INSERTs achter elkaar doet die samenhangend zijn dus.
Hoe kan je een sql foutmelding afvangen? Je kan natuurlijk zeggen

if(mysql_query($query)){
// doe wat
}else{
//insert nog een keer
}

Maar dan controleer je niet op een specifieke SQL fout.
pi_33111766
quote:
Op donderdag 15 december 2005 20:07 schreef Desdinova het volgende:
Ik heb een tabel newsmet columnamen Year, Month en Day

ik voer de volgende query uit:

$query = "SELECT * FROM news WHERE Item_offline = '0' ORDER BY Year, Month, Day DESC";

Hij ordered hem niet goed. Ik wil de nieuwste datum als eerste item. Sorteren per ID kan niet want de invoer van de datum is handmatig.
Je moet voor elke kolom aangeven hoe je wilt sorteren.

ORDER BY Year DESC, Month DESC, Day DESC

Anders neemt ie voor Year en Month standaard ASC aan
  FOK!-Schrikkelbaas donderdag 15 december 2005 @ 20:15:10 #14
1972 Swetsenegger
Egocentrische Narcist
pi_33111774
quote:
Op donderdag 15 december 2005 20:07 schreef Desdinova het volgende:
Ik heb een tabel newsmet columnamen Year, Month en Day

ik voer de volgende query uit:

$query = "SELECT * FROM news WHERE Item_offline = '0' ORDER BY Year, Month, Day DESC";

Hij ordered hem niet goed. Ik wil de nieuwste datum als eerste item. Sorteren per ID kan niet want de invoer van de datum is handmatig.
Waarom geef je je records geen DATE of DATETIME mee in sql?
pi_33111812
quote:
Op donderdag 15 december 2005 20:14 schreef Swetsenegger het volgende:

[..]

Hoe kan je een sql foutmelding afvangen? Je kan natuurlijk zeggen

if(mysql_query($query)){
// doe wat
}else{
//insert nog een keer
}

Maar dan controleer je niet op een specifieke SQL fout.
De meeste mensen doen zoiets:

1
2
3
4
5
$result = mysql_query($query);
if (!$result) {
    echo mysql_errno() . ': ' . mysql_error();
    exit;
}


Met mysql_errno() kun je bepalen wat voor fout er opgetreden is
  FOK!-Schrikkelbaas donderdag 15 december 2005 @ 20:54:26 #16
1972 Swetsenegger
Egocentrische Narcist
pi_33113133
quote:
Op donderdag 15 december 2005 20:16 schreef JeRa het volgende:

[..]

De meeste mensen doen zoiets:
[ code verwijderd ]

Met mysql_errno() kun je bepalen wat voor fout er opgetreden is
Ok, ik neem aan dat op mysql.org een lijstje is met nummers en hun specifieke betekenis.
pi_33113380
quote:
Op donderdag 15 december 2005 19:58 schreef JeRa het volgende:

[..]

Je moet de ene tabel met de andere joinen. Zoiets als dit:

SELECT *
FROM orders AS o //dit is je eerste tabel die links staat
LEFT JOIN users AS u //dit is je tweede tabel die daar rechts van staat
ON o.user_id = u.user_id //je koppelt de tabellen op de user_id kolom.
WHERE etc
Of, een iets andere schrijfwijze maar met hetzelfde resultaat

SELECT *
FROM orders AS o //dit is je eerste tabel die links staat
LEFT JOIN users AS u //dit is je tweede tabel die daar rechts van staat
USING(user_id) //je koppelt de tabellen op de user_id kolom.
WHERE etc
pi_33113437
quote:
Op donderdag 15 december 2005 20:54 schreef Swetsenegger het volgende:

[..]

Ok, ik neem aan dat op mysql.org een lijstje is met nummers en hun specifieke betekenis.
mysql.com ook goed? Er staat een lijstje.
  FOK!-Schrikkelbaas donderdag 15 december 2005 @ 22:56:17 #19
1972 Swetsenegger
Egocentrische Narcist
pi_33118137
quote:
Op donderdag 15 december 2005 21:02 schreef Light het volgende:

[..]

mysql.com ook goed? Er staat een lijstje.
Ik had 'm al gevonden

Annder probleempje.
Hieronder een stukje code van 2 array's welke een relatie hebben.

In dit geval is de value van $_SESSION['giftwrap'][GW_1]==2;
Het getal in [GW_1] heeft een relatie met $_SESSION['cart']

1
2
3
4
5
6
7
<?php
foreach($_SESSION['cart'] as $k =&gt; $v){
        if(
array_key_exists("GW_".$k,$_SESSION['giftwrap'])){
            
$giftwrap=$_SESSION['giftwrap']['GW_'.$k];
        }
}
?>


In de eerste run van de foreach, wordt giftwrap keurig 2. Echter wordt $_SESSION['giftwrap'] in zijn geheel 2 ...geen keys meer, geen values. Na de eerste loop geeft print_r($_SESSION['giftwrap']); '2' terug. en niet (bv) Array ( [GW_1] => 2 [GW_4] => 1 )

Iemand enig idee waarom? Ow, de array_key_exists werkt prima. ik heb dat getest met een echo welke keurig de juiste waardes terug geeft. Pas wanneer ik deze gebruik $giftwrap=$_SESSION['giftwrap']['GW_'.$k]; gaat het mis.
pi_33119262
Heel apart. Is er ergens nog andere code die met $giftwrap en $_SESSION['giftwrap'] te maken heeft?

Zoiets zou jouw probleem kunnen verklaren:

$giftwrap=&$_SESSION['giftwrap'];

Hierdoor wordt $giftwrap verwezen naar het giftwrap-element uit de $_SESSION array, waarna hij door de regel

$giftwarp = ....;

wordt overschreven, en hiermee meteen de waarde in $_SESSION. Zo in jouw code kan ik niets zien dat fout is.

edit: oeh, staat register_globals trouwens aan? Als dat zo is, dan is misschien $giftwrap gelijk gesteld aan de variabele $_SESSION['giftwrap'].
pi_33121186
Is het eigenlijk verkeerd om dit soort notice te krijgen? (bv door een if fucntie of een bepaalde variable gelijk is aan een bepaalde waarde)

Notice: Undefined index: afdeling_id in

Het is geen fatal error oid, maar is het nadelig? dwv dat het langzamer duurt (0.0001 seconde...)

Je kunt dit (meestal) eenvoudig oplossen door eerst te bekijken of de variable bestaat. Maar met if(isset()) duurt het script ook enkele millisecondes langer. Welke van die 2 duurt langer?

Natuurlijk is het wel gewoon beter om een script te maken zonder warnings, errors of notice...
pi_33121685
quote:
Op vrijdag 16 december 2005 00:20 schreef the_disheaver het volgende:
Is het eigenlijk verkeerd om dit soort notice te krijgen? (bv door een if fucntie of een bepaalde variable gelijk is aan een bepaalde waarde)

Notice: Undefined index: afdeling_id in

Het is geen fatal error oid, maar is het nadelig? dwv dat het langzamer duurt (0.0001 seconde...)

Je kunt dit (meestal) eenvoudig oplossen door eerst te bekijken of de variable bestaat. Maar met if(isset()) duurt het script ook enkele millisecondes langer. Welke van die 2 duurt langer?

Natuurlijk is het wel gewoon beter om een script te maken zonder warnings, errors of notice...
Die notice slaat op het idee dat je niet zomaar een index van een array mag opvragen die niet bestaat. In Java zou je een IndexOutOfBounds exception krijgen, in C++ wordt zoiets een segmentation fault. Over het algemeen geen goede praktijk dus, en als je ooit verder wilt gaan in programmeren is het handig om eraan te wennen het op de goede manier te doen.

Ik weet niet om wat voor array het gaat, maar kun je er niet voor zorgen dat de index van de array sowieso bestaat?
pi_33123831
[beetje offtopic]heb zonealarm de deur uitgegooid, en mijn apache werkt weer volledig (tenminste, zo te zien)[/offtopcic]
  FOK!-Schrikkelbaas vrijdag 16 december 2005 @ 09:08:53 #24
1972 Swetsenegger
Egocentrische Narcist
pi_33125197
quote:
Op donderdag 15 december 2005 23:24 schreef JeRa het volgende:
Heel apart. Is er ergens nog andere code die met $giftwrap en $_SESSION['giftwrap'] te maken heeft?

Zoiets zou jouw probleem kunnen verklaren:

$giftwrap=&$_SESSION['giftwrap'];

Hierdoor wordt $giftwrap verwezen naar het giftwrap-element uit de $_SESSION array, waarna hij door de regel

$giftwarp = ....;

wordt overschreven, en hiermee meteen de waarde in $_SESSION. Zo in jouw code kan ik niets zien dat fout is.
In cart.php wordt de array cart en giftwarp gevuld.
Vervolgens ga je naar order_1.php, waar je kan inloggen of op 'volgende' kan klikken om een nieuwe gebruiker aan te maken.
order_2.php logt je in, of maakt een nieuwe gebruiker aan en logt deze direkt in.
Order_3.php is deze code, welke de inhoud van de sessions naar database schrijven. Dus nee, in deze pagina gebeurt verder niets meer met deze sessions
quote:
edit: oeh, staat register_globals trouwens aan? Als dat zo is, dan is misschien $giftwrap gelijk gesteld aan de variabele $_SESSION['giftwrap'].
Het is ook de bedoeling dat $giftwrap gelijk wordt aan var $_SESSION['giftwrap'][specifieke key]
Maar, ik wilde al 'Nee natuurlijk niet' tikken, maar even gecheked met phpinfo.php:

1register_globals On On 


Zou het zo kunnen zijn dat de sessie dan gelijk gesteld wordt aan de string?
Ik zal de code eens controleren op m'n lokale servertje

-edit-
Begrijp er geen moer van, deze code functioneert prima op mijn lokale server, waar register_globals OOK op on staat

1
2
3
4
5
6
7
8
9
10
11
<?
    $_SESSION['cart']=array(1 => 2, 4 => 1, 7 => 3);
    $_SESSION['giftwrap']=array(GW_1 => 1, GW_7 => 3);
    foreach($_SESSION['cart'] as $k => $v){
        if(array_key_exists("GW_".$k,$_SESSION['giftwrap'])){
            $giftwrap=$_SESSION['giftwrap']['GW_'.$k];
            echo $giftwrap."\r\n";
            print_r($_SESSION['cart']);
            print_r($_SESSION['giftwrap']);
        }}
?>

-edit- Hmz, op de live server ook.
Dan moet er dus wat vreemds in mijn sessies zitten in de 'echte' code.

-edit 2-
Begrijp er werkelijk geen moer van.
Dit geeft print_r terug van mijn sessies welke door cart.php gevuld zijn.

1Array ( [1] => 3 [7] => 2 [6] => 1 ) Array ( [GW_1] => 2 [GW_7] => 1 )

Mijn arrays zijn dus prima.

Vervolgens draai ik de foreach, welke het met de testcode hierboven prima werkt en dan geeft print_r het volgende terug
1Array ( [1] => 3 [7] => 2 [6] => 1 ) 2




[ Bericht 10% gewijzigd door Swetsenegger op 16-12-2005 10:07:27 ]
  FOK!-Schrikkelbaas vrijdag 16 december 2005 @ 10:26:29 #25
1972 Swetsenegger
Egocentrische Narcist
pi_33126655
Het wordt steeds gekker

test.php
1
2
3
4
5
6
<?
session_start();
    $_SESSION['cart']=array(1 => 2, 4 => 1, 7 => 3);
    $_SESSION['giftwrap']=array(GW_1 => 1, GW_7 => 3);
    header("location:test2.php");
?>


test2.php
1
2
3
4
5
6
7
8
9
10
<?
session_start();
    foreach($_SESSION['cart'] as $k => $v){
        if(array_key_exists("GW_".$k,$_SESSION['giftwrap'])){
            $giftwrap=$_SESSION['giftwrap']['GW_'.$k];
            echo $giftwrap."\r\n";
            print_r($_SESSION['cart']);
            print_r($_SESSION['giftwrap']);
        }}
?>


uitkomst
1
2
3
4
1 Array ( [1] => 2 [4] => 1 [7] => 3 ) 1
Warning: array_key_exists(): The second argument should be either an array or an object in c:\appserv\www\test2.php on line 4

Warning: array_key_exists(): The second argument should be either an array or an object in c:\appserv\www\test2.php on line 


Zelfde probleem dus. Maar DIT werkt WEL

1
2
3
4
5
6
7
8
9
10
11
<?
    $_SESSION['cart']=array(1 => 2, 4 => 1, 7 => 3);
    $_SESSION['giftwrap']=array(GW_1 => 1, GW_7 => 3);
    foreach($_SESSION['cart'] as $k => $v){
        if(array_key_exists("GW_".$k,$_SESSION['giftwrap'])){
            $giftwrap=$_SESSION['giftwrap']['GW_'.$k];
            echo $giftwrap."\r\n";
            print_r($_SESSION['cart']);
            print_r($_SESSION['giftwrap']);
        }}
?>


Kan iemand dit bevestigen?
pi_33127083
Zoals ik al zei, ik heb het vermoeden dat $giftwrap gelijk wordt gesteld aan $_SESSION['giftwrap']. Zodra je een array gaat toekennen aan $_SESSION['giftwrap'] verbreek je die verbinding.

Doe voor de grap eens een unset($giftwrap) voor die foreach-loop en kijk dan eens of het werkt
  FOK!-Schrikkelbaas vrijdag 16 december 2005 @ 10:50:35 #27
1972 Swetsenegger
Egocentrische Narcist
pi_33127352
quote:
Op vrijdag 16 december 2005 10:40 schreef JeRa het volgende:
Zoals ik al zei, ik heb het vermoeden dat $giftwrap gelijk wordt gesteld aan $_SESSION['giftwrap']. Zodra je een array gaat toekennen aan $_SESSION['giftwrap'] verbreek je die verbinding.

Doe voor de grap eens een unset($giftwrap) voor die foreach-loop en kijk dan eens of het werkt
Waarom werkt dit dan wel opdezelfde server?
1
2
3
4
5
6
7
8
9
10
11
<?
    $_SESSION['cart']=array(1 => 2, 4 => 1, 7 => 3);
    $_SESSION['giftwrap']=array(GW_1 => 1, GW_7 => 3);
    foreach($_SESSION['cart'] as $k => $v){
        if(array_key_exists("GW_".$k,$_SESSION['giftwrap'])){
            $giftwrap=$_SESSION['giftwrap']['GW_'.$k];
            echo $giftwrap."\r\n";
            print_r($_SESSION['cart']);
            print_r($_SESSION['giftwrap']);
        }}
?>


Alleen wanneer de sessie van een andere page komt werkt het niet.
Ook met register_globals: off werkt het niet.

Ik heb geloof ik de oplossing nu door de var een andere naam te geven dan de sessie naam (dus $kadoverpakking=$_SESSION['giftwrap'][specifieke key];

Wazig, je zou denken dat register_globals off dat ook oplost
pi_33128172
Met get_defined_vars() kun je erachter komen welke variabelen er zijn ingesteld voordat je je script draait. Dus:

print_r(get_defined_vars());

Zie je daar iets speciaals aan m.b.t. giftwrap en $_SESSION[giftwrap]?
  FOK!-Schrikkelbaas vrijdag 16 december 2005 @ 11:25:22 #29
1972 Swetsenegger
Egocentrische Narcist
pi_33128326
quote:
Op vrijdag 16 december 2005 11:19 schreef JeRa het volgende:
Met get_defined_vars() kun je erachter komen welke variabelen er zijn ingesteld voordat je je script draait. Dus:

print_r(get_defined_vars());

Zie je daar iets speciaals aan m.b.t. giftwrap en $_SESSION[giftwrap]?
Ben wel benieuwd, zal straks eens kijken

-edit-
Voor de foreach krijg ik dit terug
[HTTP_SESSION_VARS] => Array ( [cart] => Array ( [1] => 2 [4] => 1 [7] => 3 ) [giftwrap] => Array ( [GW_1] => 1 [GW_7] => 3 ) ) [_SESSION] => Array ( [cart] => Array ( [1] => 2 [4] => 1 [7] => 3 ) [giftwrap] => Array ( [GW_1] => 1 [GW_7] => 3 ) ) [cart] => Array ( [1] => 2 [4] => 1 [7] => 3 ) [giftwrap] => Array ( [GW_1] => 1 [GW_7] => 3 ) ) 1 Array ( [1] => 2 [4] => 1 [7] => 3 ) Array ( [GW_1] => 1 [GW_7] => 3 ) 3 Array ( [1] => 2 [4] => 1 [7] => 3 ) Array ( [GW_1] => 1 [GW_7] => 3 )

[ Bericht 32% gewijzigd door Swetsenegger op 16-12-2005 11:37:05 ]
  FOK!-Schrikkelbaas vrijdag 16 december 2005 @ 14:15:34 #30
1972 Swetsenegger
Egocentrische Narcist
pi_33133480
JeRa, je hebt het regelmatig over multiple inserts. Ik neem aan dat je bedoeld dat je met 1 insert meerdere records kan invoegen?
Waar vind ik daar documentatie over, kan het in de mysql manual niet vinden (of mijn zoekterm klopt niet)
  FOK!-Schrikkelbaas vrijdag 16 december 2005 @ 23:10:26 #31
1972 Swetsenegger
Egocentrische Narcist
pi_33148487
1if(preg_match('/^[0-9A-Za-z_\-]+[@][0-9A-Za-z_\-]+([.][0-9A-Za-z]+)([.][A-Za-z]{2,4}){0,1}$/x',$_POST['email'])){


Deze gebruik ik op een formulier, om redelijk strak te controleren om zo mailinjection te voorkomen.
Maar hij staat wel erg strak, want jeroen.swets@gmail.com pakt hij niet

Zo pakt hij dat wel toch:

'/^[0-9A-Za-z_\-][.][0-9A-Za-z_\-] +[@][0-9A-Za-z_\-]+([.][0-9A-Za-z]+)([.][A-Za-z]{2,4}){0,1}$/x'

of pakt hij dan weer teveel
pi_33149397
quote:
Op vrijdag 16 december 2005 14:15 schreef Swetsenegger het volgende:
JeRa, je hebt het regelmatig over multiple inserts. Ik neem aan dat je bedoeld dat je met 1 insert meerdere records kan invoegen?
Waar vind ik daar documentatie over, kan het in de mysql manual niet vinden (of mijn zoekterm klopt niet)
Insert into table (field1, field2, field3, field4)
values (1, 2, 3, 4), (2, 3, 4, 5), (3, 4, 5, 6), (4, 5, 6, 7)

You get the idea
pi_33149490
quote:
Op vrijdag 16 december 2005 23:10 schreef Swetsenegger het volgende:

[ code verwijderd ]

Deze gebruik ik op een formulier, om redelijk strak te controleren om zo mailinjection te voorkomen.
Maar hij staat wel erg strak, want jeroen.swets@gmail.com pakt hij niet

Zo pakt hij dat wel toch:

'/^[0-9A-Za-z_\-][.][0-9A-Za-z_\-] +[@][0-9A-Za-z_\-]+([.][0-9A-Za-z]+)([.][A-Za-z]{2,4}){0,1}$/x'

of pakt hij dan weer teveel
Mail header injection is makkelijker te voorkomen. Volgens de mail-rfc's moeten de mailheaders gescheiden worden door \r\n, maar het is bekend dat sommige servers ook alleen \n als scheiding accepteren. Maar zolang er geen \n in het mailadres staat is mail header injection niet mogelijk (iig niet voor zover ik weet). Het ergste dat er dan nog kan gebeuren is dat de persoon in kwestie geen email krijgt. Da's weliswaar vervelend, maar niet echt ernstig qua veiligheidsrisico
pi_33151353
quote:
Op vrijdag 16 december 2005 11:25 schreef Swetsenegger het volgende:

[..]

Ben wel benieuwd, zal straks eens kijken

-edit-
Voor de foreach krijg ik dit terug
-snip-
Zo te zien wordt $giftwrap wel geïnitialiseerd op de session-key 'giftwrap'. Nou zou dit niets uit mogen maken, maar ik denk dat het veranderen van de naam van de variabele (wat je dus al gedaan hebt) de beste oplossing is wellicht is het een bug in een bepaalde versie van PHP die op de ene plek wel gedraaid wordt en op de andere niet.
quote:
JeRa, je hebt het regelmatig over multiple inserts.
Regelmatig? anyway, die methode die Light noemt is de juiste
pi_33157128
Ik wil vanuit een select-menu html-files (die gewoon met URL in de <option> staan) includen, zodat het menu behouden blijft. Kan iemand mij helpen?
Het is ongetwijfeld gemakkelijker in blinde onderwerping te leven dan aan je bevrijding te werken: ook de doden zijn beter aangepast aan de aarde dan de levenden
pi_33157195
quote:
Op zaterdag 17 december 2005 11:46 schreef RichardQuest het volgende:
Ik wil vanuit een select-menu html-files (die gewoon met URL in de <option> staan) includen, zodat het menu behouden blijft. Kan iemand mij helpen?
Includen is serverside. Als iemand een SELECT gebruikt moet er toch echt een request naar de server om zo'n include uit te voeren; maar ik betwijfel het of je daar iets aan hebt. Wat wil je precies doen?
  zaterdag 17 december 2005 @ 11:56:41 #37
37634 wobbel
Da WoBBeL King
pi_33157341
M'n vraag uit het vorige topic...

Hoe moet mijn statement worden? met OR, AND of ||?

Als $aap = 1 mag je door, als $blaat = 1 is mag je door, maar als ze allebei 1 zijn mag je ook door.
Als ze allebei 0 zijn, mag je niet door....welke statement moet ik dan hebben?
pi_33157366
quote:
Op zaterdag 17 december 2005 11:49 schreef JeRa het volgende:

[..]

Includen is serverside. Als iemand een SELECT gebruikt moet er toch echt een request naar de server om zo'n include uit te voeren; maar ik betwijfel het of je daar iets aan hebt. Wat wil je precies doen?
Ik bedoel dus <select> en niet de SQL SELECT...

1
2
3
4
5
6
echo ("<select name=HTMLkeuze>");
echo ("<option value="" selected>Selecteer een pagina</option>");
echo ("<option value=pagina1.html>pag 1</option>");
echo ("<option value=pagina2.html>pag 2</option>");
echo ("<option value=pagina3.html>pag 3</option>");
echo ("</select>");


Aan de hand van deze keuze moeten de HTML-pagina's onder het menu komen (met het menu zichtbaar).
Het is ongetwijfeld gemakkelijker in blinde onderwerping te leven dan aan je bevrijding te werken: ook de doden zijn beter aangepast aan de aarde dan de levenden
pi_33157423
quote:
Op zaterdag 17 december 2005 11:57 schreef RichardQuest het volgende:

[..]

Ik bedoel dus <select> en niet de SQL SELECT...
[ code verwijderd ]

Aan de hand van deze keuze moeten de HTML-pagina's onder het menu komen (met het menu zichtbaar).
Is het geen optie om een onchange te gebruiken voor je SELECT-box? Zodra de gebruiker iets kiest, laadt je het menu opnieuw waarbij je de huidige option op de gekozen waarde zet en onder het menu een bestand include.

Anders wordt het denk ik werken met (i )frames
pi_33157494
quote:
Op zaterdag 17 december 2005 12:00 schreef JeRa het volgende:

[..]

Is het geen optie om een onchange te gebruiken voor je SELECT-box? Zodra de gebruiker iets kiest, laadt je het menu opnieuw waarbij je de huidige option op de gekozen waarde zet en onder het menu een bestand include.

Anders wordt het denk ik werken met (i )frames
Frames is geen optie. Kun je me met de code helpen?
Het is ongetwijfeld gemakkelijker in blinde onderwerping te leven dan aan je bevrijding te werken: ook de doden zijn beter aangepast aan de aarde dan de levenden
pi_33157595
quote:
Op zaterdag 17 december 2005 12:03 schreef RichardQuest het volgende:

[..]

Frames is geen optie. Kun je me met de code helpen?
Moet je wel zeggen waar je vastloopt

Snap je hoe je een actie kunt uitvoeren aan de clientside zodra er een optie wordt gekozen door middel van Javascript? (of eventueel als je dit niet wilt, een formulier versturen zodra de gebruiker op een knop drukt)

Snap je hoe je vervolgens een PHP-bestand kunt aanroepen met daarachteraan de naam van het document dat je wilt openen? Bijv. file.php?item=blaat

En hoe je vervolgens die query kunt ophalen ('item' dus), controleren op waarde en vervolgens het goede bestand includen? (of liever, requiren)
pi_33157739
quote:
Op zaterdag 17 december 2005 12:07 schreef JeRa het volgende:

[..]

Moet je wel zeggen waar je vastloopt

Snap je hoe je een actie kunt uitvoeren aan de clientside zodra er een optie wordt gekozen door middel van Javascript? (of eventueel als je dit niet wilt, een formulier versturen zodra de gebruiker op een knop drukt)

Snap je hoe je vervolgens een PHP-bestand kunt aanroepen met daarachteraan de naam van het document dat je wilt openen? Bijv. file.php?item=blaat

En hoe je vervolgens die query kunt ophalen ('item' dus), controleren op waarde en vervolgens het goede bestand includen? (of liever, requiren)
Oké, na wat gepruts heb ik dit:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<SCRIPT LANGUAGE="JavaScript">
<!--
function Navigeer(lijst) {
  var Geselecteerd = lijst.selectedIndex
  // als de bovenste optie geselecteerd is niets doen
  if (Geselecteerd != 0) {
    window.location = lijst.options[Geselecteerd].value;
  }
}
// -->
</SCRIPT>  

<? 
echo ("<select name=HTMLkeuze onchange="Navigeer(this);">");
echo ("<option value="" selected>Selecteer een pagina</option>");
echo ("<option value=pag1.html> 1</option>");
echo ("<option value=pag2.html> 2</option>");
echo ("<option value=pag3.html> 3</option>");
echo ("</select>");
?>


Maar nu opent hij de pagina's zonder dat het menu weer terugkomt .
Het is ongetwijfeld gemakkelijker in blinde onderwerping te leven dan aan je bevrijding te werken: ook de doden zijn beter aangepast aan de aarde dan de levenden
pi_33157894
quote:
Op zaterdag 17 december 2005 12:15 schreef RichardQuest het volgende:

[..]

Oké, na wat gepruts heb ik dit:
[ code verwijderd ]

Maar nu opent hij de pagina's zonder dat het menu weer terugkomt .
Dat klopt, aangezien je de location naar de waarde van de OPTION omzet je raakt dus het hele menu kwijt. Dit komt meer in de richting:
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
<SCRIPT LANGUAGE="JavaScript">
<!--
function Navigeer(lijst) {
  var Geselecteerd = lijst.selectedIndex
  // als de bovenste optie geselecteerd is niets doen
  if (Geselecteerd != 0) {
    window.location = 'menu.php?item=' + lijst.options[Geselecteerd].value;
  }
}
// -->
</SCRIPT>  

<? 
echo ("<select name=HTMLkeuze onchange="Navigeer(this);">");
echo ("<option value="" selected>Selecteer een pagina</option>");
echo ("<option value=pag1> 1</option>");
echo ("<option value=pag2> 2</option>");
echo ("<option value=pag3> 3</option>");
echo ("</select>");

//Haal item op
$item = strtolower(trim($_GET['item']));

if ($item != '') {
    //Controleer item
    $toegestaan = array('pag1', 'pag2', 'pag3');
    $bestandsnaam = $item . '.html';
    if ((!in_array($item, $toegestaan)) || (!file_exists($bestandsnaam))) {
        exit('Ongeldige keuze.');
    }

    //Include bestand
    require($bestandsnaam);
}

?>
pi_33158046
voor JeRa .
Het is ongetwijfeld gemakkelijker in blinde onderwerping te leven dan aan je bevrijding te werken: ook de doden zijn beter aangepast aan de aarde dan de levenden
pi_33158495
Hallo,

Ik heb nog steeds problemen met het connecten naar een MySQL database.
Ik heb Apache 2 / PHP 5 / Mysql 5 draaien, MySQL Front connect goed naar de database die werkt dus ook goed. PHP scripts draaien goed op de Apache 2 server maar zodra ik vanaf PHP een connect wil maken naar de MySQL db gaat er iets mis. Ik roep het mysql_connect() aan met de benodige argumenten maar het hele script doet dan niks. error_reporting staat op e_all maar die geeft ook niks weer. Zodra ik mysql_connect in me script zet lijkt het wel of niks meer werkt.

Iemand nog tips want ik kom er niet echt meer uit ?
  FOK!-Schrikkelbaas zaterdag 17 december 2005 @ 13:03:21 #46
1972 Swetsenegger
Egocentrische Narcist
pi_33158667
quote:
Op vrijdag 16 december 2005 23:39 schreef Light het volgende:

[..]

Insert into table (field1, field2, field3, field4)
values (1, 2, 3, 4), (2, 3, 4, 5), (3, 4, 5, 6), (4, 5, 6, 7)

You get the idea
Ah ok, dus meerdere values in dezelfde tabel. Het is niet mogelijk om met 1 insert meerdere records verdeeld over meerdere tabellen te inserten?
  FOK!-Schrikkelbaas zaterdag 17 december 2005 @ 13:06:24 #47
1972 Swetsenegger
Egocentrische Narcist
pi_33158726
quote:
Op vrijdag 16 december 2005 23:43 schreef Light het volgende:

[..]

Mail header injection is makkelijker te voorkomen. Volgens de mail-rfc's moeten de mailheaders gescheiden worden door \r\n, maar het is bekend dat sommige servers ook alleen \n als scheiding accepteren. Maar zolang er geen \n in het mailadres staat is mail header injection niet mogelijk (iig niet voor zover ik weet). Het ergste dat er dan nog kan gebeuren is dat de persoon in kwestie geen email krijgt. Da's weliswaar vervelend, maar niet echt ernstig qua veiligheidsrisico
Ja klopt, dat heb ik gelezen.
Maar sowieso wil ik wel op een valid mail adres checken.

Ik heb deze reguliere expressie trouwens eens gevonden voor een javascript check, maar ik begrijp er geen moer van:

/^[^@]+@[^@.]+\.[^@]*\w\w$/

Client side werkttie prima overigens
pi_33159018
quote:
Op zaterdag 17 december 2005 12:55 schreef PunisherADF het volgende:
Hallo,

Ik heb nog steeds problemen met het connecten naar een MySQL database.
Ik heb Apache 2 / PHP 5 / Mysql 5 draaien, MySQL Front connect goed naar de database die werkt dus ook goed. PHP scripts draaien goed op de Apache 2 server maar zodra ik vanaf PHP een connect wil maken naar de MySQL db gaat er iets mis. Ik roep het mysql_connect() aan met de benodige argumenten maar het hele script doet dan niks. error_reporting staat op e_all maar die geeft ook niks weer. Zodra ik mysql_connect in me script zet lijkt het wel of niks meer werkt.

Iemand nog tips want ik kom er niet echt meer uit ?
Wellicht kun je wat met mysql_error(), door de output van deze functie na het connecten even te laten zien?
pi_33159087
quote:
Op zaterdag 17 december 2005 13:03 schreef Swetsenegger het volgende:

[..]

Ah ok, dus meerdere values in dezelfde tabel. Het is niet mogelijk om met 1 insert meerdere records verdeeld over meerdere tabellen te inserten?
Voor zover ik weet niet nee. Als je meerdere INSERTs doet die op elkaar leunen (zeg door een foreign key) dan kun je het beste dus eerst LOCK TABLES table1 WRITE, table2 WRITE gebruiken om te verzekeren dat er geen DELETE in de tussentijd kan plaatsvinden bijvoorbeeld
pi_33159168
quote:
Op zaterdag 17 december 2005 13:06 schreef Swetsenegger het volgende:

[..]

Ja klopt, dat heb ik gelezen.
Maar sowieso wil ik wel op een valid mail adres checken.

Ik heb deze reguliere expressie trouwens eens gevonden voor een javascript check, maar ik begrijp er geen moer van:

/^[^@]+@[^@.]+\.[^@]*\w\w$/

Client side werkttie prima overigens
Tja, de regex voor een e-mailadres heeft al vele hoofdbrekens opgeleverd. Je kunt er nooit zeker van zijn, maar met zoiets is het toch wel redelijk te checken? Heb 't ff snel bedacht, kan goed zijn dat er iets niet aan klopt, dus feel free to enhance/fix

1/^[a-z0-9_\-]+(\.[a-z0-9_\-]+)*@[a-z0-9\-]+(\.[a-z0-9\-]+)+$/Ui


Deze pikt als het goed is alle e-mailadressen, zowel die met een domeinnaam als IP-adres achter het @-teken. Maar zoals ik al eerder zei, je kunt er gewoon nooit zeker van zijn zelfs niet als je MX-records gaat checken.
pi_33159483
quote:
Op zaterdag 17 december 2005 13:18 schreef JeRa het volgende:

[..]

Wellicht kun je wat met mysql_error(), door de output van deze functie na het connecten even te laten zien?
1
2
3
4
5
6
7
8
9
10
<?php
$link = mysql_connect("localhost", "mysql_user", "mysql_password");

mysql_select_db("nonexistentdb", $link);
echo mysql_errno($link) . ": " . mysql_error($link). "\n";

mysql_select_db("kossu", $link);
mysql_query("SELECT * FROM nonexistenttable", $link);
echo mysql_errno($link) . ": " . mysql_error($link) . "\n";
?> 


Ik heb ff dat scriptje rechtstreeks gebruikt, alleen dan zie ik nog steeds helemaal niks ? (met goede user/pass uiteraard)

Niks met het mysql lijkt te werken. Als ik er een mysql_iets aanroep inzet doet de rest van het scripts niks meer.

[ Bericht 5% gewijzigd door PunisherADF op 17-12-2005 13:46:42 ]
pi_33160521
quote:
Op zaterdag 17 december 2005 13:37 schreef PunisherADF het volgende:

[..]
[ code verwijderd ]

Ik heb ff dat scriptje rechtstreeks gebruikt, alleen dan zie ik nog steeds helemaal niks ? (met goede user/pass uiteraard)

Niks met het mysql lijkt te werken. Als ik er een mysql_iets aanroep inzet doet de rest van het scripts niks meer.
Volgens mij worden je errors naar een bestand weggeschreven ipv dat ze naar de output gaan.

Maar mysql_error() moet je zónder $link aanroepen, direct na de mysql_connect(). Waarom? Omdat als mysql_connect() failed, er niets zinnigs in $link staat in de manual staat ook dat je mysql_error() dan zonder argumenten moet aanroepen.
pi_33163020
Okeej,

1
2
$link = mysql_connect("localhost","user","pass");
mysql_error();


geeft in Apache error.log het volgende:

[Sat Dec 17 16:06:44 2005] [error] [client 127.0.0.1] PHP Fatal error: Call to undefined function mysql_connect() in C:\\Program Files\\Apache Group\\Apache2\\htdocs\\database.php on line 6
pi_33163088
quote:
Op zaterdag 17 december 2005 16:11 schreef PunisherADF het volgende:
Okeej,
[ code verwijderd ]

geeft in Apache error.log het volgende:

[Sat Dec 17 16:06:44 2005] [error] [client 127.0.0.1] PHP Fatal error: Call to undefined function mysql_connect() in C:\\Program Files\\Apache Group\\Apache2\\htdocs\\database.php on line 6
Oftewel, de MySQL-extension staat niet aan in die PHP-configuratie die moet je eerst aanzetten door php.ini te wijzigen.
  FOK!-Schrikkelbaas zaterdag 17 december 2005 @ 16:30:22 #55
1972 Swetsenegger
Egocentrische Narcist
pi_33163502
quote:
Op zaterdag 17 december 2005 13:20 schreef JeRa het volgende:

[..]

Voor zover ik weet niet nee. Als je meerdere INSERTs doet die op elkaar leunen (zeg door een foreign key) dan kun je het beste dus eerst LOCK TABLES table1 WRITE, table2 WRITE gebruiken om te verzekeren dat er geen DELETE in de tussentijd kan plaatsvinden bijvoorbeeld
Je precies, dan is het locken van tables toch wel verstandig?
Wat geberut er als er een insert plaats vind, terwijl sql nog op locked staat van een vorige insert? Gewoon een foutmelding, of wacht sql tot de tables vrij zijn en voert hij dan pas de tweede insert uit.

Met andere woorden, moet je het nog opvangen, of doet mysql dat zelf?
pi_33163561
quote:
Op zaterdag 17 december 2005 16:30 schreef Swetsenegger het volgende:

[..]

Je precies, dan is het locken van tables toch wel verstandig?
Wat geberut er als er een insert plaats vind, terwijl sql nog op locked staat van een vorige insert? Gewoon een foutmelding, of wacht sql tot de tables vrij zijn en voert hij dan pas de tweede insert uit.

Met andere woorden, moet je het nog opvangen, of doet mysql dat zelf?
Locken in MySQL gebeurt net zoals in vrijwel alle andere situaties: hij wacht net zolang totdat de lock wordt vrijgegeven en neemt 'm daarna meteen in
  FOK!-Schrikkelbaas zaterdag 17 december 2005 @ 16:40:20 #57
1972 Swetsenegger
Egocentrische Narcist
pi_33163751
quote:
Op zaterdag 17 december 2005 16:32 schreef JeRa het volgende:

[..]

Locken in MySQL gebeurt net zoals in vrijwel alle andere situaties: hij wacht net zolang totdat de lock wordt vrijgegeven en neemt 'm daarna meteen in
Das mooi
Bedankt weer
pi_33164533
quote:
Op zaterdag 17 december 2005 16:13 schreef JeRa het volgende:

[..]

Oftewel, de MySQL-extension staat niet aan in die PHP-configuratie die moet je eerst aanzetten door php.ini te wijzigen.
Haha super het werkt
  zaterdag 17 december 2005 @ 17:22:12 #59
37634 wobbel
Da WoBBeL King
pi_33164825
quote:
Op zaterdag 17 december 2005 11:56 schreef wobbel het volgende:
M'n vraag uit het vorige topic...

Hoe moet mijn statement worden? met OR, AND of ||?

Als $aap = 1 mag je door, als $blaat = 1 is mag je door, maar als ze allebei 1 zijn mag je ook door.
Als ze allebei 0 zijn, mag je niet door....welke statement moet ik dan hebben?
pi_33165470
quote:
Op zaterdag 17 december 2005 17:22 schreef wobbel het volgende:

M'n vraag uit het vorige topic...

Hoe moet mijn statement worden? met OR, AND of ||?

Als $aap = 1 mag je door, als $blaat = 1 is mag je door, maar als ze allebei 1 zijn mag je ook door.
Als ze allebei 0 zijn, mag je niet door....welke statement moet ik dan hebben?
OR, of ||
AND en && zijn iig fout, dan mag je alleen verder als beide zijden waar zijn.
  zaterdag 17 december 2005 @ 17:56:51 #61
37634 wobbel
Da WoBBeL King
pi_33165677
quote:
Op zaterdag 17 december 2005 17:49 schreef Light het volgende:

[..]

OR, of ||
AND en && zijn iig fout, dan mag je alleen verder als beide zijden waar zijn.
K thnx, loop daar nogal vaak mee te worstelen
  FOK!-Schrikkelbaas zaterdag 17 december 2005 @ 18:02:55 #62
1972 Swetsenegger
Egocentrische Narcist
pi_33165863
quote:
Op zaterdag 17 december 2005 17:56 schreef wobbel het volgende:

[..]

K thnx, loop daar nogal vaak mee te worstelen
Als je het gewoon voor jezelf in woorden zegt is het een stuk simpeler.
Als aap OF blaat 1 is, dan wel anders niet.
pi_33166016
quote:
Op zaterdag 17 december 2005 11:56 schreef wobbel het volgende:
M'n vraag uit het vorige topic...

Hoe moet mijn statement worden? met OR, AND of ||?

Als $aap = 1 mag je door, als $blaat = 1 is mag je door, maar als ze allebei 1 zijn mag je ook door.
Als ze allebei 0 zijn, mag je niet door....welke statement moet ik dan hebben?
1
2
3
4
5
6
7
8
9
10
11
if ($aap == 1 || $blaat == 1) {

// door

}

else {

// doei

}




edit: Nee, zo langzaam typ ik niet, ja, zo slecht lees ik wel
  zaterdag 17 december 2005 @ 18:31:33 #64
37634 wobbel
Da WoBBeL King
pi_33166584
Mmm, waarschijnlijk heb ik mijn vraag ook verkeerd gesteld, ik kan nu ook reacties van andere users bewerken en daar gebruik ik de statement voor

Als $aap = 1 mag je door, als $aap 0 is mag je niet door MAAR als $god = 1 mag je altijd door
of moet ik daar 2 statements voor maken?
pi_33166722
quote:
Op zaterdag 17 december 2005 18:31 schreef wobbel het volgende:
Mmm, waarschijnlijk heb ik mijn vraag ook verkeerd gesteld, ik kan nu ook reacties van andere users bewerken en daar gebruik ik de statement voor

Als $aap = 1 mag je door, als $aap 0 is mag je niet door MAAR als $god = 1 mag je altijd door
of moet ik daar 2 statements voor maken?
Probeer eens in te zien wat je wilt bereiken. Een reactie mag gewijzigd worden als $aap==1, of $god==1. Dat is in feite wat je zegt dus:

1
2
3
if (($aap == 1) || ($god == 1)) {
    nakendInEenWeideMetBier();
}
  zaterdag 17 december 2005 @ 18:50:05 #66
37634 wobbel
Da WoBBeL King
pi_33167151
quote:
Op zaterdag 17 december 2005 18:36 schreef JeRa het volgende:

[..]

Probeer eens in te zien wat je wilt bereiken. Een reactie mag gewijzigd worden als $aap==1, of $god==1. Dat is in feite wat je zegt dus:
[ code verwijderd ]
Maar ze mogen ook beide 1 zijn, dan moet je ook doorkunnen , maargoed, je kan dus met haakjes werken
pi_33167190
quote:
Op zaterdag 17 december 2005 18:50 schreef wobbel het volgende:

[..]

Maar ze mogen ook beide 1 zijn, dan moet je ook doorkunnen , maargoed, je kan dus met haakjes werken
Wat denk je dat || doet? Die haakjes hebben er verschrikkelijk weinig mee te maken
  FOK!-Schrikkelbaas zaterdag 17 december 2005 @ 18:53:30 #68
1972 Swetsenegger
Egocentrische Narcist
pi_33167227
quote:
Op zaterdag 17 december 2005 18:50 schreef wobbel het volgende:

[..]

Maar ze mogen ook beide 1 zijn, dan moet je ook doorkunnen , maargoed, je kan dus met haakjes werken
Als een van de twee 1 is mag je door.
Wanneer beide 1 zijn, is ook 1 van de twee 1 en mag je dus door .

Overigens wel vreemd dat je En user EN admin tegelijk kan zijn
pi_33167265
quote:
Op zaterdag 17 december 2005 18:53 schreef Swetsenegger het volgende:

[..]

Als een van de twee 1 is mag je door.
Wanneer beide 1 zijn, is ook 1 van de twee 1 en mag je dus door .

Overigens wel vreemd dat je En user EN admin tegelijk kan zijn
Ik heb zo'n idee dat hij op twee variabelen controleert - 'ingelogde user' en 'adminmode'
  FOK!-Schrikkelbaas zaterdag 17 december 2005 @ 18:57:42 #70
1972 Swetsenegger
Egocentrische Narcist
pi_33167327
quote:
Op zaterdag 17 december 2005 18:55 schreef JeRa het volgende:

[..]

Ik heb zo'n idee dat hij op twee variabelen controleert - 'ingelogde user' en 'adminmode'
Dan is aap toch altijd 1 als god 1 is. Je kan immers geen admin zijn en NIET ingelogged
Overigens maakt dat geen verscil voor de ||
  zaterdag 17 december 2005 @ 19:08:28 #71
37634 wobbel
Da WoBBeL King
pi_33167620
quote:
Op zaterdag 17 december 2005 18:55 schreef JeRa het volgende:

[..]

Ik heb zo'n idee dat hij op twee variabelen controleert - 'ingelogde user' en 'adminmode'
ik kijk eerst of de reactie wel van jou, zoja ($aap = 1)...dan mag je door...
maar als je admin bent ($god = 1)

Dus als beide 1 is mag je door, is maar 1 van de 2 goed (dus of $aap is goed, of $admin is goed) dan mag je door, maar als beide 0 zijn mag je niet door
quote:
Op zaterdag 17 december 2005 18:57 schreef Swetsenegger het volgende:

[..]

Dan is aap toch altijd 1 als god 1 is. Je kan immers geen admin zijn en NIET ingelogged
Overigens maakt dat geen verscil voor de ||
Die haakjes maken idd niet uit, maar als je niet bent ingelogd kom je niet eens zo ver in me script dat je doormag, dus dat doet er niet toe.
  zaterdag 17 december 2005 @ 19:12:37 #72
37634 wobbel
Da WoBBeL King
pi_33167697
Klopt dit?

1
2
3
4
5
6
7
8
<?php
if(($aap == 1 || $god == 1) || ($aap == 1 && $god == 1)) {
   echo
'je mag door';
}
else {
   echo
'gaat heen! verderfelijk creatuur opgerezen uit de poelen van de verdoemenis in de diepste krochten van de aarde waar het vuur nooit dooft'
}
?>
  FOK!-Schrikkelbaas zaterdag 17 december 2005 @ 19:13:25 #73
1972 Swetsenegger
Egocentrische Narcist
pi_33167732
quote:
Op zaterdag 17 december 2005 19:08 schreef wobbel het volgende:


Dus als beide 1 is mag je door, is maar 1 van de 2 goed (dus of $aap is goed, of $admin is goed) dan mag je door, maar als beide 0 zijn mag je niet door
Ja dat was al een poosje duidelijk hoor

if($aap==1 || $god==1) dus
quote:
Die haakjes maken idd niet uit, maar als je niet bent ingelogd kom je niet eens zo ver in me script dat je doormag, dus dat doet er niet toe.
Wie heeft het over haakjes
  FOK!-Schrikkelbaas zaterdag 17 december 2005 @ 19:14:42 #74
1972 Swetsenegger
Egocentrische Narcist
pi_33167755
quote:
Op zaterdag 17 december 2005 19:12 schreef wobbel het volgende:
Klopt dit?
[ code verwijderd ]
Nee dus

1
2
3
4
5
6
7
8
<?php
if($aap == 1 || $god == 1) {
   echo
'je mag door';
}
else {
   echo
'gaat heen! verderfelijk creatuur opgerezen uit de poelen van de verdoemenis in de diepste krochten van de aarde waar het vuur nooit dooft'
}
?>

Is voldoende
  zaterdag 17 december 2005 @ 19:15:34 #75
37634 wobbel
Da WoBBeL King
pi_33167776
quote:
Op zaterdag 17 december 2005 19:12 schreef wobbel het volgende:
Klopt dit?
[ code verwijderd ]
Het werkt
Hierbij dank ik sietse van www.tekview.net

Het was ff prutsen maar hij leeeft
1
2
3
<?php
if(($MySQL_Reactie_Assoc['UserId'] == $_SESSION['IdLid'] || $main-&gt;Rechten(1) == 1) || ($MySQL_Reactie_Assoc['UserId'] == $_SESSION['IdLid'] && $main-&gt;Rechten(1) == 1))
?>


daar ging het om
pi_33170601
De laatste helft is overbodig.

1
2
if (($MySQL_Reactie_Assoc['UserId'] == $_SESSION['IdLid'] 
    || $main->Rechten(1) == 1) )

Dit geeft hetzelfde resultaat.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  FOK!-Schrikkelbaas zaterdag 17 december 2005 @ 23:00:21 #77
1972 Swetsenegger
Egocentrische Narcist
pi_33176045
quote:
Op zaterdag 17 december 2005 20:42 schreef SuperRembo het volgende:
De laatste helft is overbodig.
[ code verwijderd ]

Dit geeft hetzelfde resultaat.
Dat proberen we 'm al een poosje uit te leggen
  FOK!-Schrikkelbaas zaterdag 17 december 2005 @ 23:41:56 #78
1972 Swetsenegger
Egocentrische Narcist
pi_33177674
Moet ik bij een UNLOCK TABLES specificeren welke tabellen het om gaat, of worden gewoon alle tabellen weer vrij gegeven?

Hmz, kan de zooi ook naar innoDB tabellen omzetten. Dan kan ik transacties gebruiken.
pi_33177781
quote:
Op zaterdag 17 december 2005 23:41 schreef Swetsenegger het volgende:
Moet ik bij een UNLOCK TABLES specificeren welke tabellen het om gaat, of worden gewoon alle tabellen weer vrij gegeven?

Hmz, kan de zooi ook naar innoDB tabellen omzetten. Dan kan ik transacties gebruiken.
LOCK TABLES table1 WRITE, table2 READ, table3 WRITE
...
UNLOCK TABLES

Hij houdt bij welke tables je gelocked hebt voor de thread en je geeft met een UNLOCK in één keer alle locks weer vrij.
  FOK!-Schrikkelbaas zaterdag 17 december 2005 @ 23:48:17 #80
1972 Swetsenegger
Egocentrische Narcist
pi_33177926
quote:
Op zaterdag 17 december 2005 23:44 schreef JeRa het volgende:

[..]

LOCK TABLES table1 WRITE, table2 READ, table3 WRITE
...
UNLOCK TABLES

Hij houdt bij welke tables je gelocked hebt voor de thread en je geeft met een UNLOCK in één keer alle locks weer vrij.
Mooi, van de mysql handleiding begreep ik wel dat je in het LOCK TABLES statement alle tables moet opnemen welke je in die thread gaat gebruiken.

hmz, nu doe ik het volgende:

1. Nieuw record in order. Als de query is gelukt (start if)
2. loop door de array met produkten en schrijf naar db
3. lees klantgegevens en produkt info uit
4. verstuur klant een bevestigingsmail
5. einde if

Kan ik die UNLOCK TABLES gewoon tussen twee en 3 ertussen gooien?

-edit- Lijkt me wel

[ Bericht 13% gewijzigd door Swetsenegger op 18-12-2005 00:00:07 ]
pi_33178504
Normaal doe je een LOCK TABLES en UNLOCK TABLES alleen om de queries die wijzigingen aanbrengen in je database dus voor zover je die punten volgt kan dat ja.
pi_33194232
Ik wil dit topic weer in MyAT, maar ik heb niks te melden, noch op te lossen. Daarom toch maar een schaamteloze tvp met wat geblaat eromheen om het niet te veel te laten opvallen
  FOK!-Schrikkelbaas zondag 18 december 2005 @ 18:43:38 #83
1972 Swetsenegger
Egocentrische Narcist
pi_33197353
quote:
Op zondag 18 december 2005 16:55 schreef Nevermind het volgende:
Ik wil dit topic weer in MyAT, maar ik heb niks te melden, noch op te lossen. Daarom toch maar een schaamteloze tvp met wat geblaat eromheen om het niet te veel te laten opvallen
Ik stel dan meestal een nietszeggende vraag over LOCK TABLES ofzo .

-edit- echte vraag. Ik neem aan dat er aan het eind van het script gewoon unlocked wordt? net als dat mysql_close automatisch plaatsvind aan het eind van het script?

[ Bericht 13% gewijzigd door Swetsenegger op 18-12-2005 19:15:18 ]
  zondag 18 december 2005 @ 19:50:26 #84
62215 qu63
..de tijd drinkt..
pi_33199322
Lock tables
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  zondag 18 december 2005 @ 19:58:16 #85
62215 qu63
..de tijd drinkt..
pi_33199383
nu mn echte vraag dan maar

1
2
3
<?php
print("<tr><td class=rowhead width=1%>Download</td><td width=99% align=left><a class=\"index\" href=\"download.php/$id/" . rawurlencode($row["filename"]) . "\">" . htmlspecialchars($row["filename"]) . "</a></td></tr>");
?>


resulteerd in deze link: http://tracker.qu63.nl/download.php/1/24.2.torrent

mijn download.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
34
<?php
require_once("include/bittorrent.php");

dbconn();

hit_start();

if (!
preg_match(':^/(\d{1,10})/(.+)\.torrent$:', $_SERVER["PATH_INFO"], $matches))
    
httperr();

$id = 0 + $matches[1];
if (!
$id)
    
httperr();


hit_count();

$res = mysql_query("SELECT name FROM torrents WHERE id = $id") or sqlerr(__FILE__, __LINE__);
$row = mysql_fetch_assoc($res);

$fn = "$torrent_dir/$id.torrent";

if (!
$row || !is_file($fn) || !is_readable($fn))
    
httperr();


mysql_query("UPDATE torrents SET hits = hits + 1 WHERE id = $id");

header("Content-Type: application/x-bittorrent");

readfile($fn);

hit_end();
?>


alleen die link geeft een foutmelding als ik erop klik
" No input file specified. "

Help
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  FOK!-Schrikkelbaas zondag 18 december 2005 @ 20:03:09 #86
1972 Swetsenegger
Egocentrische Narcist
pi_33199519
quote:
Op zondag 18 december 2005 19:58 schreef qu63 het volgende:
nu mn echte vraag dan maar
[ code verwijderd ]

resulteerd in deze link: http://tracker.qu63.nl/download.php/1/24.2.torrent

mijn download.php:
[ code verwijderd ]

alleen die link geeft een foutmelding als ik erop klik
" No input file specified. "

Help
$fn = "$torrent_dir/$id.torrent";

Waar komt $torrent_dir en $id.torrent vandaan? Want het ziet er naar uit dat er dus geen file te readen valt

readfile($fn);
  zondag 18 december 2005 @ 20:06:01 #87
62215 qu63
..de tijd drinkt..
pi_33199590
quote:
Op zondag 18 december 2005 20:03 schreef Swetsenegger het volgende:

[..]

$fn = "$torrent_dir/$id.torrent";

Waar komt $torrent_dir en $id.torrent vandaan? Want het ziet er naar uit dat er dus geen file te readen valt

readfile($fn);
dat zit in "include/bittorrent.php"

$torrent_dir is http://tracker.qu63.nl/torrents (in bittorrent.php als "torrents") en $id.torrent haalt ie uit de pagina waar de link is gemaakt. details.php dus
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_33199645
quote:
Op zondag 18 december 2005 18:43 schreef Swetsenegger het volgende:

[..]

Ik stel dan meestal een nietszeggende vraag over LOCK TABLES ofzo .

-edit- echte vraag. Ik neem aan dat er aan het eind van het script gewoon unlocked wordt? net als dat mysql_close automatisch plaatsvind aan het eind van het script?
Correct

Van mysql.com
quote:
LOCK TABLES locks tables for the current thread. If any of the tables are locked by other threads, it blocks until all locks can be acquired. UNLOCK TABLES releases any locks held by the current thread. All tables that are locked by the current thread are implicitly unlocked when the thread issues another LOCK TABLES, or when the connection to the server is closed.
pi_33199762
Tenzij je een persistant connection gebruikt. Dan blijven alle locks en transactions open als je het zelf niet doet (of als je php script een fout veroorzaakt en de unlock niet uitvoert).
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_33199991
quote:
Op zondag 18 december 2005 20:12 schreef SuperRembo het volgende:
Tenzij je een persistant connection gebruikt. Dan blijven alle locks en transactions open als je het zelf niet doet (of als je php script een fout veroorzaakt en de unlock niet uitvoert).
En daarom is het ook een goed idee om altijd UNLOCK TABLES uit te voeren
  zondag 18 december 2005 @ 23:21:13 #91
32768 DionysuZ
Respect my authority!
pi_33206129
Als ik in een file.php include("../foo.php"); gebruik en in foo.php heb ik ook een include("bar.php") dan werkt het op sommige servers als: bar.php moet in dezelfde directory staan als file.php. Op weer andere servers doet ie et wel zoals ik wil (bar.php staat bij foo.php in de dir). Hoe komt dit? Oudere php versie ofzo?
□ 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_33206276
quote:
Op zondag 18 december 2005 23:21 schreef DionysuZ het volgende:
Als ik in een file.php include("../foo.php"); gebruik en in foo.php heb ik ook een include("bar.php") dan werkt het op sommige servers als: bar.php moet in dezelfde directory staan als file.php. Op weer andere servers doet ie et wel zoals ik wil (bar.php staat bij foo.php in de dir). Hoe komt dit? Oudere php versie ofzo?
- PHP-versie
- Manier van starten (CLI / CGI / mod_php*)
- Includepaden van PHP

Heb er ook heel veel problemen mee gehad, dus nu stop ik alle include-bestanden ofwel in dezelfde dir ofwel geef ik absolute bestandsnamen op
pi_33211587
Een probleem wat ik in deeltje 16 vermelde ofzo heb ik nog steeds.. Ik kan mijn vinger er nog steeds niet opleggen..

Het idee is als volgt
ik heb een soort cmsje voor meerdere mensen. kunnen allemaal inloggen met hun eigen loginnaam en password. Aan de hand van hun loginnaam krijgen ze een unieke waarde mee in de vorm van een getal. Deze waarde is altijd gelijk per username.

Nou kunnen ze dus een titel + een tekstje invoeren in een form (post) en als ze op submit klikken wordt dit toegevoegd in de database.

Over het algemeen werkt dit prima. Er is alleen 1 raarrrr probleem.

Er is een user die de titel niet ingevoerd krijgt in de database via dit systeem. Als ik print_r($_POST); doe wordt het hele titelveld niet meegestuurd

kopieer ik deze tekst, en log ik in onder mijn proefaccount (die gebruik maakt van exact dezelfde bestanden, maar met een andere unieke waarde) en voer ik dit in met een titel, stuurt hij de titel wel mee in de POST en voegt het ook prima in in de db. Log ik in onder het account van deze user, en probeer ik dit trucje ook, lukt het weer niet. Ook bij het editten van dit bericht neemt hij de titel niet mee. Als ik het handmatig in de db invoer via phpmyadmin heeft hij geen problemen.

Nou verwacht ik van deze user dat hij gare landinstellingen heeft van zn toetsenbord, omdat ik leestekens ben tegengekomen (in de vorm van kommaatjes in de lucht) die niet overeenkomen met de kommaatjes onder de tilde en de dubbele quote. Ik weet alleen niet of dit uit hoort te maken. Helemaal omdat het ook niet werkt als ik dus onder zijn account inlog.

Behalve het veranderen van <br> in \r\n wordt er verder niks gedaan met de input. magicquotes staan aan dus addslashes is niet nodig (ook al geprobeerd trouwens).

De code is te groot en rommelig om hier te kunnen plaatsen, dus ik hoop dat jullie met wat inbeelding mij kunnen helpen, want ik weet t echt ff niet meer
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_33213165
quote:
Op maandag 19 december 2005 09:34 schreef Desdinova het volgende:
[...] De code is te groot en rommelig [...]
Ik denk dat daar het probleem zit

Als het veld niet meegestuurd wordt in $_POST, dan zou er iets mis moeten zijn met het form.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_33215249
het is gefixed
charset 8859-1 veranderd in charset 8859-15

met tx aan JeRa
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_33218576
ik heb een string met een linkje:

'hee woeptiedoe <a href="#" javascriptenzolinkje hier>klik</a> en nog wat'.

nu wil ik alles verwijderen vanaf <a href="#" tot en met >. linkjes die niet # als href hebben blijven op die manier gewoon intact. de </a> blijft ook gewoon staan maar dat is niet zo erg.

iemand n keyword/functie voor me waar ik op kan googlen?
As a rule, I never touch anything more sophisticated and delicate than myself.
  maandag 19 december 2005 @ 15:59:54 #97
32768 DionysuZ
Respect my authority!
pi_33218767
ik weet niet echt precies wat je wil doen, maar misschien is preg_replace() wat voor je?
□ 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
  maandag 19 december 2005 @ 16:15:45 #98
65471 SkaterSam
Lurking Galore
pi_33218989
1
2
3
<?php
$this
-&gt;resultaten = mysql_query(mysql_real_escape_string($query),$this-&gt;c_id);
?>


Als ik input wil controleren (ik heb ook htmlentities er in) is dit dan voldoende? Tenminste voor een MySQL INSERT of een SELECT?
Let's make life easy
Typo's are the demon spawn from hell !
pi_33220345
quote:
Op maandag 19 december 2005 15:59 schreef DionysuZ het volgende:
ik weet niet echt precies wat je wil doen, maar misschien is preg_replace() wat voor je?
1
2
3
4
<?php
$pattern
= '@<a href=\"#\".*(.*?)</a>@';
$table = preg_replace($pattern, '\\1',$table);
?>


dit werkt
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_33220359
quote:
Op maandag 19 december 2005 15:52 schreef Desdinova het volgende:
ik heb een string met een linkje:

'hee woeptiedoe <a href="#" javascriptenzolinkje hier>klik</a> en nog wat'.

nu wil ik alles verwijderen vanaf <a href="#" tot en met >. linkjes die niet # als href hebben blijven op die manier gewoon intact. de </a> blijft ook gewoon staan maar dat is niet zo erg.

iemand n keyword/functie voor me waar ik op kan googlen?
Ik ben niet zo'n expert met reguliere expressies, maar dit lijkt te werken:
1
2
3
4
5
6
<?php
    $str
= 'hoi test <a href="#" bladiebla>linkje</a> nogwat';
    echo
$str . "<br>";
    
$str = preg_replace( "/\<a href=\"#\"(.+)>(.+)<\/a>/is", '\2', $str );
    echo
$str;
?>


-edit- te laat
en minder goed
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')