1 2 3 4 5 6 7 | php $query1 = "UPDATE leraar SET voornaam = '".$voornaam"', tussenvoegsels = '".$tussenvoegsels."', achternaam = '".achternaam."'"; ?> |
1 2 3 4 5 6 | php $voornaam = addslashes($_POST["voornaam"]); $tussenvoegsels = addslashes($_POST["tussenvoegsels"]); $achternaam = addslashes($_POST["achternaam"]); ?> |
Hint: met strtotime() kun je leuke dingen doen zoals '+3 days'quote:Op woensdag 28 juni 2006 14:02 schreef markiemark het volgende:
Ik heb een vraagje. Ben bezig met een rooster programmaatje waarin ik vakantie dagen kan uitrekenen. Ik heb een begin datum en een eind datum. Nu wil ik aan de hand van deze gegeven een lijstje genereren met de dagen die binnen de 2 data vallen. Iemand een idee hoe dat gaat, ik vermoed met de date() en mktime() functie samen met een array, maar ik kom er niet uit..
1 2 3 4 5 6 7 8 9 10 11 12 13 | if ($cookie != NULL) { // max cookie tijd (3 maand) $tim = 60*60*24*31*3; // zet cookies setcookie("_user_cookie_id_", $_SESSION['user_id'], $tim); setcookie("_user_cookie_user_", $_SESSION['username'], $tim); setcookie("_user_cookie_status_", $_SESSION['userstatus'], $tim); setcookie("_user_cookie_md5_", $_SESSION['userhash'], $tim); } |
hmmmz ok, maar dan wil ik wel eerst dat aantal dagen weten..quote:Op woensdag 28 juni 2006 14:07 schreef JeRa het volgende:
[..]
Hint: met strtotime() kun je leuke dingen doen zoals '+3 days'
Met mktime() kun je twee unix timestamps maken. Hoe je dit doet staat gewoon in de PHP manualquote:Op woensdag 28 juni 2006 14:19 schreef markiemark het volgende:
[..]
hmmmz ok, maar dan wil ik wel eerst dat aantal dagen weten..
Ook met addslashes werkt t niet. We hebben ook al een en ander geprobeerd met str_replace();, maar ook daarmee komen we geen steek verder. Hij blijft dezelfde warning geven en de data niet aanpassen in de database.quote:Op woensdag 28 juni 2006 11:04 schreef Tijn het volgende:
Volgens mij zijn daar de functies addslashes() en stripslashes() voor bedacht.
Als je de ingevoerde data van je form eerst door een addslashes() haalt voordat je het verder processed en uiteindelijk bij het presenteren van die data 'em weer door stripslashes haalt, zou het goed moeten komen met de quotes.
line 146 ziet er als volgt uitquote:Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][ODBC SQL Server Driver][SQL Server]Line 4: Incorrect syntax near '\'., SQL state 37000 in SQLExecDirect in D:\Webapps\LocalUser\ibkprofiel\leraar_bewerken.php on line 146
1 2 3 | odbc_exec($sqlconnect, $querie1); ?> |
Dat stripslashes() is helemaal niet nodig, je doet een addslashes() zodat de DBMS niet in de war raakt met de scheidingsquotes van de string en quotes in de string zelf.quote:Op woensdag 28 juni 2006 11:04 schreef Tijn het volgende:
Volgens mij zijn daar de functies addslashes() en stripslashes() voor bedacht.
Als je de ingevoerde data van je form eerst door een addslashes() haalt voordat je het verder processed en uiteindelijk bij het presenteren van die data 'em weer door stripslashes haalt, zou het goed moeten komen met de quotes.
Ok, ik ga het anders doen... Vorige probleem is te lastig. De oplossing is voor mij makkelijker... Hoop ik.quote:Op woensdag 28 juni 2006 14:21 schreef JeRa het volgende:
[..]
Met mktime() kun je twee unix timestamps maken. Hoe je dit doet staat gewoon in de PHP manualvervolgens kun je bepalen hoeveel dagen daar tussen zitten door het verschil tussen de timestamps te delen door het aantal seconden per dag.
Twee dingen:quote:Op woensdag 28 juni 2006 14:32 schreef WurM het volgende:
[..]
Ook met addslashes werkt t niet. We hebben ook al een en ander geprobeerd met str_replace();, maar ook daarmee komen we geen steek verder. Hij blijft dezelfde warning geven en de data niet aanpassen in de database.
Omdat mijn stagegenoot er voornamelijk mee bezig is geweest, wist ik niet precies welke warning gegeven werd, maar ik vermoed nu dat er een probleem is met de server-instellingen. De warning:
[..]
line 146 ziet er als volgt uit
[ code verwijderd ]
Heb ik gelijk wat server-instellingen betreft of denken jullie dat er iets anders aan de hand is, wat wel op te lossen is? (We hebben geen toegang tot de server instellingen)
PHP kan dit voor zover ik weet niet door standaardfuncties laten oplossen. Je zult weeknummers aan maanden moeten koppelen en aan de hand van de dag (1-31) bepalen tot welke maand de gezochte datum behoort.quote:Op woensdag 28 juni 2006 14:41 schreef markiemark het volgende:
[..]
Ok, ik ga het anders doen... Vorige probleem is te lastig. De oplossing is voor mij makkelijker... Hoop ik.
Ik heb:
- het weeknummer
- de datum (dag)
- het jaartal
ik wil:
- de maand
hoe doe ik dit?
Typoquote:Op woensdag 28 juni 2006 14:42 schreef JeRa het volgende:
[..]
Twee dingen:
1) Je gebruikt querie1 ipv query1
UPDATE leraar SET opleidingnaam = 'V&M', voornaam = 'test\'', tussenvoegsels = '', achternaam = '';quote:2) Doe eens een echo $querie1 om te zien hoe die query eruit ziet?
hmz zo'n php held ben ik ook niet... kun je een aanzetje geven?quote:Op woensdag 28 juni 2006 14:44 schreef JeRa het volgende:
[..]
PHP kan dit voor zover ik weet niet door standaardfuncties laten oplossen. Je zult weeknummers aan maanden moeten koppelen en aan de hand van de dag (1-31) bepalen tot welke maand de gezochte datum behoort.
Was het niet zo dat je in MSSQL single quotes escapet door ze dubbel neer te zetten? Dus:quote:Op woensdag 28 juni 2006 14:49 schreef WurM het volgende:
[..]
Typo![]()
[..]
UPDATE leraar SET opleidingnaam = 'V&M', voornaam = 'test\'', tussenvoegsels = '', achternaam = '';
Dus ziet er wel goed uit
1 |
Weet je zeker dat je niet meer informatie hebt dan wat je net zei? Het is namelijk absoluut geen mooie oplossing.quote:Op woensdag 28 juni 2006 14:49 schreef markiemark het volgende:
[..]
hmz zo'n php held ben ik ook niet... kun je een aanzetje geven?
bereken welke datum de maandag van week 1 is (week 1 is de week die 4 dagen van het nieuwe jaar in zich heeft. Dus is 1 jan op een woensdag, dan start week 1 op de maandag ervoor: 30 dec).quote:Op woensdag 28 juni 2006 14:41 schreef markiemark het volgende:
[..]
Ok, ik ga het anders doen... Vorige probleem is te lastig. De oplossing is voor mij makkelijker... Hoop ik.
Ik heb:
- het weeknummer
- de datum (dag)
- het jaartal
ik wil:
- de maand
hoe doe ik dit?
Fixedquote:Op woensdag 28 juni 2006 14:51 schreef JeRa het volgende:
[..]
Was het niet zo dat je in MSSQL single quotes escapet door ze dubbel neer te zetten? Dus:
[ code verwijderd ]
Backslash als escape gaat niet werken dacht ik
Maar een geslashte variabele moet je toch weer strippen voordat je 'em weergeeft? Anders heb je slashes in je string, toch?quote:Op woensdag 28 juni 2006 14:41 schreef JeRa het volgende:
[..]
Dat stripslashes() is helemaal niet nodig, je doet een addslashes() zodat de DBMS niet in de war raakt met de scheidingsquotes van de string en quotes in de string zelf.
True, maar waarom zou je 'm dan addslashen?quote:Op woensdag 28 juni 2006 16:21 schreef Tijn het volgende:
[..]
Maar een geslashte variabele moet je toch weer strippen voordat je 'em weergeeft? Anders heb je slashes in je string, toch?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | if (get_magic_quotes_gpc()) { //... //Hiervoor kun je stripslashes_deep gebruiken } //Ophalen van variabelen via GPC-variabelen (en nooit via //de global scope als register_globals op On staat) $var1 = $_POST['var1']; $var2 = intval($_GET['var2']); //Uiteraard gebruik je beter beschrijvende namen //Het controleren van de user input if ($var2 <= 0) { //error } //Het gebruiken van de variabelen in queries $query = 'UPDATE tabel SET tekst = \'' . mysql_real_escape_string($var1) . '\''; //Het weergeven van de variabelen op een pagina echo html_entities($var1); echo $var2; |
Of je nou addslash of mysql_real_escape_string gebruikt maakt toch niet zoveel uit, of wel?quote:Op woensdag 28 juni 2006 16:31 schreef JeRa het volgende:
[..]
True, maar waarom zou je 'm dan addslashen?
mysql_real_escape_string houdt rekening met de character set van de verbinding en die van multibyte strings en zet geloof ik newlines om naar de geëscapete versie. addslashes() vervangt domweg een enkele quote naar backslash-quote.quote:Op woensdag 28 juni 2006 16:52 schreef Tijn het volgende:
[..]
Of je nou addslash of mysql_real_escape_string gebruikt maakt toch niet zoveel uit, of wel?
Nee, want het is dus alleen voer voor de DBMS die 'm vervolgens zonder slashes in de database opslaatquote:Op woensdag 28 juni 2006 17:00 schreef Tijn het volgende:
En als je 'em zo in de query zet, hoef je 'em niet te stripslashen op het moment dat je 'em uitleest?
1 |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |