abonnement Unibet Coolblue Bitvavo
pi_32131016
Aha op die manier. Is het dan misschien handiger om die informatie in een cookie te zetten? Een cookie is makkelijk te lezen / te schrijven / aan te passen met javascript en met php.
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 9 november 2005 @ 22:25:59 #252
1972 Swetsenegger
Egocentrische Narcist
pi_32131208
Mjah, ik ben altijd nog al aan het worstelen met javascript cookies en IE (expiration lukt nooit zoals het moet. Werkt altijd wel prima in FF en Opera gek genoeg)

Ik kan natuurlijk ook gewoon in mijn javascript plusjes swap script een array maken en die vervolgens in mijn link echo'en.

Hmz, het is moeilijker dan ik in eerste instantie dacht.
pi_32131983
Als je het zonder cookies doet, hoe wil je dan de huidige status van de tree overdragen naar de volgende pagina.
Je zou ook met XMLHttp de nieuwe status naar de server kunnen sturen en die dan opslaan in de sessie of db.

Als ik het goed heb werkt GoT ook met cookies voor de in/uitklap status. En dat werkt prima
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 9 november 2005 @ 22:49:27 #254
1972 Swetsenegger
Egocentrische Narcist
pi_32132148
quote:
Op woensdag 9 november 2005 22:45 schreef SuperRembo het volgende:
Als je het zonder cookies doet, hoe wil je dan de huidige status van de tree overdragen naar de volgende pagina.
Gewoon in de link

pagina.php?menu=0-3-5

dus alleen de open items in je link meegeven.
Alleen heeft javascript geen foreach functie
quote:
Als ik het goed heb werkt GoT ook met cookies voor de in/uitklap status. En dat werkt prima
Ja dat geloof ik graag, maar ik heb hier javascript voor dummies ook al een aantal keer mijn javascript cookie code gepost. Niemand ziet een fout. Hij werkt ook prima in FF en Opera.... Maar NIET in IE (expired zodra je de browser sluit)

*denkt* nu is expiration niet zo'n groot probleem eigenlijk.

Een javascript cookie kan ik natuurlijk ook met php uitlezen. cookie is cookie toch? Kan een cookie een array bevatten? en zoja. Hoe vul ik die array? Elke keer als ik op een plusje klik (inklappen of uitklappen maakt niet uit) moet ik het cookie bijwerken
pi_32132533
Ik denk dat het makkelijker is om bij elke keer in- of uitklappen de cookie aan te passen dan om in elke link de menu status door te geven en weer goed af te handelen.

Javascript heeft wel een for-each hoor
1
2
3
4
var fruit = {a:'appel', b:'banaan',c:'citroen'};
for (i in fruit) {
   alert(i + ': ' + fruit[i]);
}
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 9 november 2005 @ 23:03:47 #256
1972 Swetsenegger
Egocentrische Narcist
pi_32132752
quote:
Op woensdag 9 november 2005 22:59 schreef SuperRembo het volgende:
Ik denk dat het makkelijker is om bij elke keer in- of uitklappen de cookie aan te passen dan om in elke link de menu status door te geven en weer goed af te handelen.
De link komt uit database, dus is maar 1 regeltje code waar ik de links parse aanpassen
Maar we gaan toch maar voor het cookie

1
2
3
4
5
6
7
8
9
10
function exchange(id){
if (menu[id]==0){
menu[id]=1;
}else{
menu[id]=0;
}

// uit dan wel inklappen script

document,cookie="menu="+menu+";expires="+vervaldatum+"; path=/";

Dit zou moeten werken toch. Een array in een cookie?
-edit- hmz, nee dus cookie wordt wel gezet maar de content is leeg
quote:
Javascript heeft wel een for-each hoor
[ code verwijderd ]
waarom kom ik in google dan alleemaal zelf geschreven foreach functies tegen voor javascript?

[ Bericht 6% gewijzigd door Swetsenegger op 09-11-2005 23:12:43 ]
pi_32133105
Een array in een cookie? Gewoon join en split gebruiken.

Ik heb geen idee waarom je moeilijk zou moeten doen om een for-each voor elkaar te krijgen. Het enige dat je ff moet onthouden is dat je de index krijgt, niet het item zelf.
Het gaat trouwens ook fout als je bijvoorbeeld een push functie op de prototype van de array hebt gezet (voor IE5 compatibility). Dan loopt ie namelijk ook over die functie.
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 9 november 2005 @ 23:15:21 #258
1972 Swetsenegger
Egocentrische Narcist
pi_32133217
quote:
Op woensdag 9 november 2005 23:12 schreef SuperRembo het volgende:
Een array in een cookie? Gewoon join en split gebruiken.
Hmz, die bestaan ook in javascript? Maar een array in een cookie moet toch kunnen? anders moet ik de array joinen, in een cookie zetten, splitsen als er wat wijzigt.
quote:
Ik heb geen idee waarom je moeilijk zou moeten doen om een for-each voor elkaar te krijgen. Het enige dat je ff moet onthouden is dat je de index krijgt, niet het item zelf.
Het gaat trouwens ook fout als je bijvoorbeeld een push functie op de prototype van de array hebt gezet (voor IE5 compatibility). Dan loopt ie namelijk ook over die functie.
[/quote]
Hoe bedoel je? Ik moet wel weten welke er open staan. Dus ik moet een array zetten. Vervolgens moet ik op de nieuwe pagina voor elk item in mijn array de exchange functie aanroepen. Dan moet ik toch door die array loopen?
pi_32139037
Het Array object heeft een join method, het String object heeft een split method.
1
2
3
4
5
var a = [2, 3, 5, 7, 11];
var s = a.join(',');
alert(s);
var b = s.split(',');
alert(b.length);


IE5 kent geen Array.push() en Array.pop(). Als je die toch wil gebruiken dan kan je die methods toevoegen met Array.prototype.push = function(...){...}. Dat werkt prima. Het lastige is alleen dat als je dan met een for-each door een array loopt, dat je dan ook die push en pop functie als array element tegen komt.
Maar als je Array.prototype niet gebruikt dan is er niets aan de hand
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_32153428
Waarom werkt dit niet..

Het is de bedoeling dat een geupload file uitgelezen wordt en de data in die file in een database toegevoegd wordt.

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
<?php
$table_name
="OBcontacts_temp";

$textfile = $_FILES['file']['tmp_name'];

chmod($textfile,0755);


$field_terminater="";
$line_terminator="\r\n";

$query = "LOAD DATA INFILE '$textfile' INTO TABLE $table_name (Data) ";

if (isset(
$field_terminater)) {
$query .= "FIELDS TERMINATED BY '$field_terminater'";
}
if (
strlen($line_terminator)&gt;0) {
$query .= "LINES TERMINATED BY '". stripslashes($line_terminator)."'";
}

$sql_query = $query;

$result= mysql_query($sql_query);
?>


ik vermoed dat de fout zit bij het $textfile = $_Files gebeuren.. iemand die me kan vertellen hoe t wel moet?
De database connectie is goed iig.
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_32153651
Kan ik als ik een pagina include, in de geinclude pagina zien welke pagina dat deed?

Dus bijv.:

Test.php:
1
2
3
4
<?php
php
include("test2.php");
?>


test2.php zou dan bijv. als output moeten geven 'test.php'. Het liefst nog met achtervoegsels (?ID=12) erbij ook. Maar das geen must

Kan dat?
La derecha oprime, la izquierda libera
pi_32160271
quote:
Op donderdag 10 november 2005 17:43 schreef LeeHarveyOswald het volgende:
Kan ik als ik een pagina include, in de geinclude pagina zien welke pagina dat deed?

Dus bijv.:

Test.php:
[ code verwijderd ]

test2.php zou dan bijv. als output moeten geven 'test.php'. Het liefst nog met achtervoegsels (?ID=12) erbij ook. Maar das geen must

Kan dat?
Ja dat kan volgens mij. Volgens mij zit dat ergens in het $_SERVER array.

-edit-

Ik denk trouwens dat $_SERVER['REQUEST_URI'] het juiste antwoord bevat.

[ Bericht 6% gewijzigd door ikke_ook op 10-11-2005 22:18:54 ]
  vrijdag 11 november 2005 @ 01:35:40 #263
51748 H4ze
wait...what?
pi_32168050
Ik ben bezig met een site en ik loop momenteel op iets vast. Ik heb ff een simpel voorbeeldje van m'n probleem gemaakt.

Het bestand "set.php":
1
2
3
4
5
6
7
8
9
10
<?php session_start(); ?>

html onzin, en op een gegeven moment iets van:
<?php 
$_SESSION['check1']='check 1 jo'; 
$_SESSION['check2']='check 2 jo'; 
?>
<br />
<br />
<?php include('http://haze.stoner.nl/test/print.php'); ?>


Hieronder het bestand "print.php" wat ie moet includen:
1
2
3
4
5
6
7
<?php session_start(); ?>

Dit is het bestand dat geinclude moet worden, en hiernaast moet ook de session geinclude worden

<?php 
echo $_SESSION['check1']; 
?>


Dat includen werkt wel, maar waarom include ie de sessie niet? Als ik eerst naar de pagina "set.php" browse, en vervolgens zelf naar de pagina "print.php" ga, dan zie ik de sessie wel geprint staan. Betekent dit dat de include-statement niet met Sessies om kan gaan? Of moet ik nog iets toevoegen (of doe ik iets enorm fout )

Hier staan de bestanden trouwens:
set.php
print.php

Bvd

[ Bericht 5% gewijzigd door H4ze op 11-11-2005 02:36:31 ]
*BURP*
pi_32171510
Je moet niet includen met "http://"

Doe gewoon include "print.php";

Waar hebben ze je dat geleerd dat je via de url moet includen?
  vrijdag 11 november 2005 @ 14:05:36 #265
51748 H4ze
wait...what?
pi_32178239


Ik geloof dat een klasgenoot 't ooit zo aan mij heeft verteld. Maar thnx iig, het werkt nu.
*BURP*
pi_32178262
Vanavond ga ik het proberen danku!
quote:
Op donderdag 10 november 2005 21:25 schreef ikke_ook het volgende:

[..]

Ja dat kan volgens mij. Volgens mij zit dat ergens in het $_SERVER array.

-edit-

Ik denk trouwens dat $_SERVER['REQUEST_URI'] het juiste antwoord bevat.
La derecha oprime, la izquierda libera
pi_32180861
quote:
Op vrijdag 11 november 2005 14:05 schreef H4ze het volgende:


Ik geloof dat een klasgenoot 't ooit zo aan mij heeft verteld. Maar thnx iig, het werkt nu.
Ah, vertel hem/haar even dat hij zulk "advies" voor zich moet houden en eerst een phpboek moet pakken.
pi_32194813
Een include werkt altijd lokaal, dus inderdaad niet via een URI. Een PHP script is in feite een scriptje welke lokaal wordt geïnterpreteerd en dus werken alle bestandsaanroepen (zoals includes, maar ook de functie move_uploaded_file() etc) ook lokaal.
pi_32194927
quote:
Op woensdag 9 november 2005 22:49 schreef Swetsenegger het volgende:
Gewoon in de link

pagina.php?menu=0-3-5
Ik persoonlijk ben op dit soort oplossingen principieel tegen. Je moet enkel het laatste punt meegeven en dan het pad recursief opbouwen. Dus je geeft:

pagina.php?menu=5

En het pad wordt dan met behulp van een recursieve functie dynamisch opgebouwd.
pi_32195303
quote:
Op zaterdag 12 november 2005 00:11 schreef FuifDuif het volgende:
Een include werkt altijd lokaal, dus inderdaad niet via een URI. Een PHP script is in feite een scriptje welke lokaal wordt geïnterpreteerd en dus werken alle bestandsaanroepen (zoals includes, maar ook de functie move_uploaded_file() etc) ook lokaal.
Als allow_url_fopen() true oplevert dan is het ook mogelijk om bestanden via een URI te includen. Files die niet vanuit het file system geinlcude worden, die kunnen worden geinterpreteerd door de server die de bestanden aanlevert. En als die uitkomst geen geldige php code is dan krijg je problemen.

Move_uploaded_file() is een ander geval. Die functie controleert eerst of het bestand dat je wilt verplaatsen wel van de upload afkomstig is, en zal alleen al daarom niet werken met URI's. Overigens kun je alleen bestanden verplaatsen die bij die specifieke aanroep van de pagina zijn geupload. Als je ze niet verplaatst dan worden ze weer verwijderd.
pi_32195397
Dat van die allow_url_fopen() wist ik niet. Wel handig om op die manier een soort scriptserver te realiseren om algemene routines aan te bieden aan verschillende applicaties die op verschillende fysiek gescheiden locaties draaien.
pi_32195505
quote:
Op zaterdag 12 november 2005 00:11 schreef FuifDuif het volgende:
Een include werkt altijd lokaal, dus inderdaad niet via een URI.
Dat is niet waar. Check de manual. Het kan wel (mits allow_url_fopen aan staat), maar het is niet aan te raden.


[edit]Trage reactie [/edit]
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_32195569
quote:
Op zaterdag 12 november 2005 00:43 schreef SuperRembo het volgende:

[..]

Dat is niet waar. Check de manual. Het kan wel (mits allow_url_fopen aan staat), maar het is niet aan te raden.

[edit]Trage reactie [/edit]
Ja, klopt, ik ben inmiddels op de hoogte . Het lijkt mij inderdaad niet aan te raden, tenzij het algemene routines zijn die speciaal op die manier worden aangeboden en ook specifiek met dat doel. Bijvoorbeeld een soort objectserver of iets dergelijks. Maar voor standaard lokaal maatwerk lijkt het mij de voorkeur genieten om gebruik te maken van lokale referenties.
pi_32195683
Weten dat het kan is ook voldoende. Da's een extra reden om te zorgen dat wat je in een include stopt ook veilig is.
Dus niet:
1
2
3
<?php
include($_GET['page']);
?>


Want zo weet je nooit wat voor code je binnenhaalt.
pi_32195830
quote:
Op zaterdag 12 november 2005 00:52 schreef Light het volgende:
Weten dat het kan is ook voldoende. Da's een extra reden om te zorgen dat wat je in een include stopt ook veilig is.
Dus niet:
[ code verwijderd ]

Want zo weet je nooit wat voor code je binnenhaalt.
Dat lijkt mij logisch. Ik zou ook niet weten waarom je het op die manier zou schrijven. Ik wil zelf altijd maximale controle op de GET en POST data die ik binnen krijg en probeer de client-side vrijheid wat dat betreft zoveel mogelijk te beperken tot het hoogst noodzakelijke. Dat betekent ook dat die data altijd door een strenge controle gaan voordat ze bijvoorbeeld worden opgenomen in een database transactie. Het is een kleine moeite, maar tegenwoordig oh zo belangrijk.
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')