abonnement Unibet Coolblue Bitvavo
  FOK!-Schrikkelbaas maandag 5 maart 2007 @ 18:21:42 #26
1972 Swetsenegger
Egocentrische Narcist
pi_46949349
quote:
Op maandag 5 maart 2007 18:13 schreef splendor het volgende:

[..]

Vanavond ga ik naar een cabaret voorstellingen maar ik zal morgen ff kijken wat dat ding precies doet en of het dan beter werkt.

Het liefste wil ik gewoon 1 malig addslashes en niet later nog eens overal stripslashes uitvoeren, tenzij het de veiligheid in de weg staat, veiligheid boven alles natuurlijk.
*zucht*, zoals gezegd alles door strip_slashes deep trekken ALS magiq quotes aanstaan en met mysql_real_escape_string naar db schrijven. Dan kan je vervolgens zonder probleem de data UIT database presenteren zonder strip_slashes.
pi_46949538
quote:
Op maandag 5 maart 2007 18:21 schreef Swetsenegger het volgende:

[..]

*zucht*, zoals gezegd alles door strip_slashes deep trekken ALS magiq quotes aanstaan en met mysql_real_escape_string naar db schrijven. Dan kan je vervolgens zonder probleem de data UIT database presenteren zonder strip_slashes.
Het is goed bedoeld dat weet ik wel. Maar ik doe niet zomaar iets omdat het gezegd wordt in dit topic, ik wil graag weten waarom het nodig is, en hoe het allemaal werkt.
Dus morgen eerst even de php.net beschrijving van die functies lezen en kijken wat de voor en nadelen zijn.
-
pi_46949673
quote:
Op maandag 5 maart 2007 18:13 schreef splendor het volgende:
Het liefste wil ik gewoon 1 malig addslashes en niet later nog eens overal stripslashes uitvoeren, tenzij het de veiligheid in de weg staat, veiligheid boven alles natuurlijk. :)
Je moet encoding alleen gebruiken waar het nodig is. Het is niet handig om standaard alle input door addslashes() heen te halen (zoals magic quotes doet) omdat het misschien wel eens in een SQL statement gebruikt gaat worden.

String in een SQL statement? mysql_real_escpae_string() of addslashes()
1$sql = "SELECT foo FROM bar WHERE baz = '". mysql_real_escpae_string($baz) ."'";

String als parameter in een url? urlencode()
1$url = 'http://foo.net/bar.php?baz='.urlencode($baz);

String in een stuk html? htmlentities() of htmlspecialchars()
1$link = '<a href="'.htmlentities($url.'&bazz='.urlencode($bazz)).'">Foo</a>';
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  maandag 5 maart 2007 @ 20:17:24 #29
51748 H4ze
wait...what?
pi_46953761
Ik heb sinds kort de kracht van object georienteerd programmeren in PHP ontdekt Ik heb al wel aardig wat ervaring met OOP in Java, maar ik dacht altijd dat 't voor PHP een beetje doelloos was. Maar zeker voor de wat grotere projecten is het zeer geschikt
*BURP*
pi_46956662
quote:
Op maandag 5 maart 2007 20:17 schreef H4ze het volgende:
Ik heb sinds kort de kracht van object georienteerd programmeren in PHP ontdekt Ik heb al wel aardig wat ervaring met OOP in Java, maar ik dacht altijd dat 't voor PHP een beetje doelloos was. Maar zeker voor de wat grotere projecten is het zeer geschikt
ik heb voor school wel eens met OOP moeten werken, maar i.p.v. overzichtelijker werd het alleen maar onoverzichtelijker, je had een functie die 20x naar iets anders verwees voordat hij daadwerkelijk de functie aanriep
  maandag 5 maart 2007 @ 21:50:18 #31
51748 H4ze
wait...what?
pi_46957628
quote:
Op maandag 5 maart 2007 21:28 schreef mschol het volgende:

[..]

ik heb voor school wel eens met OOP moeten werken, maar i.p.v. overzichtelijker werd het alleen maar onoverzichtelijker, je had een functie die 20x naar iets anders verwees voordat hij daadwerkelijk de functie aanriep
Dan heb je 't niet goed uitgedacht Ik ben op m'n stage op 't moment bezig met een groot PHP project. Alle modules die ik ontwikkel, werk ik eerst uit in UML. Met een goed ontwerp kun je zeer efficient OO programmeren.
*BURP*
pi_46969637
Gaat er nog iemand een artikel schrijven over OOP in PHP?
pi_46969961
Ik heb weer een leuke:

Een simpele query. Tabel met vier kolommen, eerst gesorteerd op A, daarna op B en daarna op C. D is een extra kolom, met een los attribuut. Nu hoeft er niet op D gestorteerd te worden, tenzij D lager dan 16 is. Dan moet D helemaal bovenaan de searchresults komen.

In PHP is dat op te vangen door twee query's te gebruiken, maar kan dit niet gewoon al direct in de query zelf?
pi_46970050
quote:
Op dinsdag 6 maart 2007 11:47 schreef super-muffin het volgende:
Gaat er nog iemand een artikel schrijven over OOP in PHP?
Daar zijn volgens mij al genoeg artikelen over geschreven

Maar het is echt ontzettend handig, dat OOP. Voordat ik voor FOK! dev-te maakte ik er nauwelijks gebruik van, maar zeker met een site als FOK! moet je haast wel OOP gebruiken om onderdelen soepel met elkaar te laten samenwerken. En dat maakt het programmeren heerlijk, je hoeft niet na te denken over allerlei functies die met elkaar moeten samenwerken, fantastisch.

Misschien dat ik nog wel eens een stukje op de dev-weblog kan schrijven
pi_46970266
quote:
Op dinsdag 6 maart 2007 11:57 schreef Geqxon het volgende:
Ik heb weer een leuke:

Een simpele query. Tabel met vier kolommen, eerst gesorteerd op A, daarna op B en daarna op C. D is een extra kolom, met een los attribuut. Nu hoeft er niet op D gestorteerd te worden, tenzij D lager dan 16 is. Dan moet D helemaal bovenaan de searchresults komen.

In PHP is dat op te vangen door twee query's te gebruiken, maar kan dit niet gewoon al direct in de query zelf?
Je zou kunnen proberen om met IF in je query te gaan werken. Dus IF d < 16 THEN ORDER BY d ELSE ORDER BY a, b, c END IF. Ik heb geen kant en klare query bij de hand, maar ik denk dat je in die richting moet zoeken
Daarnaast weet ik eigenlijk niet precies hoeveel load dat op je mysql-server geeft, dus het zou kunnen zijn dat het sneller is om het in php te verwerken
pi_46970775
quote:
Op maandag 5 maart 2007 21:50 schreef H4ze het volgende:

[..]

Dan heb je 't niet goed uitgedacht Ik ben op m'n stage op 't moment bezig met een groot PHP project. Alle modules die ik ontwikkel, werk ik eerst uit in UML. Met een goed ontwerp kun je zeer efficient OO programmeren.
Kijk in dat kader ook even naar Zend Framework.
pi_46970836
quote:
Op dinsdag 6 maart 2007 12:09 schreef Hmail het volgende:

[..]

Je zou kunnen proberen om met IF in je query te gaan werken. Dus IF d < 16 THEN ORDER BY d ELSE ORDER BY a, b, c END IF. Ik heb geen kant en klare query bij de hand, maar ik denk dat je in die richting moet zoeken
Daarnaast weet ik eigenlijk niet precies hoeveel load dat op je mysql-server geeft, dus het zou kunnen zijn dat het sneller is om het in php te verwerken
Idd, iets als:

SELECT IF(d < 16, 0, 1) as d_low, a, b, c FROM TABLE ORDER BY d_low, a, b, c, d
pi_46971113
quote:
Op dinsdag 6 maart 2007 12:28 schreef Roonaan het volgende:

[..]

Idd, iets als:

SELECT IF(d < 16, 0, 1) as d_low, a, b, c FROM TABLE ORDER BY d_low, a, b, c, d
hehe, you beat me Ik vond mijn query nog aardig gevonden
pi_46972142
Maar die (d < 16), op welke D slaat dat? Want in mijn tabel zijn er 1600 records, het is niet alsof ik maar een enkel record tevoorschijn tover
pi_46973104
quote:
Op dinsdag 6 maart 2007 13:15 schreef Geqxon het volgende:
Maar die (d < 16), op welke D slaat dat? Want in mijn tabel zijn er 1600 records, het is niet alsof ik maar een enkel record tevoorschijn tover
Die d is een veld van je record.
pi_46973942
Ik krijg het gevoel dat ik het niet 100% begrijp. Zelf wil ik het in de trant van:

1
2
3
4
5
6
7
8
9
+-------+-------+-------+-------+
|   A   |   B   |   C   |   D   |
+-------+-------+-------+-------+
|   D**   |   I**   |   2**   |   4   |
|   A**   |   E**   |   1**   |   120   |
|   P**   |   Q**   |   1**   |   133   |
|   P**   |   R**   |   2**   |   159   |
|   Z**   |   H**   |   1**   |   141   |
+-------+-------+-------+-------+


Dus sorteren op A, gevolgd door B en daarna C. Niet op D sorteren, tenzij deze lager dan 16 is, dan moet deze bovenaan de resultaten. Werkt deze IF statement niet per rij, in plaats van in het geheel?
  dinsdag 6 maart 2007 @ 15:01:04 #42
85514 ralfie
!Yvan eht nioj
pi_46975968
1IF (d <16,0,1) AS d_low
Dit betekent simpelweg dat als de 'd' van die rij kleiner is als 16, dat d_low dan 0 wordt, anders wordt die 1. Door nu eerst te sorteren op deze uitkomst, krijg je eerst alle rijen waar 'd' kleiner is als 16, en daarna alle rijen waar 'd' groter is als 16. En dat was dacht ik wat je wilde

1SELECT *,IF(d<16,0,1) AS d_low FROM table ORDER BY d_low,A,B,C


geeft dan

1
2
3
4
5
6
7
8
9
10
+------+------+------+------+-------+
| A    | B    | C    | D    | d_low |
+------+------+------+------+-------+
| D**  | I**  | 2**  |    4 |   0   |
| A**  | E**  | 1**  |  120 |   1   |
| P**  | Q**  | 1**  |  133 |   1   |
| P**  | R**  | 2**  |  159 |   1   |
| Z**  | H**  | 1**  |  141 |   1   |
+------+------+------+------+-------+
5 rows in set (0.00 sec)


[ Bericht 12% gewijzigd door ralfie op 06-03-2007 15:06:28 ]
pi_46976871
Dat is duidelijke praat, hij maakt simpelweg tijdelijk een extra kolom aan ,die 0 is if true en 1 if false, en sorteert daar op. Werkt prima, bedankt!
pi_46977454
quote:
Op maandag 5 maart 2007 21:50 schreef H4ze het volgende:

[..]

Dan heb je 't niet goed uitgedacht Ik ben op m'n stage op 't moment bezig met een groot PHP project. Alle modules die ik ontwikkel, werk ik eerst uit in UML. Met een goed ontwerp kun je zeer efficient OO programmeren.
ik heb het uitgedacht zoals het moest van de docenten..
  FOK!-Schrikkelbaas dinsdag 6 maart 2007 @ 15:59:12 #45
1972 Swetsenegger
Egocentrische Narcist
pi_46978259
Query vraagje.
Als ik nu een tabel heb met een veld initialen en een veld achternaam. En die wil ik vervolgens selecteren als naam.

SELECT (intialen, achternaam) AS naam FROM tabel

werkt in ieder geval niet
pi_46978505
SELECT CONCAT(initialen, " ", achternaam) AS naam FROM tabel.

Waar laat je overigens je tussenvoegsel?

Note: is het construeren van een naamsweergave uit onderdelen een data niveau kwestie of een template kwestie?
  FOK!-Schrikkelbaas dinsdag 6 maart 2007 @ 16:24:02 #47
1972 Swetsenegger
Egocentrische Narcist
pi_46979237
quote:
Op dinsdag 6 maart 2007 16:05 schreef Roönaän het volgende:
SELECT CONCAT(initialen, " ", achternaam) AS naam FROM tabel.
Bedankt! Helaas werkt dit niet met Access, maar wel met de & operator
quote:
Waar laat je overigens je tussenvoegsel?
Hoe bedoel je?
quote:
Note: is het construeren van een naamsweergave uit onderdelen een data niveau kwestie of een template kwestie?
eh... beide
  dinsdag 6 maart 2007 @ 16:58:21 #48
52200 ViPeRII
It's a good day to die
pi_46980609
Hi,

Heb een probleem met een functie:
de input komt uit een textarea en is b.v.:
Home
*test
+menu
-tje
Contact
Extra

Alles met enters er achter n naar ik aanneem.

Nu heb ik hier een functie, die code moet opbouwen voor een menu:
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
<?php
function make_menu_data_2($data)
{
   $menus1 = explode("n", $data);
   $menus = str_replace("n","",$menus1);
   print_r($menus);
   $aantal = count($menus);
   $menu = "var MENU_ITEMS = [n";
   for ($i = 0; $i < $aantal; $i++) 
   {      
   $menu .= "['";

   if ($menus[$i][0] == "*")
   {
   $menu .= str_replace("*","",$menus[$i]) . "', null, null,n";
   }
   else
   {
   if ($menus[$i][0] == "+")
   {
   $menus[$i] = str_replace("+", "", $menus[$i]);
   $menu .= $menus[$i] . "','page=" . str_replace(" ","",$menus[$i]) . "'],n";
                     }
   else
   if ($menus[$i][0] == "-")
   {
   $menus[$i] = str_replace("-", "", $menus[$i]);
   $menu .= $menus[$i] . "','page=" . str_replace(" ","",$menus[$i]) . "']n],n";
                     }
   else
   {
   $menu .= $menus[$i] . "','page=" . str_replace(" ","",$menus[$i]);
   $menu .= "'],n";
   }
            }
  }
$menu .= "n];";

$code = $menu;
return $code;
}
?>

Volgens mij zou de output:
var MENU_ITEMS = [
['Home','page=Home'],
['test', null, null,
['menu','page=menu'],
['tje','page=tje']
],
['Contact','page=Contact'],
['Extra','page=Extra'],

];

moeten zijn (zoals ik het ook hebben moet, maar hij maakt er:
var MENU_ITEMS = [
['Home
','page=Home
'],
['test
', null, null,
['menu
','page=menu
'],
['tje
','page=tje
']
],
['Contact
','page=Contact
'],
['Extra','page=Extra'],

];

van. zie iemand de fout in mijn code?

Als hij er uit komt als het 2e voorbeeld, doet mijn code het niet.
Het is belangrijk dat het er uit komt als: ['Extra','page=Extra'],
en niet als
['Extra',
'page=Extra'],

Hopelijk heeft iemand een idee
-- ViPeRII --
  FOK!-Schrikkelbaas dinsdag 6 maart 2007 @ 17:12:26 #49
1972 Swetsenegger
Egocentrische Narcist
pi_46981153
onder windows is \r\n
  dinsdag 6 maart 2007 @ 17:20:22 #50
128663 h.henkie
Ik ontken alles
pi_46981464
Hoi
Ik heb het volgende. Op deze pagina heb ik een upload scriptje staan met de volgende 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
<?php
<form name="upload formulier" enctype="multipart/form-data" method="post" action=" echo $_SERVER['PHP_SELF']; ">
  <
input type="file" name="source_file">
  <
br>
  <
input type="submit" name="submit" value="Submit">
</
form><br />

  

error_reporting(E_ALL);  

if(isset(
$_POST['submit'])) {  
    
$size $_FILES['source_file']['size'];// / 1024 / 1024   om naar MB te gaan. 
    
$size round($size2);  
    echo 
"Het volgende bestand wordt geupload:<br />"
    echo 
"Naam: '" $_FILES['source_file']['name'] . "'<br />"
    echo 
"Grootte: '" $size " Bytes'<br />"
    echo 
"<b>tmp_name:</b> '" $_FILES['source_file']['tmp_name'] . "'<br />"
    echo 
"de upload wordt verwerkt...<br />"

    
//Variabelen definiëren
    
$ftp_server "ftp.edek.nl";  
    
$ftp_user_name "hromiz";  
    
$ftp_user_pass "XXXXXX";
    
$source_file $_FILES['source_file']['tmp_name'];  
    
$destination_file 'rooster/bestand/'.$_FILES['source_file']['name'];  
    echo 
$destination_file."<br>"

    
//Maak een basis connectie aan
    
$conn_id ftp_connect($ftp_server);  
    
ftp_pasv($conn_id,TRUE);  

    
//Meldt je aan met een gebruikersnaam en wachtwoord
    
$login_result ftp_login($conn_id$ftp_user_name$ftp_user_pass);  

     
//Controleer de verbinding
    
if ((!$conn_id) || (!$login_result)) {  
        echo 
"FTP connectie is mislukt!<br />";  
        echo 
"Probeerde naar '" $ftp_server "' te verbinden met de gebruiker '" $ftp_user_name "'<br />";  
        exit;  
    } else {  
        echo 
"Verbonden met '" $ftp_server "', als gebruiker '" $ftp_user_name "'<br />";  
    }  
   
 
//Upload een bestand
    
$upload ftp_put($conn_id$destination_file$source_fileFTP_BINARY);  
 
 
//Controleer de upload status
    
if (!$upload) {  
        echo 
"FTP upload is mislukt!<br />";  
    } else {  
        echo 
"<b>Geupload: '" $source_file "' naar '" $ftp_server "' als '" $destination_file "'</b><br />";  
    }  
    
//Sluit de FTP stream
    
ftp_close($conn_id);  
}  
?>


Ik krijg bij de link de fout melding:
quote:
Warning: ftp_put() [function.ftp-put]: rooster/bestand/license.txt: The system cannot find the path specified. in c:domainsedek.nlwwwrootrooster1.php on line 46

Als ik dit script op mijn prive webserver zet werkt het wel. (ook van buitenaf)

Wie weet waar de fout zit? Voor mijn gevoel heeft het iets met rechten oid te maken.

gegroet
"Een kat heeft 40 miljoen haren: 5 miljoen op de rug, 10 miljoen op de
buik, en 25 miljoen op uw bankstel" -- Midas Dekkers
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')