abonnement Unibet Coolblue Bitvavo
  zaterdag 7 april 2012 @ 11:47:02 #201
370539 kucher
is snucher
pi_110017856
Bewaar alleen het relatieve pad in je db, bedank me later.
  zaterdag 7 april 2012 @ 11:50:57 #202
267547 smegmanus
FOK! ambassadeur
pi_110017951
We gaan eens testen, bedankt voor zover.
Op donderdag 15 januari 2015 19:01 schreef Maanvis het volgende:
smegmanus is de as van het kwaad. een verbrand stukje Hitler.
pi_110030671
Heren,

Ik hoop dat jullie me weer eens kunnen helpen.
Ik ben iets aan het bouwen dat de usertabellen van vbullentin 4 gebruikt.
Hierin staat de usertimezone welke het verschil van hun tijd zone met GMT. bijvoorbeeld voor mijzelf +1

In mijn script wil ik data gaan opslaan en voor iedereen in de goede tijd weergeven.
Dat leek mij vrij simpel.
De user geeft een datum en tijd in, hier maak ik een tijdstamp van dmv mktime.
Daar haal ik het verschil aan uren vergeleken met gmt af om de gmt tijd te krijgen.
Deze sla ik op en als ik deze uit de database haal reken ik deze weer om naar de tijdzone van de user.

de server staat op -5 van gmt, dit verreken ik als ik time() aanroep.
Ik heb ook geprobeerd om de default tijd zonde van de server op gmt te zetten.

Ik krijg het alleen niet voor elkaar om de datums goed te krijgen, misschien dat ik er gister te lang naar heb zitten staren...

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
<?php
date_default_timezone_set('GMT');
function serverToGMTStamp() { // replaces time
    return  time();//-((date("O") / 100)*60*60);// server timestamp to gmt timestmap
}

function userInputToGMTStamp($userStamp,$userTimeZone) { // to be saved to database
    return  $userStamp-($userTimeZone*60*60);// user timestamp to gmt timestmap
}

function gmtToUserTime($gmtStamp,$userTimeZone,$format="d-m-Y H:i") { // displayed date /time in user timezone
    return date($format,$gmtStamp+($userTimeZone*60*60));
}
function inputTimetoStamp($input){
    if($input){    
        list($date, $time) = explode(' ',$input);
        list($hour, $minute) = explode(':',$time);
        list($month, $day, $year) = explode('/',$date);
        $input = mktime ($hour, $minute, 0, $day, $month, $year);
        return $input;
    }
}

$databaseDate = '04/06/2012 20:00'; //date in database already
$userTimeZone = 1; //compared to gmt
$databaseDateTimestamp = 1333742400; // gmt stamp from database
$databaseDateTimestampToUser = $databaseDateTimestamp+($userTimeZone*60*60); // to user timezonestamp 

$serverToGMTStamp = serverToGMTStamp();
$serverToUserGMTtoUser = $serverToGMTStamp+($userTimeZone*60*60); // to user timezonestamp 
echo 'databaseDateTimestamp (gmt): '.$databaseDateTimestamp.'<br />';
echo 'databaseDateTimestamp date (gmt): '.date("m/d/Y, H:i",$databaseDateTimestamp).'<br /><br />';

echo 'databaseDateTimestamp (user): '.$databaseDateTimestampToUser.'<br />';
echo 'databaseDateTimestamp date (user): '.date("m/d/Y, H:i",$databaseDateTimestampToUser).'<br /><br />';

echo 'serverTimeStamp (gmt): '.$serverToGMTStamp.'<br />';
echo 'serverTimeStamp date (gmt): '.date("m/d/Y, H:i",$serverToGMTStamp).'<br /><br />';

//echo 'serverTimeStamp (user): '.$serverToUserGMTtoUser.'<br />';
//echo 'serverTimeStamp date (user): '.date("m/d/Y, H:i",$serverToUserGMTtoUser).'<br /><br />';

if($serverToUserGMTtoUser>$databaseDateTimestampToUser)
{
echo 'input time already past by '.(($serverToUserGMTtoUser-$databaseDateTimestampToUser)/(60*60));
}
else{
echo 'input time not past';
}
exit();
  zaterdag 7 april 2012 @ 18:43:00 #204
370539 kucher
is snucher
pi_110031308
1
2
3
4
5
<?php
function serverToGMTStamp() { // replaces time
    
return time();
}
?>
Daarom betalen ze mij 120 Euro per uur, clientèle krijgen waar voor hun geld :7
pi_110031614
zoals je daarachter ziet ben ik veel aan het kutten geweest.

Maar mijn 'concept' klopt toch?
pi_110038929
quote:
0s.gif Op zaterdag 7 april 2012 18:24 schreef Darkomen het volgende:
Heren,

Ik hoop dat jullie me weer eens kunnen helpen.
Ik ben iets aan het bouwen dat de usertabellen van vbullentin 4 gebruikt.
Hierin staat de usertimezone welke het verschil van hun tijd zone met GMT. bijvoorbeeld voor mijzelf +1

Voordat je denkt dat je iets fout doet terwijl het niet zo is; momenteel is het voor ons GMT +2 omdat het zomertijd is.
  FOK!-Schrikkelbaas woensdag 11 april 2012 @ 14:26:10 #208
1972 Swetsenegger
Egocentrische Narcist
pi_110181251
Zie ik iets over het hoofd :?

Ik heb een tekstfile waarin ik userid's opsla.

Die file lees ik in een array, en vervolgens controleer ik over de userID uit mijn sessie in die tekstfile staat. Zo niet, schrijf ik een variabele EN schrijf vervolgens de sessie ID naar de textfile.

1
2
3
4
5
6
7
8
9
10
11
12
<?php
    $wallPosts 
= array();
    
$wallPosts=file('wallPost.txt'FILE_IGNORE_NEW_LINES);
        
    if(!
in_array($_SESSION['uid'], $wallPost)) {
        
$onload "onload=\"postToWall();\"";
        
$fp fopen('wallPost.txt''a');
        
fwrite($fp$_SESSION['uid']."\r\n");
        
fclose($fp);
        echo 
$onload;
    }
?>

Maar nou het lullige. Ik weet 100% zeker dat mijn sessie ID niet in de tekstfile staat (sterker nog, de file is leeg), maar $onload wordt niet geschreven de eerste keer dat ik de file laadt de fwrite wordt wel uitgevoerd.

als ik vervolgens de tekstfile leeg maak en opnieuw laadt werkt het wel zoals verwacht. Delete ik echter alle history & sessies en probeer het weer van voor af aan gaat het weer mis.

Het lijkt wel of de file schrijven wordt uitgevoerd waardoor de voorwaarde van de if false is.

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
    $wallPosts 
= array();
    
$wallPosts=file('wallPost.txt'FILE_IGNORE_NEW_LINES);
    
print_r($wallPosts); // dit geeft een array terug met de sessieID die HIERONDER geschreven wordt
    
    
if(!in_array($_SESSION['uid'], $wallPost)) {
        
$onload "onload=\"postToWall();\""// wordt niet uitgevoerd
        
$fp fopen('wallPost.txt''a'); //wordt wel uitgevoerd
        
fwrite($fp$_SESSION['uid']."\r\n"); //wordt wel uitgevoerd
        
fclose($fp); // wordt wel uitgevoerd
        
echo $onload;
    }
?>
  woensdag 11 april 2012 @ 14:50:14 #209
75592 GlowMouse
l'état, c'est moi
pi_110182283
$_SESSION['uid'] zal wel leeg zijn, maar dat is standaard debugwerk. Regel 2 is overbodig.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  FOK!-Schrikkelbaas woensdag 11 april 2012 @ 14:59:53 #210
1972 Swetsenegger
Egocentrische Narcist
pi_110182767
quote:
0s.gif Op woensdag 11 april 2012 14:50 schreef GlowMouse het volgende:
$_SESSION['uid'] zal wel leeg zijn, maar dat is standaard debugwerk. Regel 2 is overbodig.
Nee hij is niet leeg, anders kan hij die ook niet schrijven naar de txt file op regel 8...
Ik weet dat regel 2 overbodig is, die heb ik maar toegevoegd om te zien of dat het probleem oplost
  woensdag 11 april 2012 @ 15:01:43 #211
75592 GlowMouse
l'état, c'est moi
pi_110182838
var_dump($_SESSION['uid'], $wallPost)
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  woensdag 11 april 2012 @ 15:04:41 #212
75592 GlowMouse
l'état, c'est moi
pi_110182943
of je browser cache
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  FOK!-Schrikkelbaas woensdag 11 april 2012 @ 15:14:17 #213
1972 Swetsenegger
Egocentrische Narcist
pi_110183367
quote:
14s.gif Op woensdag 11 april 2012 15:01 schreef GlowMouse het volgende:
var_dump($_SESSION['uid'], $wallPost)
string(15) "100003526677056" NULL

-edit-

Of je zet de goede variabele in je dumb

string(15) "100003526677056" array(0) { }
  FOK!-Schrikkelbaas woensdag 11 april 2012 @ 15:15:02 #214
1972 Swetsenegger
Egocentrische Narcist
pi_110183399
quote:
14s.gif Op woensdag 11 april 2012 15:04 schreef GlowMouse het volgende:
of je browser cache
Ik delete alle history en browser gegevens tussen elke test
  woensdag 11 april 2012 @ 15:26:11 #215
75592 GlowMouse
l'état, c'est moi
pi_110183936
wijzig echo $onload; in die($onload), dan kun je hem niet missen
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  FOK!-Schrikkelbaas woensdag 11 april 2012 @ 15:27:45 #216
1972 Swetsenegger
Egocentrische Narcist
pi_110184002
ik loop nu tegen een facebook restrictie aan, kan niet meer verder testen :')
  FOK!-Schrikkelbaas woensdag 11 april 2012 @ 15:45:28 #217
1972 Swetsenegger
Egocentrische Narcist
pi_110184888
quote:
14s.gif Op woensdag 11 april 2012 15:26 schreef GlowMouse het volgende:
wijzig echo $onload; in die($onload), dan kun je hem niet missen
Script loopt gewoon door. UID wordt in de txt file geschreven maar geen 'die'

1
2
3
4
5
6
7
8
9
10
11
<?php
    $wallPosts
=file('wallPost.txt'FILE_IGNORE_NEW_LINES);
        
    if(!
in_array($_SESSION['uid'], $wallPosts)) {
        
$onload "onload=\"postToWall();\"";
        
$fp fopen('wallPost.txt''a');
        
fwrite($fp$_SESSION['uid']."\r\n");
        
fclose($fp);
        die(
$onload);
    }
?>

Ik begrijp er geen flikker van :{
  woensdag 11 april 2012 @ 18:08:28 #218
137776 boem-dikkie
Jedi Mind Baby!
pi_110191599
Iemand een oplossing voor mijn kwestie, of een schop in de goede richting?

Ik heb meerdere rows met informatie in een tabel.

Eén van de kolommen in een rij heet tags.

In die kolommen zitten de tags als volgt: leuk, hoi, hai.

Nu wil ik de tags van alle rijen laten zien zonder dat ik duplicates heb.

Ik heb bijv. twee rijen:
ID | Tags
1 | Een, twee, drie
2 | Vier, vijf, twee, een.

Nou wil ik als output: Een, twee, drie, vier, vijf.

Ik krijg als ik gewoon de boel select en naar buiten gooi nu: Een, twee, drie, vier, vijf, twee, een.
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
  woensdag 11 april 2012 @ 18:29:49 #219
25889 Sitethief
Fulltime Flapdrol
pi_110192424
GROUP BY al geprobeerd?
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
pi_110193168
Waarom sla je meerdere tags in één veld op?
  woensdag 11 april 2012 @ 18:48:37 #221
137776 boem-dikkie
Jedi Mind Baby!
pi_110193175
Jep. Helaas.
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
  woensdag 11 april 2012 @ 19:39:02 #222
370539 kucher
is snucher
pi_110196006
Meerdere tags in 1 veld is idd de WTF, daardoor kun je niet SELECT DISTINCT gebruiken of GROUP BY. Met een genormaliseerde database kan dit wel, je hebt dan een aparte tabel met tags en een koppeltabel om de tags ergens aan toe te wijzen.

Met een stored procedure die alle tags in een tijdelijke tabel opslaat en vervolgens erop los joint kan het wel maar dat is beduidend meer werk, fout-gevoelig en lang niet zo snel in uitvoering. Iets beters dan dit schiet me niet zo gauw te binnen. Een recursieve query met een CTE zou nog een mogelijkheid kunnen zijn maar dat zou zomaar de WTF award van het jaar kunnen winnen.
  woensdag 11 april 2012 @ 19:42:06 #223
137776 boem-dikkie
Jedi Mind Baby!
pi_110196242
Hehe ja weet ik wel maar ik had geen zin om voor één of twee keer gebruik dat te doen.

Maar goed, misschien maar wel gewoon doen. :')
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
  zaterdag 14 april 2012 @ 21:52:59 #224
113667 Keiichi
Konnichiwa!
pi_110328750
Ik heb ruzie met unique keys in innodb icm character sets.

Voorheen was alles latin1 encoding. Daar kon ik unique keys hebben die ook onderscheiden werden op puntjes op een a bv. 'ä' en 'a' waren elk uniek

Met utf8-general of utf8-unicode, niet meer :( Het is een database met gebruikersgegevens waarbij een unique key op gebruikersnaam rust, dus het is vrij vervelend als ik deze moet verwijderen ;)

Hoe kan ik unique keys toch goed laten werken op deze manier?
  zaterdag 14 april 2012 @ 23:38:01 #225
113667 Keiichi
Konnichiwa!
pi_110333694
Ik ben nog verder met character encodings aan het kloten, ik heb nu het volgende.

De huidige pagina is ISO-8859-1. Ik ben er achter gekomen dat goede browsers automatisch UTF-8 of karakters buiten ISO omzet naar htmlentities. Hierdoor leek het altijd of UTF8 nooit een probleem geweest is. Probleem is dat ik de output uit de database overal door htmlentities ga afvangen, waardoor data onbruikbaar is (alle &'s worden vervangen door & waardoor eerder gemaakt htmlentities() letterlijk getoond worden. Daar kan niemand wat mee.

Is er een mogelijkheid om htmlentities die bestaan met rust laten en alle ander karakters die geen htmlentitiy vormen wel door htmlentities()
pi_110335943
quote:
10s.gif Op woensdag 11 april 2012 19:42 schreef boem-dikkie het volgende:
Hehe ja weet ik wel maar ik had geen zin om voor één of twee keer gebruik dat te doen.

Maar goed, misschien maar wel gewoon doen. :')
Je bent gewoon genaaid :P weggooien en opnieuw starten.

Of nieuw datamodel opzetten en even een script runnen om de tags uit te lezen en in het nieuwe datamodel te plaatsen.
  zondag 15 april 2012 @ 00:49:31 #227
25889 Sitethief
Fulltime Flapdrol
pi_110336709
quote:
0s.gif Op zaterdag 14 april 2012 23:38 schreef Keiichi het volgende:
Ik ben nog verder met character encodings aan het kloten, ik heb nu het volgende.

De huidige pagina is ISO-8859-1. Ik ben er achter gekomen dat goede browsers automatisch UTF-8 of karakters buiten ISO omzet naar htmlentities. Hierdoor leek het altijd of UTF8 nooit een probleem geweest is. Probleem is dat ik de output uit de database overal door htmlentities ga afvangen, waardoor data onbruikbaar is (alle &'s worden vervangen door & waardoor eerder gemaakt htmlentities() letterlijk getoond worden. Daar kan niemand wat mee.

Is er een mogelijkheid om htmlentities die bestaan met rust laten en alle ander karakters die geen htmlentitiy vormen wel door htmlentities()
http://php.net/manual/en/function.htmlentities.php zet double_encode op false.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  zondag 15 april 2012 @ 01:49:50 #228
113667 Keiichi
Konnichiwa!
pi_110338150
quote:
0s.gif Op zondag 15 april 2012 00:49 schreef Sitethief het volgende:

[..]

http://php.net/manual/en/function.htmlentities.php zet double_encode op false.
^O^ dat deed de truc.

Iets anders, welke karacters kunnen er in latin1 voorkomen? Ik heb een veld waar iemand gepresteerd heeft dit karakter in te zetten: http://www.fileformat.info/info/unicode/char/2018/index.htm

-edit-

Ik word vaak gebeten door karakter encoding nu ik alles naar UTF8 probeer te brengen. :(
pi_110339777
quote:
0s.gif Op zondag 15 april 2012 01:49 schreef Keiichi het volgende:

[..]

^O^ dat deed de truc.

Iets anders, welke karacters kunnen er in latin1 voorkomen? Ik heb een veld waar iemand gepresteerd heeft dit karakter in te zetten: http://www.fileformat.info/info/unicode/char/2018/index.htm

-edit-

Ik word vaak gebeten door karakter encoding nu ik alles naar UTF8 probeer te brengen. :(
Ik weet niet wat voor veld je bedoelt, maar als ik jou was en je wil weten wat je mag toepassen , dan zou ik alle velden bijlangs gaan en een lijst met Karakters samenstellen die er wel in mogen. :) Om dit soort karakters te voorkomen.
Redacted
  zondag 15 april 2012 @ 13:15:33 #230
113667 Keiichi
Konnichiwa!
pi_110346931
quote:
0s.gif Op zondag 15 april 2012 03:23 schreef cablegunmaster het volgende:

[..]

Ik weet niet wat voor veld je bedoelt, maar als ik jou was en je wil weten wat je mag toepassen , dan zou ik alle velden bijlangs gaan en een lijst met Karakters samenstellen die er wel in mogen. :) Om dit soort karakters te voorkomen.
Is die collation daar niet voor bedoeld om ongeldige karakters niet (of anders) op te slaan? Nu lijkt het alsof dat ene specifieke UTF8 geldige karakter gewoon in latin1 voor kan komen.
pi_110360773
Knip,
Redacted
  zondag 15 april 2012 @ 19:08:20 #232
260431 drumminggod
Ik zeg: Doen!
pi_110360802
Hoi.

Ik heb een gastenboek gemaakt. Alleen nu heb ik een probleempje. Ik heb 3 velden.

• Naam
• Bericht
• captcha code

Nu heb ik alles ingevoerd en moet hij naar mijn mysql gaan. Ik heb even een paar scripts bekeken maar wordt er niet wijzer van.
Moet dit met: action="....">
?

Bvd

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
<form id="contact-form" name="contact-form" method="post" action="submit.php">
      <table width="100%" border="0" cellspacing="0" cellpadding="5">
        <tr>
          <td width="15%"><label for="name">Naam</label></td>
          <td width="70%"><input type="text" class="validate[required,custom[onlyLetter]]" name="door" id="door" value="<?php=$_SESSION['post']['name']?>" /></td>
          <td width="15%" id="errOffset">&nbsp;</td>
        </tr>
 
        <tr>
      
        </tr>
        <tr>
          <td valign="top"><label for="bericht">Bericht</label></td>
          <td><textarea name="bericht" id="bericht" class="validate[required]" cols="35" rows="5"><?php=$_SESSION['post']['message']?></textarea></td>
          <td valign="top">&nbsp;</td>
        </tr>
        <tr>
          <td><label for="captcha"><?php=$_SESSION['n1']?> + <?php=$_SESSION['n2']?> =</label></td>
          <td><input type="text" class="validate[required,custom[onlyNumber]]" name="captcha" id="captcha" /></td>
          <td valign="top">&nbsp;</td>
        </tr>
        <tr>
          <td valign="top">&nbsp;</td>
          <td colspan="2"><input type="submit" name="button" id="button" value="Submit" />
          <input type="reset" name="button2" id="button2" value="Reset" />

Hij moet dus de gegevens naar de database sturen. (laten zien snap ik wel :))
Mijn piek is kwijt
pi_110360844
quote:
0s.gif Op zondag 15 april 2012 19:03 schreef drumminggod het volgende:
Hoi.

Ik heb een gastenboek gemaakt. Alleen nu heb ik een probleempje. Ik heb 3 velden.

• Naam
• Bericht
• captcha code

Nu heb ik alles ingevoerd en moet hij naar mijn mysql gaan. Ik heb even een paar scripts bekeken maar wordt er niet wijzer van.
Moet dit met:
[ code verwijderd ]

?

Bvd :)
[ code verwijderd ]

Je hebt nu het html gedeelte zelf af. de ACTION leid naar een php file. Deze zal je moeten aanmaken. Is dit de eerste keer met php? In dit bestand maak je de verwerking richting de DB en waar je de pagina daarna naartoe leid.

Wat ik zelf doe is:
1. Connect met SQL server maken. (Xampp , dmv localhost of een online Database.)
2. Velden sanitizen en insert query opstellen.
3. bezoeker doorsturen naar een andere pagina.

Connect:
http://www.w3schools.com/php/php_mysql_connect.asp
Redacted
  zondag 15 april 2012 @ 19:13:19 #234
260431 drumminggod
Ik zeg: Doen!
pi_110360958
quote:
0s.gif Op zondag 15 april 2012 19:09 schreef cablegunmaster het volgende:

[..]

Je hebt nu het html gedeelte zelf af. de ACTION leid naar een php file. Deze zal je moeten aanmaken. Is dit de eerste keer met php? Waarin je de verwerking maakt met de Database. Je hebt nu een SQL insert query nodig , een verbinding met je SQL database.

Connect:
http://www.w3schools.com/php/php_mysql_connect.asp
Ik heb wel aardig ervaring met php. Maar dit wist ik niet!. Ik moet dus een .php maken. Daar naartoe linken en in de .php het gaan plaatsen in mijn database? (ik zal even op w3schools kijken van je linkje!)

Dit is mijn totale code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<form id="contact-form" name="contact-form" method="post" action="submit.php">
      <table width="100%" border="0" cellspacing="0" cellpadding="5">
        <tr>
          <td width="15%"><label for="name">Naam</label></td>
          <td width="70%"><input type="text" class="validate[required,custom[onlyLetter]]" name="door" id="door" value="<?php=$_SESSION['post']['name']?>" /></td>
          <td width="15%" id="errOffset">&nbsp;</td>
        </tr>
 
        <tr>
      
        </tr>
        <tr>
          <td valign="top"><label for="bericht">Bericht</label></td>
          <td><textarea name="bericht" id="bericht" class="validate[required]" cols="35" rows="5"><?php=$_SESSION['post']['message']?></textarea></td>
          <td valign="top">&nbsp;</td>
        </tr>
        <tr>
          <td><label for="captcha"><?php=$_SESSION['n1']?> + <?php=$_SESSION['n2']?> =</label></td>
          <td><input type="text" class="validate[required,custom[onlyNumber]]" name="captcha" id="captcha" /></td>
          <td valign="top">&nbsp;</td>
        </tr>
        <tr>
          <td valign="top">&nbsp;</td>
          <td colspan="2"><input type="submit" name="button" id="button" value="Submit" />
          <input type="reset" name="button2" id="button2" value="Reset" />
          
          <?php=$str?>          <img id="loading" src="img/ajax-load.gif" width="16" height="16" alt="loading" /></td>
        </tr>
      </table>
      </form>
      <?php=$success?>
    </div>
    <div class="tutorial-info">.    </div>

</div>

</body>
</html>

<?php 

mysql_connect
("xxx",xxx,xxx);     // zelf in te vullen

mysql_select_db(gastenboek);     // zelf in te vullen 


if(isset($_POST['door']) and isset($_POST['bericht']) and $_POST['door']!='Typ hier uw naam' and $_POST['bericht']!='Typ hier uw bericht!' ) {

    
$bericht $_POST['bericht'];

    
$door $_POST['door'];

    
$datum =  date("d-m-Y H:i:s"time());

    

    
$bericht str_replace("\n""<br>"$bericht);

    

    
$query "INSERT INTO gastenboek(bericht, door , datum) VALUES ('".$bericht."', '".$door."', '".$datum."')"

      
$sql=mysql_query($query) or die (mysql_error());

}


$query "SELECT * FROM gastenboek ORDER BY id DESC"

$sql=mysql_query($query) or die (mysql_error());

 

while (
$obj=mysql_fetch_object($sql)) { 

    
$door $obj->door;

    
$datum $obj->datum;

    
$bericht $obj->bericht;

    
?>
Mijn piek is kwijt
pi_110361067
SQL injecties interesseert je geen hol?
pi_110361110
quote:
7s.gif Op zondag 15 april 2012 19:13 schreef drumminggod het volgende:

[..]

Ik heb wel aardig ervaring met php. Maar dit wist ik niet!. Ik moet dus een .php maken. Daar naartoe linken en in de .php het gaan plaatsen in mijn database? (ik zal even op w3schools kijken van je linkje!)

Dit is mijn totale code:
[ code verwijderd ]

Je kan het naar zichzelf laten verwijzen door de pagina naam het eigen te maken.
Daarnaast ,
1
2
3
4
5
6
7
8
9
<?php
if(isset($_POST)){
echo 
" Dank u voor uw bijdrage";
}else{
?>
// Formulier
<?php
}
?>
quote:
0s.gif Op zondag 15 april 2012 19:16 schreef Pakspul het volgende:
SQL injecties interesseert je geen hol?
Goed punt : ) en daarom ook altijd: http://php.net/manual/en/function.mysql-real-escape-string.php om je variabelen die je invoert.
Redacted
  zondag 15 april 2012 @ 19:20:59 #237
260431 drumminggod
Ik zeg: Doen!
pi_110361265
Nou. Dan ben ik vanaf nu een eerste klas dummie.. Want ik zit nu dus echt totaal vast. Ik dacht dat een gastenboekje met een captcha code een eitje was... Mijn beveiliging is dus zo lek als een mandje?
Mijn piek is kwijt
pi_110361336
quote:
7s.gif Op zondag 15 april 2012 19:20 schreef drumminggod het volgende:
Nou. Dan ben ik vanaf nu een eerste klas dummie.. Want ik zit nu dus echt totaal vast. Ik dacht data en gasennboekj wmet eeMicaptcha code een eitje was... Mijn beveiliging is dus zo lek als een mandje?
Enkele simpele code en ik kon je DB verwijderen / Tabel verwijderen. :P

1
2
3
4
5
<?php
function esc($string){
return 
mysql_real_escape_string($string);
}
?>
Dit vind ik zelf altijd makkelijker :).
Redacted
  zondag 15 april 2012 @ 19:26:21 #239
260431 drumminggod
Ik zeg: Doen!
pi_110361484
quote:
0s.gif Op zondag 15 april 2012 19:22 schreef cablegunmaster het volgende:

[..]

Enkele simpele code en ik kon je DB verwijderen / Tabel verwijderen. :P
Oei. Dat klinkt niet goed :P. Maar ik zit dus nu echt compleet vast.. Het formulier is verder wel goed en zo?
Mijn piek is kwijt
pi_110361620
quote:
7s.gif Op zondag 15 april 2012 19:26 schreef drumminggod het volgende:

[..]

Oei. Dat klinkt niet goed :P. Maar ik zit dus nu echt compleet vast.. Het formulier is verder wel goed en zo?
Om eerlijk gezegd te zijn ziet je code eruit als copy en paste van een online projectje. :P

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
<form id="contact-form" name="contact-form" method="post" action="submit.php">
      <table width="100%" border="0" cellspacing="0" cellpadding="5">
        <tr>
          <td width="15%"><label for="name">Naam</label></td>
          <td width="70%"><input type="text" class="validate[required,custom[onlyLetter]]" name="door" id="door" value="<?php=$_SESSION['post']['name']?>" /></td>
          <td width="15%" id="errOffset">&nbsp;</td>
        </tr>
 
        <tr>
      
        </tr>
        <tr>
          <td valign="top"><label for="bericht">Bericht</label></td>
          <td><textarea name="bericht" id="bericht" class="validate[required]" cols="35" rows="5"><?php=$_SESSION['post']['message']?></textarea></td>
          <td valign="top">&nbsp;</td>
        </tr>
        <tr>
          <td><label for="captcha"><?php=$_SESSION['n1']?> + <?php=$_SESSION['n2']?> =</label></td>
          <td><input type="text" class="validate[required,custom[onlyNumber]]" name="captcha" id="captcha" /></td>
          <td valign="top">&nbsp;</td>
        </tr>
        <tr>
          <td valign="top">&nbsp;</td>
          <td colspan="2"><input type="submit" name="button" id="button" value="Submit" />
          <input type="reset" name="button2" id="button2" value="Reset" />
          
          <?php=$str?>          <img id="loading" src="img/ajax-load.gif" width="16" height="16" alt="loading" /></td>
        </tr>
      </table>
      </form>
      <?php=$success?>
    </div>
    <div class="tutorial-info">.    </div>

</div>

</body>
</html>

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
// Submit.php
<?php 
mysql_connect
("xxx",xxx,xxx);     // zelf in te vullen
mysql_select_db(gastenboek);     // zelf in te vullen 

if(isset($_POST['door']) && isset($_POST['bericht']) && $_POST['door'] !='Typ hier uw naam' && $_POST['bericht']!='Typ hier uw bericht!' ) {

    
$bericht $_POST['bericht'];
    
$door $_POST['door'];
    
$datum =  date("d-m-Y H:i:s"time());
    
$bericht str_replace("\n""<br>"$bericht);

    
$query "INSERT INTO gastenboek
   (bericht, door , datum) VALUES ('"
.esc($bericht)."', '".esc($door)."', '".esc($datum)."')"

    
$sql=mysql_query($query) or die (mysql_error());

}

$query "SELECT * FROM gastenboek ORDER BY id DESC"
$sql=mysql_query($query) or die (mysql_error());

while (
$obj=mysql_fetch_object($sql)) { 

    
$door $obj->door;
    
$datum $obj->datum;
    
$bericht $obj->bericht;
   }

function 
esc($string){
return 
mysql_real_escape_string($string);
}
?>
Redacted
  zondag 15 april 2012 @ 19:33:46 #241
260431 drumminggod
Ik zeg: Doen!
pi_110361797
quote:
0s.gif Op zondag 15 april 2012 19:29 schreef cablegunmaster het volgende:

[..]

Om eerlijk gezegd te zijn ziet je code eruit als copy en paste van een online projectje. :P
[ code verwijderd ]

[ code verwijderd ]

Ik heb de basis van internet. Dat klopt :)
Mijn piek is kwijt
pi_110361823
quote:
7s.gif Op zondag 15 april 2012 19:33 schreef drumminggod het volgende:

[..]

Ik heb de basis van internet. Dat klopt :)
Dat maakt je niet meteen een PHP expert ;). meestal pak ik voor de datum eerder now() dan dat ik date pak. makkelijker om meteen in de DB te stoppen. :P

1
2
3
4
5
6
7
8
<?php
while ($obj=mysql_fetch_object($sql)) { 

    
$door $obj->door;
    
$datum $obj->datum;
    
$bericht $obj->bericht;
   }
?>
Dit gedeelte snap ik niet met wat je daarmee wilt doen. :P
Redacted
  zondag 15 april 2012 @ 19:36:40 #243
260431 drumminggod
Ik zeg: Doen!
pi_110361908
quote:
0s.gif Op zondag 15 april 2012 19:34 schreef cablegunmaster het volgende:

[..]

Dat maakt je niet meteen een PHP expert ;). meestal pak ik voor de datum eerder now() dan dat ik date pak. makkelijker om meteen in de DB te stoppen. :P
Het is verstandig om hem helemaal opnieuw te maken?

In dat geval weet ik niet hoe ik moet beginnen :$. Haha. Ik kom er alweer achter dat ik er bar weinig van snap!
Mijn piek is kwijt
pi_110361923
Waarom trouwens
1
2
3
<?php
if(isset($_POST['door']) && isset($_POST['bericht']) && $_POST['door'] !='Typ hier uw naam' && $_POST['bericht']!='Typ hier uw bericht!' ) {
?>

En niet gewoon:
1
2
3
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST')
?>
pi_110362002
quote:
0s.gif Op zondag 15 april 2012 19:36 schreef Pakspul het volgende:
Waarom trouwens
[ code verwijderd ]

En niet gewoon:
[ code verwijderd ]

Antwoord staat er al tussen om post met standaard bericht te voorkomen.
De Isset is overbodig inderdaad. :P kan beter !empty zijn :).
Redacted
  zondag 15 april 2012 @ 19:39:18 #246
260431 drumminggod
Ik zeg: Doen!
pi_110362035
Oke.. Ik begin helemaal overnieuw. Volgens mij is deze code echt bagger. Haha.

Ik snap de waarom vragen namelijk niet :o
Mijn piek is kwijt
pi_110362076
quote:
7s.gif Op zondag 15 april 2012 19:39 schreef drumminggod het volgende:
Oke.. Ik begin helemaal overnieuw. Volgens mij is deze code echt bagger. Haha.

Ik snap de waarom vragen namelijk niet :o
Zoek de php for dummies boek op , download XAMPP en ga daar mee bezig met experimenteren. :*

Xampp is je localhost server. waarmee je op je eigen pc een website in php kan vertalen naar een normale webpagina. (webside scripting). Rest staat wel in het dummy boekje ;).
Of gebruik deze site om je wat te verdiepen, http://www.w3schools.com/php/php_intro.asp
Redacted
  zondag 15 april 2012 @ 19:42:05 #248
260431 drumminggod
Ik zeg: Doen!
pi_110362177
quote:
0s.gif Op zondag 15 april 2012 19:40 schreef cablegunmaster het volgende:

[..]

Zoek de php for dummies boek op , download XAMPP en ga daar mee bezig met experimenteren. :*

Xampp is je localhost server. waarmee je op je eigen pc een website in php kan vertalen naar een normale webpagina. (webside scripting). Rest staat wel in het dummy boekje ;).
Ik heb MAMP. Dat is ook een localhost server :).

Ik zal experimenteren. Bedankt voor de moeite!
Mijn piek is kwijt
  zondag 15 april 2012 @ 19:59:02 #249
25889 Sitethief
Fulltime Flapdrol
pi_110363044
quote:
7s.gif Op zondag 15 april 2012 19:13 schreef drumminggod het volgende:

Ik heb wel aardig ervaring met php.

Ik ben zelf ook geen PHP-god, maar dit zinnetje in combinatie met jouw posts in dit topic deed me glimlachen _O- .
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  zondag 15 april 2012 @ 20:01:51 #250
260431 drumminggod
Ik zeg: Doen!
pi_110363187
quote:
0s.gif Op zondag 15 april 2012 19:59 schreef Sitethief het volgende:

[..]

Ik ben zelf ook geen PHP-god, maar dit zinnetje in combinatie met jouw posts in dit topic deed me glimlachen _O- .
Ik werk er veel mee (school), maar blijkbaar snap ik er gewoon geen drol van. Altijd fijn als je denkt dat je het kan!
Mijn piek is kwijt
pi_110363466
quote:
0s.gif Op zondag 15 april 2012 19:38 schreef cablegunmaster het volgende:

[..]

Antwoord staat er al tussen om post met standaard bericht te voorkomen.
De Isset is overbodig inderdaad. :P kan beter !empty zijn :).
isset is wel mooier, anders krijg je een warning bij error_reporting(E_ALL);
  zondag 15 april 2012 @ 20:15:45 #252
260431 drumminggod
Ik zeg: Doen!
pi_110364232
Oke. Ik heb nu iets. Alleen als ik nu mijn naam NIET heb ingevuld. Of een bericht niet. Dan moet er eigenlijk een foutmelding komen... Alleen nu plaatst hij gewoon lege vakken in mijn db.. Zal wel iets kleins zijn maar voor mij onvindbaar op ww3schools
Mijn piek is kwijt
pi_110364817
quote:
7s.gif Op zondag 15 april 2012 20:15 schreef drumminggod het volgende:
Oke. Ik heb nu iets. Alleen als ik nu mijn naam NIET heb ingevuld. Of een bericht niet. Dan moet er eigenlijk een foutmelding komen... Alleen nu plaatst hij gewoon lege vakken in mijn db.. Zal wel iets kleins zijn maar voor mij onvindbaar op ww3schools
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
If(!empty($_POST['VELDNAAM']))
{
  
$error "Er is geen BLABLABLABLA ingevuld";
}

//Om je query heen invullen.
if(!isset($error)){
  
// Insert Query uitvoeren. 
}

//bij je formulier.
if(!empty($error)){
 echo 
$error;
}
?>
Redacted
pi_110366361
quote:
0s.gif Op zondag 15 april 2012 20:24 schreef cablegunmaster het volgende:

[..]
[ code verwijderd ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$errorlog 
= array();

if ( empty(
$_POST['veldnaam']) === false )
{
    
$errorlog[] = "<li>error omschrijving</li>";
}

if ( 
count($errorlog) == )
{
    
// do database work
}
else
{
    echo 
"<ul>" join(""$errorlog) . "</ul>";
}
?>

Zo kun je meerdere velden checken :)
pi_110370578
Ik zou geen empty gebruiken. Dan werkt een spatie alleen ook :) Doe een betere check met strlen ;)
pi_110394352
Weet iemand nog een goede tool om php code mee te analyseren? Bv om ongebruikte variable/functies, foutieve opmaak etc mee te detecteren. Het liefst eentje met een webinterface (geen cli). :s)
..///
pi_110397139
Ik zou gewoon iets als NuSphere of PHPstorm gebruiken.
pi_110414490
quote:
0s.gif Op zondag 15 april 2012 21:44 schreef totalvamp het volgende:
Ik zou geen empty gebruiken. Dan werkt een spatie alleen ook :) Doe een betere check met strlen ;)
Een string met alleen een spatie is niet empty.
pi_110423579
quote:
0s.gif Op maandag 16 april 2012 21:17 schreef Light het volgende:

[..]

Een string met alleen een spatie is niet empty.
Nee dat is mijn punt. Je moet dus een adequate check doen op je POST. strlen() + trim() + weetikveel()
pi_110424305
quote:
0s.gif Op maandag 16 april 2012 23:53 schreef totalvamp het volgende:

[..]

Nee dat is mijn punt. Je moet dus een adequate check doen op je POST. strlen() + trim() + weetikveel()
Maar voordat je iets gaat doen met een post-variable, moet je wel controleren of de variable bestaat. Dat voorkomt notices, en ook die moet je niet willen.
pi_110424632
quote:
0s.gif Op dinsdag 17 april 2012 00:13 schreef Light het volgende:

[..]

Maar voordat je iets gaat doen met een post-variable, moet je wel controleren of de variable bestaat. Dat voorkomt notices, en ook die moet je niet willen.
Daarvoor gebruik je isset() niet empty. Zoals eerder aangegeven, maar alleen een isset is natuurlijk niet voldoende, net als empty dat niet is.
pi_110424865
quote:
0s.gif Op dinsdag 17 april 2012 00:23 schreef totalvamp het volgende:

[..]

Daarvoor gebruik je isset() niet empty. Zoals eerder aangegeven, maar alleen een isset is natuurlijk niet voldoende, net als empty dat niet is.
Yep. Volgens mij bedoelen we hetzelfde maar omschrijven we het anders.
pi_110427237
quote:
0s.gif Op dinsdag 17 april 2012 00:13 schreef Light het volgende:

[..]

Maar voordat je iets gaat doen met een post-variable, moet je wel controleren of de variable bestaat. Dat voorkomt notices, en ook die moet je niet willen.
Dit is inderdaad een belangrijk punt, tevens kun je controleren of je formulier wel goed over komt. Je kunt dus andere acties ondernemen als ze niet ge-set zijn. Dit kan betekenen dat er met het formulier is gerommeld.
  dinsdag 17 april 2012 @ 10:31:27 #264
260431 drumminggod
Ik zeg: Doen!
pi_110430194
quote:
0s.gif Op zondag 15 april 2012 20:47 schreef Pakspul het volgende:

[..]
[ code verwijderd ]

Zo kun je meerdere velden checken :)
Bedankt! Het werkt!

nog 1 resterend probleempje... Bij het herladen van mijn pagina verstuurd hij mijn berichtje net zo vaak als dat f5 wordt ingedrukt. Ik heb deze code:

1<input type="submit" value="Toevoegen" onClick=<a href="javascript:location.reload(true)" />
maar als ik op toevoegen heb geklikt en druk op f5 komt hij dus twee keer! (of meerdere malen)

Wat is er fout? Ik dacht aan buffer legen... alleen geen idee hoe dat netjes moet.

[ Bericht 19% gewijzigd door drumminggod op 17-04-2012 10:39:24 ]
Mijn piek is kwijt
pi_110432303
quote:
0s.gif Op maandag 16 april 2012 13:58 schreef wipes66 het volgende:
Weet iemand nog een goede tool om php code mee te analyseren? Bv om ongebruikte variable/functies, foutieve opmaak etc mee te detecteren. Het liefst eentje met een webinterface (geen cli). :s)
Wat is er mis mee? Dat je een tool nodig bent? :P
Redacted
pi_110432464
quote:
7s.gif Op dinsdag 17 april 2012 10:31 schreef drumminggod het volgende:

[..]

Bedankt! Het werkt!

nog 1 resterend probleempje... Bij het herladen van mijn pagina verstuurd hij mijn berichtje net zo vaak als dat f5 wordt ingedrukt. Ik heb deze code:
[ code verwijderd ]

maar als ik op toevoegen heb geklikt en druk op f5 komt hij dus twee keer! (of meerdere malen)

Wat is er fout? Ik dacht aan buffer legen... alleen geen idee hoe dat netjes moet.
Na het schrijven naar de database de gebruiker doorsturen naar de goede pagina header("Location xxx"); ?
pi_110432502
quote:
7s.gif Op dinsdag 17 april 2012 10:31 schreef drumminggod het volgende:

[..]

Bedankt! Het werkt!

nog 1 resterend probleempje... Bij het herladen van mijn pagina verstuurd hij mijn berichtje net zo vaak als dat f5 wordt ingedrukt. Ik heb deze code:
[ code verwijderd ]
maar als ik op toevoegen heb geklikt en druk op f5 komt hij dus twee keer! (of meerdere malen)
Wat is er fout? Ik dacht aan buffer legen... alleen geen idee hoe dat netjes moet.
1. Simpelste oplossing is een redirect :). Dan stuurt hij door naar de volgende pagina en dan mogen ze zo veel F5 drukken als ze willen maar dan herhaalt hij niet.

2. een Check inbouwen dat als de text precies zo al voorkomt dat hij niet meer een Insert uitvoert maar doorgaat met redirecten.
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
function esc($string){
return 
mysql_real_escape_string($string);
}

//Dit eronder ff opzoeken hoe je het aanpakt maar het generale idee is er wel :).
$test $db->fetchAssoc($db->query("Select * from table where text = ".esc($_POST['text']).""));
if(empty(
$test[0]['text']))
{
 
// execute insert query.
}
redirect("pagina.php");
?>

quote:
0s.gif Op dinsdag 17 april 2012 11:39 schreef Pakspul het volgende:

[..]

Na het schrijven naar de database de gebruiker doorsturen naar de goede pagina header("Location xxx"); ?
Headers mogen geen output daarvoor hebben dus een reeks html + vervolgens de header kan tot fouten leiden.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
//==== Redirect... Try PHP header redirect, then Java redirect, then try http redirect.:
function redirect($url){
    if (!
headers_sent()){    //If headers not sent yet... then do php redirect
        
header('Location: '.$url); exit;
    }else{                    
//If headers are sent... do java redirect... if java disabled, do html redirect.
        
echo '<script type="text/javascript">';
        echo 
'window.location.href="'.$url.'";';
        echo 
'</script>';
        echo 
'<noscript>';
        echo 
'<meta http-equiv="refresh" content="0;url='.$url.'" />';
        echo 
'</noscript>'; exit;
    }
}
//==== End -- Redirect
Prefereer daarom liever Redirect :P

[ Bericht 11% gewijzigd door cablegunmaster op 17-04-2012 11:46:47 ]
Redacted
pi_110433689
quote:
0s.gif Op dinsdag 17 april 2012 11:40 schreef cablegunmaster het volgende:

[..]

1. Simpelste oplossing is een redirect :). Dan stuurt hij door naar de volgende pagina en dan mogen ze zo veel F5 drukken als ze willen maar dan herhaalt hij niet.

2. een Check inbouwen dat als de text precies zo al voorkomt dat hij niet meer een Insert uitvoert maar doorgaat met redirecten.
[ code verwijderd ]

[..]

Headers mogen geen output daarvoor hebben dus een reeks html + vervolgens de header kan tot fouten leiden.
[ code verwijderd ]

Prefereer daarom liever Redirect :P
Liever gewoon code waarbij er niks wordt getoond tot op het einde als alles verwerkt is ;) dan heb je die problemen ook niet :)
pi_110435321
quote:
0s.gif Op dinsdag 17 april 2012 12:09 schreef totalvamp het volgende:

[..]

Liever gewoon code waarbij er niks wordt getoond tot op het einde als alles verwerkt is ;) dan heb je die problemen ook niet :)
Dit, tussen door stukken al in elkaar zetten en op het laatste even layoutje er omheen rammen en er uit gooien. Dan kun je er zelf voor kiezen of er uberhaupt iets geprint moet worden en kun je veilig omgaan met header functies.
pi_110445199
Hallo even een simpel vraagje waar ik toch al een tijdje mee zit

Stel ik heb een categorie lijstje.
1 Appels
2 Peren
3 Bananen

En nu wil ik ze opschuiven naar boven en naar beneden, hoe switch ik ze van ID? :P
Ik zat te denken met tussen variabele. Stel ik wil Appels op 2 hebben.
Dan moet 1 naar 2 toe en 2 op 1, Hoe kan ik dit aanpassen zonder dat ik problemen krijg in de DB? Of moet ik dan denken aan een Tussen variabele ? :P

Na enig nadenken kom ik uit dat ik eerst moet kijken naar wat +1 met de ID doet daarvan het selecteer als er niks in zit kan ik het met een insert ernaar toe kopieren en anders als er wel iets inzit het pakken en met elkaar verwisselen. :P

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
//pseudo code. om +1 te krijgen.
function Switch_ID($id)
{
$sourceid $db->Assocfetch($db->query("select * from categorie where id = " '.esc($id) .' " limit 1 " ));
$id++;
$target $db->Assocfetch($db->query("select * from categorie where id = " '.esc($id) .' " limit 1" ));

if(!isset(
$target))
{
  return 
false;
}else{
 
$db->query("Update categorie set Variables  = $sourceid[0] where id = " '.$id.' " limit 1" );
$id--;
 
$db->query("Update categorie set Variables  = $target[0] where id = " '.esc($id).' " limit 1" );
}
}
?>

En nu nog nadenken hoe ik de subgroepen ga doen van deze klasses :s)
Bah , nu update hij ook de rest :') zit nog een fout in.

Kan ik een tussenupdate met 0 gebruiken? Of is dit niet aan te raden? :P

[ Bericht 9% gewijzigd door cablegunmaster op 17-04-2012 17:01:41 ]
Redacted
pi_110448406
Gebruik een order kolom. Haal eerst oude order nummer op en zet die in de nieuwe nummer kun je berekenen door de richting.
pi_110448620
quote:
0s.gif Op dinsdag 17 april 2012 17:51 schreef Pakspul het volgende:
Gebruik een order kolom. Haal eerst oude order nummer op en zet die in de nieuwe nummer kun je berekenen door de richting.
Is dat niet het probleem opschuiven? :{ Want dan zit je met een orderkolom met 1,2,3,4
en als je een groot aantal hebt. dan heb je dat probleem alsnog.

ff nadenken :P

Dan heb ik een ID_order kolom en daarop kan ik het continue laten veranderen.
Dus dan krijg ik een update die 1-2-3-4 met elkaar kan veranderen. Op basis van het ID van de rij :). Dus 1-2-3-4 en als er iets nieuws bijkomt pakt hij de vorige ID_order++; als leeg dan niks.

Moet te doen zijn , alleen wat insert querys aan passen :P

[ Bericht 12% gewijzigd door cablegunmaster op 17-04-2012 18:05:24 ]
Redacted
pi_110449222
quote:
0s.gif Op dinsdag 17 april 2012 17:57 schreef cablegunmaster het volgende:

[..]

Is dat niet het probleem opschuiven? :{ Want dan zit je met een orderkolom met 1,2,3,4
en als je een groot aantal hebt. dan heb je dat probleem alsnog.

ff nadenken :P
opschuiven maakt toch niet uit, dan sorteer je toch gewoon op die kolom en heb je het allemaal goed. Als je ID nummers gaat veranderen dan begrijp je het idee van een primary key niet helemaal.
pi_110510149
Ah leuk, PHP forum, kan af en toe wel helpen bij vragen denk ik zo.
pi_110513115
quote:
0s.gif Op dinsdag 17 april 2012 11:40 schreef cablegunmaster het volgende:

[..]

1. Simpelste oplossing is een redirect :). Dan stuurt hij door naar de volgende pagina en dan mogen ze zo veel F5 drukken als ze willen maar dan herhaalt hij niet.

2. een Check inbouwen dat als de text precies zo al voorkomt dat hij niet meer een Insert uitvoert maar doorgaat met redirecten.
[ code verwijderd ]

[..]

Headers mogen geen output daarvoor hebben dus een reeks html + vervolgens de header kan tot fouten leiden.
[ code verwijderd ]

Prefereer daarom liever Redirect :P
Daarom moet je pas output richting browser sturen nadat alle logica is geweest. Dan heb je daar geen last van.
En als je toch die redirect-functie gebruikt, zoek dan eerst het verschil tussen Java en JavaScript op.
  donderdag 19 april 2012 @ 11:51:56 #276
260431 drumminggod
Ik zeg: Doen!
pi_110525594
quote:
0s.gif Op dinsdag 17 april 2012 11:40 schreef cablegunmaster het volgende:

[..]

1. Simpelste oplossing is een redirect :). Dan stuurt hij door naar de volgende pagina en dan mogen ze zo veel F5 drukken als ze willen maar dan herhaalt hij niet.

2. een Check inbouwen dat als de text precies zo al voorkomt dat hij niet meer een Insert uitvoert maar doorgaat met redirecten.
[ code verwijderd ]

[..]

Headers mogen geen output daarvoor hebben dus een reeks html + vervolgens de header kan tot fouten leiden.
[ code verwijderd ]

Prefereer daarom liever Redirect :P
Bij de redirect code krijg ik dit:

Fatal error: Call to undefined function redirect() in D:\xxx\UsbWebserver\UsbWebserver\Root\xxx\gastenboek.php on line 147

De pagina heet gastenboek en de code om line 147 is:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
if (mysql_num_rows($sql) == 0) {
    
// Als er nog geen reacties geplaatst zijn
    
echo 'We hebben nog geen reacties!';
} else {
    while(
$data mysql_fetch_assoc($sql)) {
        
// Als er wel reacties zijn geplaatst worden deze nu weergegeven
        
echo '<b>Naam:</b> '.htmlspecialchars(stripslashes($data['door'])).'<br />
        <b>Datum:</b> '
.htmlspecialchars(stripslashes($data['datum'])).'<br />
        <b>Bericht:</b><br />'
.ubb($data['bericht']).'<br /><br />
        <b>_________________________________________________________________________________________________________________________________________</b>'
;
    }
}
{
}
redirect("gastenboek.php");
?>
Mijn piek is kwijt
  donderdag 19 april 2012 @ 11:55:23 #277
137776 boem-dikkie
Jedi Mind Baby!
pi_110525720
Je gebruikt een functie die niet gedefinieerd is. Heb je zelf een functie gemaakt die redirect heet? Je kunt mits je geen HTML voor je code hebt staan header('location: gastenboek.php'); gebruiken.
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
  donderdag 19 april 2012 @ 11:57:17 #278
260431 drumminggod
Ik zeg: Doen!
pi_110525778
quote:
14s.gif Op donderdag 19 april 2012 11:55 schreef boem-dikkie het volgende:
Je gebruikt een functie die niet gedefinieerd is. Heb je zelf een functie gemaakt die redirect heet? Je kunt mits je geen HTML voor je code hebt staan header('location: gastenboek.php'); gebruiken.
natuurlijk! In de header moet het ook staan!
Mijn piek is kwijt
  donderdag 19 april 2012 @ 11:59:34 #279
137776 boem-dikkie
Jedi Mind Baby!
pi_110525863
Ik snap je niet.
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
  donderdag 19 april 2012 @ 12:01:26 #280
260431 drumminggod
Ik zeg: Doen!
pi_110525920
quote:
7s.gif Op donderdag 19 april 2012 11:59 schreef boem-dikkie het volgende:
Ik snap je niet.
In de header moet je toch de funtie definieren?
Mijn piek is kwijt
  donderdag 19 april 2012 @ 12:06:05 #281
137776 boem-dikkie
Jedi Mind Baby!
pi_110526056
Die functie kun je overal definieren zolang je hem maar include of er naar verwijst in het document waar je de functie aanspreekt.
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
  donderdag 19 april 2012 @ 13:49:50 #282
25889 Sitethief
Fulltime Flapdrol
pi_110529788
quote:
7s.gif Op donderdag 19 april 2012 11:51 schreef drumminggod het volgende:

[..]

Bij de redirect code krijg ik dit:

Fatal error: Call to undefined function redirect() in D:\xxx\UsbWebserver\UsbWebserver\Root\xxx\gastenboek.php on line 147

De pagina heet gastenboek en de code om line 147 is:
[ code verwijderd ]

redirect() is niet een native functie van PHP, wat er bedoelt werd is http://php.net/manual/en/function.header.php
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  donderdag 19 april 2012 @ 13:58:34 #283
12221 Tijn
Powered by MS Paint
pi_110530191
quote:
0s.gif Op dinsdag 17 april 2012 11:40 schreef cablegunmaster het volgende:

[..]

1. Simpelste oplossing is een redirect :). Dan stuurt hij door naar de volgende pagina en dan mogen ze zo veel F5 drukken als ze willen maar dan herhaalt hij niet.

2. een Check inbouwen dat als de text precies zo al voorkomt dat hij niet meer een Insert uitvoert maar doorgaat met redirecten.
[ code verwijderd ]

[..]

Headers mogen geen output daarvoor hebben dus een reeks html + vervolgens de header kan tot fouten leiden.
[ code verwijderd ]

Prefereer daarom liever Redirect :P
Een noscript-tag in 2012? Really? Verwacht je veel bezoekers met Netscape 2? :D
pi_110532472
quote:
10s.gif Op donderdag 19 april 2012 13:58 schreef Tijn het volgende:

[..]

Een noscript-tag in 2012? Really? Verwacht je veel bezoekers met Netscape 2? :D
failsafe ;).
Redacted
pi_110545769
quote:
10s.gif Op donderdag 19 april 2012 13:58 schreef Tijn het volgende:

[..]

Een noscript-tag in 2012? Really? Verwacht je veel bezoekers met Netscape 2? :D
Gewoon lynx gebruiken :)
pi_110553993
quote:
10s.gif Op donderdag 19 april 2012 13:58 schreef Tijn het volgende:

[..]

Een noscript-tag in 2012? Really? Verwacht je veel bezoekers met Netscape 2? :D
Er bestaat ook nog zoiets als javascript uitschakelen of een javascript-blokker als plugin geinstalleerd hebben. Het is een kleine moeite om zo'n tag met een melding op te nemen, vooral voor webapplicaties die functioneel gezien vertrouwen op javascript.
pi_110555517
Iemand trouwens een kort duidelijk tutorial om van /single.php?id=1 te maken /titel-van-post
  vrijdag 20 april 2012 @ 11:48:58 #288
25889 Sitethief
Fulltime Flapdrol
pi_110555764
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
pi_110556152
alles staat in een mapje: /artikel/

ik heb een .htacccess bestand met dit:

1
2
3
4
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule   ^(.*) index.php?p=$1 [L]

en een index.php met dit:

1
2
3
4
5
6
7
$p = $_GET["p"];

...

$query = "SELECT type,naam,url,id FROM artikelen WHERE naam='$p'";

...etc

En dit werkt gewoon als ik dit doe: /artikel/appels

Maar eigenlijk wil ik die niet in een aparte map hebben, dat /artikel/ zou ook dynamisch moeten zijn.
pi_110556622
mapje hoger plaatsen en zoiets gebruiken?:

1
2
3
4
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule   ^(.*)/(.*) index.php?x=$1&p=$2 [L]
of je moet alles door sturen naar je index.php en het splitsen e.d. daar afhandelen.. (dat is imho een stuk flexibeler en dan zou je e.v.t. meer "onderdelen/mappen" kunnen toevoegen)
mentions en alerts staan uit, pm/dm mij
  vrijdag 20 april 2012 @ 14:52:08 #291
12221 Tijn
Powered by MS Paint
pi_110558037
quote:
0s.gif Op donderdag 19 april 2012 21:25 schreef Light het volgende:

[..]

Gewoon lynx gebruiken :)
w3m ondersteunt wel Javascript _O_
pi_110559892
quote:
0s.gif Op vrijdag 20 april 2012 12:05 schreef JDx het volgende:
alles staat in een mapje: /artikel/

ik heb een .htacccess bestand met dit:
[ code verwijderd ]

en een index.php met dit:
[ code verwijderd ]

En dit werkt gewoon als ik dit doe: /artikel/appels

Maar eigenlijk wil ik die niet in een aparte map hebben, dat /artikel/ zou ook dynamisch moeten zijn.
Dit is erg gevaarlijke code als je dit zo zou gebruiken.
pi_110560176
Multiviews is dan nog geen eens het probleem, daar heb je nog mooiere oplossingen dan hoe je het nu ophaalt in de php file, maar waar vampier op doelt is het sql-injectie stuk.
pi_110561041
quote:
0s.gif Op vrijdag 20 april 2012 16:10 schreef totalvamp het volgende:

[..]

Dit is erg gevaarlijke code als je dit zo zou gebruiken.
Wat is er gevaarlijk aan dan?
pi_110565667
quote:
0s.gif Op vrijdag 20 april 2012 16:43 schreef JDx het volgende:

[..]

Wat is er gevaarlijk aan dan?
Je escaped de variable $p niet die direct afkomstig is uit de GET array en dus door gebruikers van het script beïnvloedbaar is. Je script is in deze staat vatbaar voor SQL injecties.

Tip: http://php.net/manual/en/function.mysql-real-escape-string.php
pi_110590225
Je moet sowieso nooit gebruikers input vertrouwen. Je moet ze allemaal behandelen als hackers.
  zaterdag 21 april 2012 @ 13:31:29 #297
12221 Tijn
Powered by MS Paint
pi_110591223
quote:
0s.gif Op vrijdag 20 april 2012 16:43 schreef JDx het volgende:

[..]

Wat is er gevaarlijk aan dan?
Dat iedereen kan doen wat 'ie wil met je gehele database.

pi_110591267
Wat vaag, dit heb ik ook gewoon van een tutorial en gebruik ik al jaren op al mijn sites, moet ik dan een post gebruiken?
  zaterdag 21 april 2012 @ 13:35:30 #299
12221 Tijn
Powered by MS Paint
pi_110591340
quote:
0s.gif Op zaterdag 21 april 2012 13:32 schreef JDx het volgende:
Wat vaag, dit heb ik ook gewoon van een tutorial en gebruik ik al jaren op al mijn sites, moet ik dan een post gebruiken?
POST of GET maakt niks uit, het gaat erom dat je de input filtert voordat je het in je query stopt, omdat anders mensen zelf queries kunnen gaan invoeren en daarmee je database kunnen uitlezen en misschien zelfs veranderen.

Bijvoorbeeld zo:

1
2
3
4
5
<?php
'SELECT * FROM `table`
WHERE `string` = "'
.mysql_real_escape_string($_GET['foo']).'"
  AND `number` = '
.intval($_GET['bar']);
?>

Maar beter gebruik je gewoon een setje database functies waardoor je sowieso geen ruwe queries in je code hoeft te zetten.

Bizar trouwens dat je al jaren werkt aan meerdere sites en dit niet weet, want dit is echt reden #1 waardoor websites gehacked worden.

[ Bericht 3% gewijzigd door Tijn op 21-04-2012 13:42:02 ]
  zaterdag 21 april 2012 @ 13:47:24 #300
302853 themole
graaft totaal door.
pi_110591665
quote:
0s.gif Op zaterdag 21 april 2012 13:32 schreef JDx het volgende:
Wat vaag, dit heb ik ook gewoon van een tutorial en gebruik ik al jaren op al mijn sites, moet ik dan een post gebruiken?
Zou het als ik jou was snel oplossen, de onderste site in je signature is al vatbaar daarvoor.

Verander ?id=9 maar eens in ?id='; krijg je meteen een error.
Niet altijd serieus
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')