1 |
1 |
Je kan aanhalingstekens gewoon in PHP code gebruiken door ze te escapen met een backslash.quote:Op donderdag 25 maart 2010 15:48 schreef Joooo-pi het volgende:
Gaat redelijk met mijn zelfstudie php tot nu toe
Hier weer ff een vraag:
De volgende code geeft een fout:
[ code verwijderd ]
volgens mij door de aanhalingstekens binnen de aanhalingstekens...
Ik heb dit als volgt opgelost:
[ code verwijderd ]
Is het normaal om steeds een stukje code af te breken om html te schrijven en vervolgens weer te beginnen met code? Het loopt allemaal zo door elkaar heen op laatst. Sowieso, moet het onderscheid tussen de enkele en dubbele aanhalingstekens mij nog wat meer duidelijk worden.
Iemand tips?
1 |
1 |
1 2 3 | $oTVP->plaats(1431596); ?> |
1 |
Eenvoudiger is:quote:Op donderdag 25 maart 2010 15:58 schreef SinofEnvy het volgende:
[..]
Je kan aanhalingstekens gewoon in PHP code gebruiken door ze te escapen met een backslash.
[ code verwijderd ]
Geeft: Hoi, dit: " is een aanhalingsteken. Zo ook bij HTML.
[ code verwijderd ]
1 |
1 |
1 |
:X. Liever append je die gewoon met de string concatenate operator:quote:Op donderdag 25 maart 2010 16:07 schreef wijsneus het volgende:
[..]
Dubbele quotes alleen gebruiken als je daarwerkelijk variabelen wilt gebruiken binnen de string.
1 |
1 |
Dat is een stuk netter inderdaad.quote:Op donderdag 25 maart 2010 16:14 schreef Anthraxx het volgende:
[..]
. Liever append je die gewoon met de string concatenate operator:
[ code verwijderd ]
ipv
[ code verwijderd ]
Die eerste blijft sowieso werken. Die tweede is niet eens zeker of ze dat ooit gaan uitfaseren. Dubbele quotes gebruik je alleen als je control characters wilt gebruiken en die niet letterlijk in je string op wilt nemen.
Agreed.quote:Op donderdag 25 maart 2010 16:14 schreef Anthraxx het volgende:
[..]
Die eerste blijft sowieso werken. Die tweede is niet eens zeker of ze dat ooit gaan uitfaseren. Dubbele quotes gebruik je alleen als je control characters wilt gebruiken en die niet letterlijk in je string op wilt nemen.
quote:Op donderdag 25 maart 2010 16:07 schreef wijsneus het volgende:
Helaas kun je dan niet iets doen als:
[ code verwijderd ]
1 2 3 | $type= 'text'; echo '<input type="'.$type.'" />'; //goed! ?> |
Of je gebruikt gewoon php-templates:quote:Op donderdag 25 maart 2010 16:19 schreef cablegunmaster het volgende:
[..]
[ code verwijderd ]
Zo kan het ook
1 2 3 4 5 | $bla = doeIets(); define('TEMPLATE', 1); require('templates/home.php'); ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | if(!defined('TEMPLATE')) { header('HTTP/1.x 301 Moved Permanently'); header('Location: /'); exit(); } ?> <html> <head> <title>Bla!</title> </head> <body> <?php foreach($bla as $k => $v): ?> K: <?=$k?><br /> V: <?=$v?><br /> <?php endforeach; ?> </body> </html> |
1 2 3 4 5 6 7 | $topic = Topic::find(array('id' => 1431596)); if($topic) { $post = new Post($this->user, "Terugvindpost", "14.gif"); $topic->addPost($post); } ?> |
Gebaseerd op echte FOK-code?quote:
You lost me...quote:Op donderdag 25 maart 2010 16:59 schreef Trollface. het volgende:
[..]
Of je gebruikt gewoon php-templates:
/index.php:
[ code verwijderd ]
/templates/home.php:
[ code verwijderd ]
Of je doet het, nog beter, via MVC.
1 |
1 |
1 |
1 |
Het is geen vervanger voor AND. Rij wordt al teruggegeven als 1 van de criteria overeenkomt. Het is inderdaad wel korter als status = 1 OR status = 2 OR status =4quote:Op vrijdag 26 maart 2010 09:49 schreef Anthraxx het volgende:
[ code verwijderd ]
Zo uit mijn hoofd.
De WHERE ... IN syntax is erg handig als je kolom meer dan 1 waarde kan hebben. Elke keer WHERE x = 1 AND WHERE x = 2 AND ... n is ook weer zoiets.
Hoewel dat in de meeste gevallen werkt is het maar geheel afhankelijk van de implementatie van de browser hoe en of dat werkt, en of zoekmachines de link bijvoorbeeld ook volgen. Daarnaast kun je het verschil tussen 301 (permanente) en 302 (tijdelijke) redirects niet aangeven, dus op SEO-gebied is die meta-tag zeker geen alternatief..quote:Op vrijdag 26 maart 2010 10:48 schreef Anthraxx het volgende:
Iets als:
Redirect to http://example.com/ after 5 seconds:
[ code verwijderd ]
In je HTML?
Zet bovenaan je php script:quote:Op vrijdag 26 maart 2010 10:27 schreef Puala het volgende:
Is er ook een andere manier om iemand door te sturen naar een andere pagina naast
[ code verwijderd ]
Want in het script kunnen we de verwijzing niet eerder neerzetten.. :? :@
1 |
1 |
Oh D'oh. Je hebt gelijk . Zat even niet op te letten tijdens het typen.quote:Op vrijdag 26 maart 2010 11:04 schreef Intrepidity het volgende:
[..]
Het is geen vervanger voor AND. Rij wordt al teruggegeven als 1 van de criteria overeenkomt. Het is inderdaad wel korter als status = 1 OR status = 2 OR status =4
dankjewelquote:Op vrijdag 26 maart 2010 11:35 schreef SinofEnvy het volgende:
[..]
Zet bovenaan je php script:
[ code verwijderd ]
En onderaan:
[ code verwijderd ]
Uiteraard in PHP tags. Dan kan je overal op de pagina header() gebruiken.
Hoezo niet? Ik heb er vrij weinig problemen mee eigenlijk.quote:Op maandag 29 maart 2010 15:36 schreef Sitethief het volgende:
Hmm, bezig met Javascript (AJAX) in combo met php, maar die twee werken niet altijd even lekker met elkaar samen...
Het heeft dan ook niet zo gek veel met elkaar te maken he.. Een clientside techniek hoeft niet daadwerkelijk samen te werken met een serverside techniek zolang ze dezelfde encodering ondersteunen. En dat gaat prima met json_encode() en dergelijke functies.quote:Op maandag 29 maart 2010 15:36 schreef Sitethief het volgende:
Hmm, bezig met Javascript (AJAX) in combo met php, maar die twee werken niet altijd even lekker met elkaar samen...
PHP doet de redirect vóórdat de pagina is geladen, met JS doe je dat na het laden of tijdens een event. Dat valt dus eigenlijk ook niet te vergelijken.quote:Op maandag 29 maart 2010 15:50 schreef Sitethief het volgende:
Mjah das waar, maar voor mij is het nog onontgonnen terrein. Vooral ook omdat er overlap is in wat beiden kunnen doen. Stuur je bijvoorbeeld een redirect via JS of PHP?
ik ben nog niet zo heel erg thuis in phpquote:Op dinsdag 30 maart 2010 18:06 schreef Puala het volgende:
Het op een aparte pagina maken en die pagina includen.
<?php
include ("./include/db.inc");
?>
Zo is het bij mijn laatste project gegaan. Jij maakt een pagina van (bijv html) en met dat kleine stukje kan je die pagina in de andere pagina's zetten. Je moet het stukje code dan wel op de goede plaats zetten (dus daar waar je de tabel wilt).
Euhm, wacht, ik leg het begrijpelijker uit (althans, doe poging tot).quote:Op dinsdag 30 maart 2010 18:14 schreef MrNiles het volgende:
[..]
ik ben nog niet zo heel erg thuis in php
dus ik probeer het te begrijpen
in bv mijn index.html zet ik een verwijzing naar agenda.php
in agenda.php zet ik dus bovenstaande tekst
en in db.inc mijn agenda?
hier heb ik nog nooit van gehoordquote:Op woensdag 31 maart 2010 01:00 schreef Tijn het volgende:
Het is in een MySQL database mogelijk om per kolom een comment mee te geven. Je ziet dit ook terug in phpMyAdmin bijvoorbeeld.
Weet iemand hoe je de inhoud van zo'n comment opvraagt vanuit PHP?
SELECT `COLUMN_COMMENT` FROM `INFORMATION_SCHEMA`.`COLUMNS` WHERE `TABLE_NAME` = 'table_name';quote:Op woensdag 31 maart 2010 01:00 schreef Tijn het volgende:
Het is in een MySQL database mogelijk om per kolom een comment mee te geven. Je ziet dit ook terug in phpMyAdmin bijvoorbeeld.
Weet iemand hoe je de inhoud van zo'n comment opvraagt vanuit PHP?
COLUMN_NAME , wil je er vast ook bij hebbenquote:Op woensdag 31 maart 2010 02:15 schreef captaintokyo het volgende:
[..]
SELECT `COLUMN_COMMENT` FROM `INFORMATION_SCHEMA`.`COLUMNS` WHERE `TABLE_NAME` = 'table_name';
Maar zoals Intrepidity al een keer opmerkte, als je op een shared host zit heb je wellicht geen toegang tot `INFORMATION_SCHEMA`.`COLUMNS`. In dat geval weet ik ook niet hoe je de comments kunt uitlezen.
1 2 3 | RewriteRule ^/?blog/(.*)/?(.*).html$ /index.php?blog=$1 [L] ?> |
1 2 3 | RewriteRule ^(.*).html$ index.php?keuze=$1 [L] ?> |
bedankt, het is me geluktquote:Op dinsdag 30 maart 2010 18:19 schreef Puala het volgende:
[..]
Euhm, wacht, ik leg het begrijpelijker uit (althans, doe poging tot).
Je hebt index.html (en nog meer pagina's uit je menu). In die pagina(s) zet je:
<?php
include ("../agenda/agenda.php");
?>
Dat stukje tussen " " is gewoon een plaats waar je de pagina kan vinden. Die heb je met html ook nodig
En agenda.php bestaat uit bijv. je tabel waar je agenda in staat of hoe je dat wilt maken.
Ah, information schema, natuurlijk. Bedankt!quote:Op woensdag 31 maart 2010 02:15 schreef captaintokyo het volgende:
[..]
SELECT `COLUMN_COMMENT` FROM `INFORMATION_SCHEMA`.`COLUMNS` WHERE `TABLE_NAME` = 'table_name';
Maar zoals Intrepidity al een keer opmerkte, als je op een shared host zit heb je wellicht geen toegang tot `INFORMATION_SCHEMA`.`COLUMNS`. In dat geval weet ik ook niet hoe je de comments kunt uitlezen.
Heb je dat in je php stukje staan of waar? Laat eens meer code zien?quote:Op woensdag 31 maart 2010 11:23 schreef MrNiles het volgende:
[..]
bedankt, het is me gelukt
met een beetje extra google heb ik wat voor elkaar gekregen
alleen mijn volgende vraag...
de tekst heb ik in een div staan wat een achtergrond heeft en een kader
maar zodra ik een "/n" wil doen dan verdwijnt mijn achtergrond+kader en krijg ik geen tekst meer te zien.
kan het zijn dat deze functie dan op een verkeerde plaats heb staan of is het gewoon de verkeerde code?
het is dus "gewoon" in html..
<br> dus...
<?phpquote:Op woensdag 31 maart 2010 11:59 schreef Puala het volgende:
[..]
Heb je dat in je php stukje staan of waar? Laat eens meer code zien?
waarvoor zou je hiervoor php gebruiken?quote:Op woensdag 31 maart 2010 12:39 schreef MrNiles het volgende:
[..]
<?php
echo ("<center>
<b>Agenda</b><br>
3 april - jeugdsolistenconcours<br>
10 april - gez.rep.jeugdorkest<br>
2 mei - 15:00 Lof<br>
30 mei - meimarkt<br>
</center>");
?>
1 2 3 4 5 6 7 | <b>Agenda</b><br> 3 april - jeugdsolistenconcours<br> 10 april - gez.rep.jeugdorkest<br> 2 mei - 15:00 Lof<br> 30 mei - meimarkt<br> </center> |
kwestie van volgorde probleem denk ikquote:Op woensdag 31 maart 2010 08:02 schreef Intrepidity het volgende:
Opzich, als ze in hetzelfde bestand staan, zouden die 2 rewrites door de [L] flag geen invloed op elkaar mogen hebben, althans, als de eerste matcht moet hij de tweede overslaan.
Wat gaat er precies fout?
Je "agenda" zelf hoeft niet tussen <?php .. ?> tagsquote:Op woensdag 31 maart 2010 14:13 schreef MrNiles het volgende:
[quote]Op woensdag 31 maart 2010 12:52 schreef cablegunmaster het volgende:
[..]
waarvoor zou je hiervoor php gebruiken?
[ code verwijderd ]
werkt net zo goed .
verklaar je nader
ik ben echt beginnend
ik wil namelijk op verschillende pagina's een zelfde tekst hebben
nou dan maak je een bestand genaamd inc.agenda.php (inc voor include hoeft niet maar makkelijker om uitelkaar te houden ^^) Stopt hier alle gegevens in die je overal wilt neerzettenquote:Op woensdag 31 maart 2010 14:13 schreef MrNiles het volgende:
[quote]Op woensdag 31 maart 2010 12:52 schreef cablegunmaster het volgende:
[..]
waarvoor zou je hiervoor php gebruiken?
[ code verwijderd ]
werkt net zo goed .
verklaar je nader
ik ben echt beginnend
ik wil namelijk op verschillende pagina's een zelfde tekst hebben
1 2 3 | include "/inc.agenda.php"; ?> |
1 2 3 4 5 6 7 | session_start(); // Gebruiker inloggen $_SESSION['ingelogd'] = true; $_SESSION['gebruikersNaam'] = $gebruikersNaam; header ("location: profiel.php"); ?> |
1 2 3 4 5 6 7 8 9 10 11 | session_start(); if (! $_SESSION['ingelogd'] ) { header ("location: inlog.php"); } else { } ?> |
1 2 3 4 5 6 7 8 9 10 | public function __construct($connectionstring, $user, $password) { self::$log = new Log("query"); parent::__construct($connectionstring, $user, $password, array(PDO::ATTR_PERSISTENT => true)); parent::setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $this->query("SET NAMES utf8"); } ?> |
Echo Session eens op die pagina?quote:Op woensdag 31 maart 2010 22:19 schreef boem-dikkie het volgende:
Ik zit weer vast met mijn sessions...
Ik heb als ik inlog dit stukje code
[ code verwijderd ]
Je wordt als je de goede gegevens hebt ingevuld doorgestuurd naar profiel.php.
Om te kijken of de user daadwerkelijk is ingelogd heb ik bovenaan profiel.php ( en de andere pagina's ) dit staan:
[ code verwijderd ]
Alleen als ik nu op F5 druk.. of ik ga op de pagina 'profiel.php' naar een andere pagina toe , dan wordt ik naar inlog.php gestuurd..
Omdat die data o.a. bedoeld is voor in headers van e-mailberichten, waar HTML-tekens niet toegestaan zijn. Ik wil de originele tekens in de database hebben, later kan ik het nog wel weer coderen als ik het in HTML wil weergeven.quote:Op donderdag 1 april 2010 11:56 schreef Sitethief het volgende:
Waarom zet je er niet gewoon & #246; voor in de plaats
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 | [0]=> array(2) { ["Variable_name"]=> string(20) "character_set_client" ["Value"]=> string(4) "utf8" } [1]=> array(2) { ["Variable_name"]=> string(24) "character_set_connection" ["Value"]=> string(4) "utf8" } [2]=> array(2) { ["Variable_name"]=> string(22) "character_set_database" ["Value"]=> string(4) "utf8" } [3]=> array(2) { ["Variable_name"]=> string(24) "character_set_filesystem" ["Value"]=> string(6) "binary" } [4]=> array(2) { ["Variable_name"]=> string(21) "character_set_results" ["Value"]=> string(4) "utf8" } [5]=> array(2) { ["Variable_name"]=> string(20) "character_set_server" ["Value"]=> string(4) "utf8" } [6]=> array(2) { ["Variable_name"]=> string(20) "character_set_system" ["Value"]=> string(4) "utf8" } |
zelf kan ik zoiets niet schrijven vandaar copy/pastequote:Op donderdag 1 april 2010 14:21 schreef Intrepidity het volgende:
Dat script berekent alleen hoeveel tijd er nog resteert tot de volgende verjaardag. En nog slecht ook. Wil je dat gebruiken zul je dus inderdaad verjaardagen ergens in moeten bijhouden.
Mod_rewrite, Multiviews of natuurlijk gewoon een index.html/php in die map zetten...?quote:Op vrijdag 2 april 2010 11:13 schreef MrNiles het volgende:
Hoe kan deze code een pagina openen?
er staat geen file.html na de laatste /
<a href="/xx/xx/xx/xxxxxx/xxxxx/">
Of hij zoekt dan naar de index.php/index.html etc. Of er is een apache instelling die er voor zorgt dat ie op de juiste plek terecht komt.quote:Op vrijdag 2 april 2010 11:13 schreef MrNiles het volgende:
Hoe kan deze code een pagina openen?
er staat geen file.html na de laatste /
<a href="/xx/xx/xx/xxxxxx/xxxxx/">
1 2 3 | $sql="UPDATE 'imovie_films' SET 'Regisseur' = '".$_POST[Regisseur]."','Jaar' = '".$_POST[Jaar]."','IMDB' = '".$_POST[IMDB]."','Titel' = '".$_POST[Titel]."','Review' = '".$_POST[Review]."' WHERE 'FilmID' = $_GET[id];";] ?> |
Escape in ieder geval die $_GET["id"] even.. Nu is het vrij simpel om door de URL aan te passen SQL-code te injecteren..quote:Op vrijdag 2 april 2010 14:08 schreef boem-dikkie het volgende:
Uit de eerder gevraagde sessions ben ik uit.
Nu het volgende struikelblok.
[ code verwijderd ]
Ziet iemand hier een opmerkelijke fout? Ik heb een pagina die heet 'pageshow.php?id=' deze laat gegevens zien van de film in een form. Onder aan deze vorm heb ik een knop die doorlinkt naar mijn PHP script waar bovenstaande SQL in staat. Als ik wijzig dan doet hij niks...
Nouja, het is voor een schoolproject en dat soort dingen gaan we niet eens behandelen. Ik heb liever dat het onveilig werkt dan dat ik nog tijd moet investeren om mezelf in te lezen over dat sql injection. ( Sorry en toch bedankt )quote:Op vrijdag 2 april 2010 14:10 schreef Intrepidity het volgende:
[..]
Escape in ieder geval die $_GET["id"] even.. Nu is het vrij simpel om door de URL aan te passen SQL-code te injecteren..
1 |
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 | <td> <table class=tabel><form method="POST" action="insertwijziging.php"> <tr> <td>FilmID</td> <td>'.$lijst["FilmID"].'</td> </tr> <tr> <td>Regisseur</td> <td><input type="text" value="'.$lijst["Regisseur"].'" name="Regisseur"></td> </tr> <tr> <td>Jaar</td> <td><input type="text" value="'.$lijst["Jaar"].'" name="Jaar"></td> </tr> <tr> <td>IMDb</td> <td><input type="text" value="'.$lijst["IMDB"].'" name="IMDB"></td> </tr> <tr> <td>Titel</td> <td><input type="text" value="'.$lijst["Titel"].'" name="Titel"></td> </tr> <tr> <td width=50>Review</td> <td width=350><input type="text" value="'.$lijst["Review"].'" name="Review" height="200"></td> </tr> <tr><td><input type="submit" value="Verzenden" name="verzenden"></td></tr> </table></form> </td> ?> |
1 2 3 4 5 | if (!mysql_query($sql)) { echo Verbinding maken is mislukt, ?> |
1 2 3 4 | <form method="POST" action="insertwijziging.php? echo $_GET['id']; "> <form method="POST" action="insertwijziging.php?'.$_GET['id'].'"> ?> |
1 |
Oh ja, sorry, foutje Doet 'ie het nu??quote:Op vrijdag 2 april 2010 15:29 schreef boem-dikkie het volgende:
[ code verwijderd ]
Wat hij nu laat zien is insertwijziging?2384934
Dan weet hij niet dat het cijfer het ID is.
Ik heb dit er van gemaakt.
[ code verwijderd ]
Jep. Thanks in ieder geval!quote:Op vrijdag 2 april 2010 15:31 schreef captaintokyo het volgende:
[..]
Oh ja, sorry, foutje Doet 'ie het nu??
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 if (array_key_exists('instellen2', $_POST)) { mysql_query("INSERT INTO dienstprofielen (s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, s33, s34, s35) VALUES ('$_POST[s1]','$_POST[s2]','$_POST[s3]','$_POST[s4]','$_POST[s5]','$_POST[s6]','$_POST[s7]','$_POST[s8]','$_POST[s9]','$_POST[s10]', '$_POST[s11]','$_POST[s12]','$_POST[s13]','$_POST[s14]','$_POST[s15]','$_POST[s16]','$_POST[s17]','$_POST[s18]','$_POST[s19]','$_POST[s20]', '$_POST[s21]','$_POST[s22]','$_POST[s23]','$_POST[s24]','$_POST[s25]','$_POST[s26]','$_POST[s27]','$_POST[s28]','$_POST[s29]','$_POST[s30]', '$_POST[s31]','$_POST[s32]','$_POST[s33]','$_POST[s34]','$_POST[s35]')"); mysql_query("INSERT INTO dienstprofielen (e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35) VALUES ('$_POST[e1]','$_POST[e2]','$_POST[e3]','$_POST[e4]','$_POST[e5]','$_POST[e6]','$_POST[e7]','$_POST[e8]','$_POST[e9]','$_POST[e10]', '$_POST[e11]','$_POST[e12]','$_POST[e13]','$_POST[e14]','$_POST[e15]','$_POST[e16]','$_POST[e17]','$_POST[e18]','$_POST[e19]','$_POST[e20]', '$_POST[e21]','$_POST[e22]','$_POST[e23]','$_POST[e24]','$_POST[e25]','$_POST[e26]','$_POST[e27]','$_POST[e28]','$_POST[e29]','$_POST[e30]', '$_POST[e31]','$_POST[e32]','$_POST[e33]','$_POST[e34]','$_POST[e35]')"); echo "done"; exit ;} ?> |
ja die velden bestaan gewoon, heb ze meerdere malen nagelopen in form & database..quote:Op vrijdag 2 april 2010 17:08 schreef Intrepidity het volgende:
Wellicht een domme vraag, maar die velden bestaan wel?
nee dat kan het ook niet zijn.. ik vul 1 record eenmalig met 35 s waarden en 35 e waarden achter elkaar. Ik heb ook beiden reeksen in 1 lange query gezet maar dat geeft hetzelfde resultaat.quote:Op vrijdag 2 april 2010 17:12 schreef Intrepidity het volgende:
Wellicht een veld uit de s-reeks die als verplicht gemarkeerd staat en die je dus niet vult in je query voor e-velden?
1 |
lol, ja dat bedoel ik dus met die if statement, maar waar moet ik met WHERE naar verwijzen als de record op hetzelfde moment gemaakt word? iets van WHERE=this_record ofzo? :pquote:
mysql_insert_idquote:Op vrijdag 2 april 2010 21:45 schreef Dokay het volgende:
[..]
lol, ja dat bedoel ik dus met die if statement, maar waar moet ik met WHERE naar verwijzen als de record op hetzelfde moment gemaakt word? iets van WHERE=this_record ofzo? :p
Anyone?quote:Op donderdag 1 april 2010 10:43 schreef Intrepidity het volgende:
Ik heb een probleempje, ik probeer een string met een o+umlaut door middel van PDO in een database te frotten. Collatie van zowel tabel als veld is utf8_general_ci, maar ik krijg de volgende exception:
exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\xF6hlman...' for column 'achternaam' at row 1'
Dat moet toch gewoon op te slaan zijn in UTF8? Wat doe ik fout?
Edit: "SET NAMES utf8" query had geen effect overigens
Even ter informatie, ik heb een database proxyklasse die van PDO overerft en als volgt de verbinding opzet:
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | $today = date('d-m-Y'); $tomorrow = strtotime('+1 day', strtotime($today)); $schoonmaak_query = mysql_query("SELECT datum, id FROM diensten"); $record3 = mysql_fetch_assoc($schoonmaak_query); $plandatum = $record3['datum']; $dienstid = $record3['id']; $expiration_date = strtotime($plandatum); if ($expiration_date < $tomorrow) { mysql_query("UPDATE diensten SET code='4' WHERE id='$dienstid'"); } ?> |
Waarom \xF8 en niet gewoon het UTF-8 karakter?quote:
goede, had het nog niet van die kant bekeken, bedankt!quote:Op maandag 5 april 2010 19:01 schreef GlowMouse het volgende:
dit moet je in SQL oplossen
UPDATE diensten SET code='4' WHERE datum < [iets wat morgen aanduidt]
waarbij datum geen string-veld meer is
Wat is je vraag?quote:Op woensdag 7 april 2010 08:55 schreef Gitaarmat het volgende:
Ik moet een scherm maken waarin de temperatuur kan worden ingevuld. Er wordt een andere melding gegeven als de temperatuur hoger is dan 28 dan onder de 28 graden...
Ik vraag me eigenlijk meer af waar dat karakter vandaan komt ja.. Ik lees gegevens uit CSV met fgetcsv, die gegevens zitten daarna tijdelijk in een object en worden vervolgens met PDO geinsert. Maargoed, ik denk dat ik gewoon utf8_encode over iedere string heen gooi in mijn databaseklasse.. Ietswat lelijke maar wel eenvoudige fixquote:Op maandag 5 april 2010 19:02 schreef GlowMouse het volgende:
[..]
Waarom \xF8 en niet gewoon het UTF-8 karakter?
edit: http://blog.sempersolutio(...)t-string-value-xe9e/
Waarom zou je op deze manier je plaatjes mappen willen ophalen?quote:Op zaterdag 3 april 2010 16:56 schreef Chandler het volgende:
Voor een klein projectje zit ik met het volgende: 2 tabel opzetjes
tree (id, sub_id, titel)
dox (id, tree_id, titel)
nu wil ik bij iedere tree id een bij behorend dox id halen, maar in sommige tree's zit geen dox en deze wil ik dan van een dieper tree id halen die hoger ligt.
Voorbeeld.
tree
1 0 hoofdgroep
2 0 hoofdgroep 1
3 0 hoofdgroep 2
4 1 subgroep 1
5 1 subgroep 2
6 4 subsubgroep 1
7 6 subsubsubgroep 1
uitbeeldend is het dan (tussen haakjse () staan het aantal documenten in de die subgroep)
hoofdgroep (0)
-- subgroep 1 (0)
---- subsubgroep 1 (1)
------ sbsubsubgroep 1 (5)
-- subgroep 2 (2)
hoofdgroep 1 (1)
hoofdgroep 2 (1)
maar nu wil ik alleen de hoofdgroepen laten zien met een plaatje van het document, maar als er geen document is moet deze van een hogere sub gehaald worden (bv subsubgroep 1).
Hoe kan ik dat doen zonder al te veel queries te misbruiken?
Want volgens mij is het niet simpel mogelijk om diepgaande queries te maken en moet ik zelf eerst de sub, dan de subsub en dan nog eens de subsubsub tree id's achterhalen en dan een mogelijk document plaatje uit de tabel lezen.
Anyone?
de waarden staan los van elkaar, heb nog meerdere TIME waarden in een record staan. bedankt voor je tip zal eens kijken naar die functiequote:Op woensdag 7 april 2010 17:48 schreef Xcalibur het volgende:
date_format() is je vriend
Waarom gebruik je niet gewoon een timestamp kolom trouwens, dat lijkt me eenvoudiger dan 2 losse?
1 2 3 4 5 6 7 8 9 10 | if (!mysql_num_rows($diensten_query)) { echo "<br><b>Er zijn momenteel geen openstaande diensten.</b><br><br>"; } else { while($record1 = mysql_fetch_assoc($diensten_query)) { ?> <!-- HTML output hieronder --> <?php echo("{$record1['datum']}"); ?> |
Je moet de kolom nog een naam geven, dus:quote:Op donderdag 8 april 2010 17:04 schreef Dokay het volgende:
hmm en toch wil het niet lukken.. :')
[ code verwijderd ]
de query werkt in phpmyadmin helemaal goed, maar in php wil het maar niet lukken, krijg steeds de melding "Notice: Undefined index: datum in D:\wamp\www\index.php on line 108"... maar ik heb toch degelijk de index gedefinieerd :X
1 |
1 2 3 4 5 6 7 8 9 10 11 12 | $diensten_query = mysql_query("SELECT DATE_FORMAT('datum', '%W %d-%c-%y') as formatted_date FROM diensten WHERE code=1 OR code=2 ORDER by datum"); if (!mysql_num_rows($diensten_query)) { echo "<br><b>Er zijn momenteel geen openstaande diensten.</b><br><br>"; } else { while($record1 = mysql_fetch_assoc($diensten_query)) { <!-- HTML output hieronder --> echo("{$record1['formatted_date']}"); ?> |
Dan krijg je een raar side-effect. namelijk dat je sorteert op een VARCHAR.quote:Op donderdag 8 april 2010 17:08 schreef mstx het volgende:
[..]
Je moet de kolom nog een naam geven, dus:
[ code verwijderd ]
bijvoorbeeld
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 85 86 87 88 89 90 91 92 93 94 95 96 97 | mysql_connect("localhost", "268415", "268415")or die("Kan geen verbinding maken"); mysql_select_db("268415")or die("Kan de database niet openen"); if(!isset($_SESSION["admin"])){ $text = "U bent niet goed ingelogd, ga terug naar <A HREF='index.html'>de login pagina</A>."; echo($text); } else { <table> <form method="get" action="?"> Lijnnummer: <select name="busnr"> $query = "SELECT * FROM bussen"; $result = mysql_query($query)or die('Er is een technische storing opgetreden'); while($bussen = mysql_fetch_assoc($result)) { echo "<option value=\"{$bussen['busnr']}\">Lijn: {$bussen['busnr']}</option>"; } <input type="submit" name="submitlijn"> </form> <form method="post" action="?"> </select> if (isset($_GET['busnr'])) { <tr> <td>Halte</td><td>Tijd</td></tr> <input type="hidden" name="busnr" value=" $_GET['busnr'] "> $query = "SELECT * FROM bushaltes JOIN haltes ON bushaltes.haltenr = haltes.haltenr WHERE bushaltes.busnr={$_GET['busnr']} ORDER BY bushaltes.tijd ASC"; $result = mysql_query($query)or die('Er is een technische storing opgetreden'); while($halte = mysql_fetch_assoc($result)) { <tr> <td><select name="halte1"> echo "<option value=\"{$halte['busnr']}\">{$halte['haltestraat']} ({$halte['halteplaats']<img class="rde_img_smiley" src="http://i.fok.nl/s/devilish.gif" width="22" height="19" alt="" /></option>"; $query2 = "SELECT * FROM haltes"; $result2 = mysql_query($query2)or die('Er is een technische storing opgetreden'); while($halte2 = mysql_fetch_assoc($result2)) { echo "<option value="{$halte2['haltenr']}\">{$halte2['haltestraat']} ({$halte2['halteplaats']<img class="rde_img_smiley" src="http://i.fok.nl/s/devilish.gif" width="22" height="19" alt="" /></option>"; } </select> </td> <td> <input type="text" name="tijdhalte1" value= echo $halte['tijd']; > </td> </tr> } <tr> <td> Bus bijzonderheden: </td> <td> $result3 = mysql_query("SELECT `busbijz` FROM `bussen` WHERE `busnr` = {$_GET['busnr']}"); while($halte3 = mysql_fetch_assoc($result3)) { echo "<input type="text\" name=\"busbijz\" value=\"" . $halte3['busbijz'] . "\">"; } </td> </tr> </form> </table> Of gehele buslijn verwijderen? <br /> <form method="post" action="?"> <input type="hidden" name="busnr" value=" {$_GET['busnr']} "> <input type="submit" name="buslijn"> </form> if ($_POST['buslijn'] != '') { $resbus = "DELETE FROM `bussen` WHERE `busnr` = " . $_POST['busnr']; mysql_query($resbus); $resbus2 = "DELETE FROM `bushaltes` WHERE `busnr` = " . $_POST['busnr']; mysql_query($resbus2); echo "Verwijdering van buslijn succesvol."; } } } ?> |
Ah. Zet je exacte code even op pastebin dan ofzo.quote:Op vrijdag 9 april 2010 02:29 schreef Kerol het volgende:
Oja en FOK haalt die <?php en ?> weg. Maar ze staan wel in mijn script.
1 2 3 | {$_GET['busnr']} ?> |
1 2 3 | echo $_GET['busnr'] ?> |
Cache headers meegeven.quote:Op vrijdag 9 april 2010 15:06 schreef Chandler het volgende:
Weet iemand hoe ik kan zorgen dat een afbeelding die ik via php verstuur niet nogmaals geladen wordt maar door de gebruiker gecached wordt?
Nee, de eerste keer worden cache headers mee gestuurd, zodat de browser weet dat hij de afbeeldingen kan opslaan en totdat de cache weggegooid is of de expire-date bereikt is voortaan lokaal kan laden.quote:Op vrijdag 9 april 2010 15:37 schreef Chandler het volgende:
Juist ja, maar dan nog stuur ik het plaatje mee dus scheelt dat mij niet in de bandbreedte en dat wil ik juist wel!
ah das geen probleem kwestie van eerst een SQL laten uitvoeren.quote:Op maandag 12 april 2010 11:49 schreef Kerol het volgende:
Heeft iemand enig idee waarom dit script niet werkt?
http://pastebin.com/YTP00zh7
Ik wil graag mensen favorieten kunnen laten toevoegen, en als een URL die toegevoegd word al bestaat, dat deze het id mee krijgt van het eerder aangemaakte URL dus. Is de URL nooit eerder ingevoerd dan zal deze een nieuw id krijgen.
Iemand?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | $sql = "Select * from linkdump where link = ' ".$ingevoerdeurl." ' " $result = mysql_query($sql)or die(mysql_error()); if(mysql_num_rows($result) >'0') { while ($row = mysql_fetch_array($result)) { $link= $row['link']; } //maak je insert/update query }else{ //insert query zonder url opvraging. } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <?php if (array_key_exists('sorteerdatum', $_POST)) { $date = $_POST['datum']; $diensten_query0 = mysql_query("SELECT DATE_FORMAT(datum, '%d-%m-%y %W') as datum, DATE_FORMAT(start, '%H:%i') as start, DATE_FORMAT(eind, '%H:%i') as eind, opmerkingen, code, id FROM diensten WHERE datum='$date' AND code=1 OR datum='$date' AND code=2 ORDER by code, datum"); if (!mysql_num_rows($diensten_query0)) { echo "<html><script language=\"javascript\">alert ('Geen diensten gevonden!'); window.location.href = 'index.php';</script></html>"; } else { while($record2 = mysql_fetch_assoc($diensten_query0)) { ?> <!-- TABLE OUTPUT DIENSTEN OVERZICHT --> <table class="list"> <tr><td width="100"><?php if($record2['code']==1) { echo "<img src=\"media/s1.png\"> <font color=\"#14C000\"><b>Open</b>"; } else { echo "<img src=\"media/s2.png\"> <font color=\"#ED9A00\"><b>Besproken</b>"; } ?></td> <td width="150"><?php echo("{$record2['datum']}"); ?></td> <td width="60"><?php echo("{$record2['start']}"); ?></td> <td width="60"><?php echo("{$record2['eind']}"); ?></td> <td width="100"><?php echo("{$record2['opmerkingen']}"); ?></td><form name="inschrijven" action="index.php" method="post"> <td width="100"><?php if($record2['code']==1) { echo "<input type=\"text\" name=\"notities\" maxlength=\"50\" size=\"12\"></td>"; }else{ echo "<input type=\"text\" name=\"notities\" DISABLED size=\"12\"></td>"; }?> <td width="90"><?php if($record2['code']==1) { echo "<input type=\"hidden\" name=\"inschrijven\" value=\"1\" /> <input type=\"submit\" value=\"Inschrijven\" onclick=\"return confirm('Inschrijven op deze dienst?')\" onclick=\"this.disabled = true\"><input type=\"hidden\" name=\"dienstid\" value=\"{$record2['id']}\"); ?>"; } else { echo "<input type=\"submit\" value=\"Inschrijven\" DISABLED>"; }?></td></form></tr></table> <?php } ?><br> <input type="button" value="Overzicht" onClick="window.location.href=window.location.href"> <?php } } else { ?> <!-- EIND SELECT LUS VOOR DATUM, VERDER MET NORMALE QUERY --> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | $urlquery2 = mysql_query("SELECT * FROM `url` WHERE `url_naam` = '".$urlreal."'"); $urlresult = mysql_fetch_assoc($urlquery2); $rowsurl = mysql_num_rows(urlquery2); // checken of url bestaat in database if ($rowsurl = 0) { $query3=mysql_query("INSERT INTO `url` (`url_adres`) VALUES( '".$urlreal."' )"); echo "Succesvol URL toegevoegd"; $urlquery = mysql_query("SELECT `url_id` FROM `url` WHERE `url_naam` = ".$_POST['url']); $url= mysql_fetch_assoc($urlquery); } else { // als wel bestaat $urlreal = $urlresult; mysql_query("INSERT INTO `url` (`url_adres`) VALUES( '".$urlreal."' )"); $url = $urlreal; echo "Succesvol URL toegevoegd"; } ?> |
zelfde principe maar hou rekening mee dat http://google.nl en www.google.nl als 2 verschillende adressen bvb opslaat.quote:Op maandag 12 april 2010 13:17 schreef Kerol het volgende:
[ code verwijderd ]
Dit zou opzich toch ook moeten werken
quote:Op maandag 12 april 2010 13:27 schreef Kerol het volgende:
Ja, weet ik. Alleen de pagina laad nu niet, zie jij of iemand anders het probleem misschien waarom de pagina wit blijft? Mijn server laat geen foutmeldingen zien
1 2 3 4 | ini_set('display_errors', 'On'); error_reporting(E_ALL); ?> |
1 |
Hoe bedoel je wat wil je bereiken? ik probeer het te ontcijferen maar lus? voor elke query en ophaling moet je weer een nieuwe lus maken. een nieuwe while loop met alle output. helaas of wil je een lus maken dat mensen kunnen klikken op knopjes? en dat het dan gerangschikt word hierop?quote:Op maandag 12 april 2010 13:15 schreef Dokay het volgende:
Goed. Ik heb onderstaande tabel als output met bijbehorende query. Nou krijg ik veel klachten dat het niet prettig te printen is dus wil ik eigenlijk een printpage.php maken die ervoor zorgt dat dezelfde overzichten netjes gerenderd kunnen worden zonder zaken die je bij dit scherm wel hebt. Waar ik alleen niet uitkom; hoe geef ik op printpage.php aan welke sql query er zojuist is uitgevoerd door de gebruiker? Want zoals hieronder is de datum variabel... en het lijkt me omslachtig om voor elke sql query een eigen lus te gaan maken
[ code verwijderd ]
test je lokaal of op een server?quote:
1 2 3 4 5 6 | if ($rowsurl = 0) Fixed if($rowsurl == 0) ?> |
Regel 4:quote:Op maandag 12 april 2010 13:17 schreef Kerol het volgende:
[ code verwijderd ]
Dit zou opzich toch ook moeten werken
is dit alles van je code? want in mijn ogen lijkt het goed te zijn.quote:Op maandag 12 april 2010 13:40 schreef Kerol het volgende:
goed gezien maar hij doet het nog niet
ik test op de server van mijn school (hanze waar jij ook op zit heb je wel es gespot )
goed gezienquote:Op maandag 12 april 2010 13:47 schreef captaintokyo het volgende:
[..]
Regel 4:
$rowsurl = mysql_num_rows(urlquery2);
Moet zijn:
$rowsurl = mysql_num_rows($urlquery2);
regel 6 is? volgens foutmeldingen online mis je een ( of een ) teken bij een IF statement.quote:Op maandag 12 april 2010 13:53 schreef Kerol het volgende:
Haha ook goed gezien, maar hij doet het nog niet .. Dit is inderdaad al mijn code..]
in XAMPP:
Parse error: syntax error, unexpected T_BOOLEAN_AND in C:\xampp\htdocs\favtoev.php on line 6
quote:Op maandag 12 april 2010 13:53 schreef Kerol het volgende:
Haha ook goed gezien, maar hij doet het nog niet .. Dit is inderdaad al mijn code..]
in XAMPP:
Parse error: syntax error, unexpected T_BOOLEAN_AND in C:\xampp\htdocs\favtoev.php on line 6
Op dit moment is mijn script zo:
http://pastebin.com/r8z87cCS
nou hup opzoeken en opschrijvenquote:Op maandag 12 april 2010 13:58 schreef Kerol het volgende:
[..]
Jep, zag hem al Alleen nu doet hij het nog niet haha. Er is dus nóg een fout
Testen op je phpmyadmin: SELECT `gebruiker_id` FROM `gebruiker` WHERE `login` = ietsquote:Op maandag 12 april 2010 14:34 schreef Kerol het volgende:
Weet iemand trouwens waarom hij bij gebruikersid altijd 0 meegeeft terwijl deze in dit geval 5 moet zijn?
Ook url id krijgt standaard 0 mee, waarom?
http://pastebin.com/ppg9bn0i
gebruiker['gebruiker_id']; ook gebruikt?quote:Op maandag 12 april 2010 14:46 schreef Kerol het volgende:
@cablegun - Ja dat in phpmyadmin had ik al geprobeerd. Dan werkt hij.
Ik had var_dump $gebruiker geprobeerd, daar komt dit uit: array(1) { ["gebruiker_id"]=> string(1) "5" }
Hij heeft dus wel gewoon dat id mee. Zet hem alleen niet in die query ..
quote:Op maandag 12 april 2010 14:43 schreef captaintokyo het volgende:
Dit is fout:
$query2 = mysql_query("INSERT INTO `marks` (`gebruiker_id`, `url_id`, `categorie_id`) VALUES( '".$gebruiker."', '".$url."', '".$categorie."')") or die(mysql_error());
Dit is goed:
$query2 = mysql_query("INSERT INTO `marks` (`gebruiker_id`, `url_id`, `categorie_id`) VALUES( '".$gebruiker['gebruiker_id']."', '".$url['url_id']."', '".$categorie."')") or die(mysql_error());
Werkt al Toch bedankt..quote:Op maandag 12 april 2010 14:47 schreef cablegunmaster het volgende:
[..]
gebruiker['gebruiker_id']; ook gebruikt?
[..]
daar ook $gebruiker gefixt? naar gebruiker['gebruiker_id']quote:Op maandag 12 april 2010 14:49 schreef Kerol het volgende:
[..]
Werkt al Toch bedankt..
Alleen geeft hij nu in de ene tabel(URL) wél het URL id + dus de link mee, en in de tabel MARKS geeft hij het url id van die link niet mee.. iemand die weet waarom?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | //checken of url bestaat in database if ($rowsurl == 0) { $query3=mysql_query("INSERT INTO `url` (`url_adres`) VALUES( '".$urlreal."' )"); $urlquery = mysql_query("SELECT `url_id` FROM `url` WHERE `url_naam` = ".$_POST['url']); $url= mysql_fetch_assoc($urlquery); } else { //als wel bestaat $urlreal = $urlresult; mysql_query("INSERT INTO `url` (`url_adres`) VALUES( '".$urlreal."' )"); $url = $urlreal; } ?> |
goed gezien 2x een url op 1 id. een op meer relatie. terwijl ID altijd 1 ding hoort aan te geven.quote:Op maandag 12 april 2010 14:55 schreef captaintokyo het volgende:
Ik snap dit stuk code niet:
[ code verwijderd ]
De URL bestaat, maar toch doe je een insert. Deze vreemde code heeft er ook mee te maken dat je in url_id een 0 krijgt.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | //checken of url bestaat in database if ($rowsurl == 0) { $query3=mysql_query("INSERT INTO `url` (`url_adres`) VALUES( '".$urlreal."' )"); $urlquery = mysql_query("SELECT `url_id` FROM `url` WHERE `url_adres` = ".$_POST['url']); $url= mysql_fetch_assoc($urlquery); } else { //als wel bestaat $urlreal = $urlresult; $urlquery = mysql_query("SELECT `url_id` FROM `url` WHERE `url_adres` = '".$urlreal."'"); $urlurl = mysql_fetch_assoc($urlreal); var_dump($urlreal); $url = $urlreal; } $urlquery = mysql_query("SELECT `url_id` FROM `url` WHERE `url_adres` = ".$_POST['url']); $query2 = mysql_query("INSERT INTO `marks` (`gebruiker_id`, `url_id`, `categorie_id`) VALUES( '".$gebruiker['gebruiker_id']."', '".$url."', '".$categorie."')") or die(mysql_error()); ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | //checken of url bestaat in database if($rowsurl == 0) { mysql_query("INSERT INTO `url` (`url_adres`) VALUES( '".$urlreal."' )"); $url_id = mysql_insert_id(); } else { //als wel bestaat $url_id = $urlresult['url_id']; } $query2 = mysql_query("INSERT INTO `marks` (`gebruiker_id`, `url_id`, `categorie_id`) VALUES( '".$gebruiker['gebruiker_id']."', '".$url_id."', '".$categorie."')") or die(mysql_error()); ?> |
1 2 3 | if(isset($_POST['submit']) && (isset($_POST['categorie'])) && (isset($_POST['url']))) ?> |
Nog niet helemaal, maar ik ga me er nu in verdiepen! Zeer bedankt!quote:Op maandag 12 april 2010 15:30 schreef captaintokyo het volgende:
Snap je nu ook wat er fout ging? En waarom het wel werkt zoals ik het gedaan heb?
Graag gedaan. Succes!quote:Op maandag 12 april 2010 15:31 schreef Kerol het volgende:
[..]
Nog niet helemaal, maar ik ga me er nu in verdiepen! Zeer bedankt!
sql injectie aaah ik wou nog op school langsgaan en zijn database crashenquote:Op maandag 12 april 2010 15:39 schreef captaintokyo het volgende:
[..]
Graag gedaan. Succes!
Enne... http://www.php.net/manual/en/function.mysql-real-escape-string.php
tip leer het verschil tussen een variabele en een array variabelequote:Op maandag 12 april 2010 17:49 schreef Kerol het volgende:
Ik had nog 1 vraagje
Ik wil graag alle bookmarks laten zien die bij een bepaalde user hoort.
http://pastebin.com/vt3thN0F
Alleen werkt het zo niet echt.. Ik kom er totaal niet uit hoe het dan wel zou moeten, ben al 2 uur van alles aan het proberen maar het lukt totaal niet.
Zou iemand me nog 1x kunnen helpen? Ben bijna klaar met alles behalve dit
Was je er al uit?quote:Op maandag 12 april 2010 17:49 schreef Kerol het volgende:
Ik had nog 1 vraagje
Ik wil graag alle bookmarks laten zien die bij een bepaalde user hoort.
http://pastebin.com/vt3thN0F
Alleen werkt het zo niet echt.. Ik kom er totaal niet uit hoe het dan wel zou moeten, ben al 2 uur van alles aan het proberen maar het lukt totaal niet.
Zou iemand me nog 1x kunnen helpen? Ben bijna klaar met alles behalve dit
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | $query7 = mysql_query(" SELECT `url`.`url_id`, `url`.`url_adres` FROM `url` INNER JOIN `marks` ON `url`.`url_id` = `marks`.`url_id` INNER JOIN `gebruiker` ON `marks`.`gebruiker_id` = `gebruiker`.`gebruiker_id` WHERE `gebruiker`.`login` = '".mysql_real_escape_string($gebruiker)."' "); while ($row = mysql_fetch_array($query7)) { $urlid = $row['url_id']; // IS DIT NODIG?? WAAROM DOE JE DIT?? echo "<br />"; echo "<tr> <td>"; echo $row['url_adres']; echo "</td> "; echo "<td>"; } ?> |
1 2 3 4 5 6 7 | echo "<br />"; echo "<tr> <td>"; echo $row['url_adres']; echo "</td> "; echo "<td>"; ?> |
1 2 3 4 5 6 | echo '<br /> <tr> <td> '.$row['url_adres'].' </td> <td>'; ?> |
1 2 3 4 5 6 7 8 | if($a == 'a'){ echo $a; foreach($a as $k=>$v){ echo $b; } } ?> |
1 2 3 4 5 6 7 8 | if($a == 'a'){ echo $a; foreach($a as $k=>$v){ echo $b; } } ?> |
1 |
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 | include 'mysql.php'; //Mysql DATA selecteren $query="SELECT * FROM nieuws ORDER BY datum DESC"; if (!($temp = mysql_query($query,$connection))) showerror(); //mysql data weergeven $ophalen = mysql_query("SELECT * FROM nieuws") or die(mysql_error()); //while loop while ($gegevens = mysql_fetch_array($ophalen)) { echo " <span class='kop'> "; echo $gegevens['datum']; echo " </span> "; echo " <span class='med'> - "; echo $gegevens['bericht']; echo " @ "; echo $gegevens['sectie']; echo " </span> <br /> "; } ?> |
Die limit 10 plaats je bij DESC, SORT en dat zo? Is het zo simpel?quote:Op donderdag 15 april 2010 21:55 schreef boem-dikkie het volgende:
Je kunt gewoon een id toevoegen en die sorteren. En dan gewoon LIMIT 10.
Als je LIMIT 10 doet laat hij maar 10 resultaten zien. En ja, kan er gewoon achter.quote:Op donderdag 15 april 2010 22:03 schreef caerulean het volgende:
[..]
Die limit 10 plaats je bij DESC, SORT en dat zo? Is het zo simpel?
Ik had allerlei complexe formules verwacht Dank je wel!quote:Op donderdag 15 april 2010 22:04 schreef boem-dikkie het volgende:
[..]
Als je LIMIT 10 doet laat hij maar 10 resultaten zien. En ja, kan er gewoon achter.
Als je zoveel mogelijk selectie vooraf doet via een query scheelt dat een hoop scripting .quote:Op donderdag 15 april 2010 22:06 schreef caerulean het volgende:
[..]
Ik had allerlei complexe formules verwacht Dank je wel!
1 2 3 4 5 6 7 8 9 10 11 12 13 | function userInput($string){ if(get_magic_quotes_gpc()){ $string = stripslashes($string); } if (phpversion() >= '4.3.0'){ $string = mysql_real_escape_string($string); } else{ $string = mysql_escape_string($string); } return $string; } ?> |
Beter doe je:quote:Op zaterdag 17 april 2010 16:56 schreef Apebeer het volgende:
Trouwens voor de mensen die niet echt aan beveiliging denken:
[ code verwijderd ]
Simpel maar effectieve code
Gebruik:
$naam = userInput($_POST['naam']);
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | function escapeAllInput($boolXSS) { foreach(list($_POST, $_GET, $_COOKIE) as &$arrGlobal) { foreach($arrGlobal as $strKey => &$strValue) { if(get_magic_quotes_gpc()){ $strValue = stripslashes($strValue); } if($boolXSS) { $strValue = htmlspecialchars($strValue); } if(function_exists('mysql_real_escape_string')){ $strValue = mysql_real_escape_string($strValue); } elseif(function_exist('mysql_escape_string')){ $strValue = mysql_escape_string($strValue); } else { $strValue = addslashes($strValue); } } } } ?> |
Kan ook ja, maar soms wil je niet alles filterenquote:Op zaterdag 17 april 2010 17:01 schreef Trollface. het volgende:
[..]
Beter doe je:
[ code verwijderd ]
In het geval van user input wel, imo.quote:Op zaterdag 17 april 2010 17:02 schreef Apebeer het volgende:
[..]
Kan ook ja, maar soms wil je niet alles filteren
Klopt ja, had het even uit mijn kop getikt, bijgewerkt.quote:Op zaterdag 17 april 2010 17:03 schreef SinofEnvy het volgende:
is_function()? Nog nooit van gehoord, is ook niks te vinden op de PHP documentatie. Wel ken ik function_exists, bedoel je dat?
Truequote:Op zaterdag 17 april 2010 17:03 schreef Trollface. het volgende:
[..]
In het geval van user input wel, imo.
Het systeem verbeteren was veel minder werk dan hem opnieuw bouwenquote:Op zaterdag 17 april 2010 17:14 schreef SinofEnvy het volgende:
Klinkt sowieso dus niet als een goed systeem om verder op te bouwen...
Dat laatste is in verband met verwijzingen vanaf andere tabellen op basis van ID niet altijd een slecht idee. Soms wil je een complete historie behouden ondanks dat het op het zicht weg moet zijn. Een vlaggetje is daarvoor opzich geen ramp. Al zou ik dat dan niet letterlijk 'verwijderen' noemen in de applicatie, maar eeder iets in de trant van 'archiveren', en er dan een apart overzicht van maken, ofzo.quote:Op zaterdag 17 april 2010 17:09 schreef Apebeer het volgende:
Ik heb de halve week gewerkt aan een enorm systeem dat opeens niet meer werkte naar een overzet van < PHP 4.3 naar de nieuwste. Bleek dat de programmeur niet $_POST['naam'] gebruikte maar gewoon direct $naam(register_globals toch?) Kon ik alles gaan overzetten En natuurlijk geen controle op de userInput, en ipv een record deleten uit de database had hij verwijderd op 0 of op 1 Dus ipv deleten update hij een record
In de meeste gevallen was er geen link tussen de tabellen, en was er ook geen nut om ze te bewaren.quote:Op zaterdag 17 april 2010 18:03 schreef Intrepidity het volgende:
[..]
Dat laatste is in verband met verwijzingen vanaf andere tabellen op basis van ID niet altijd een slecht idee. Soms wil je een complete historie behouden ondanks dat het op het zicht weg moet zijn. Een vlaggetje is daarvoor opzich geen ramp. Al zou ik dat dan niet letterlijk 'verwijderen' noemen in de applicatie, maar eeder iets in de trant van 'archiveren', en er dan een apart overzicht van maken, ofzo.
Anyway, bij sommige systemen die ik voor mijn werk maak is het ook gewoon de policy dat er nevernooit wat verwijderd dient te worden en dat we gewoon een kolom 'active' op 0 zetten
ipv van notepad++ gebruik ik Zend Studio 6, maar xampp is perfect voor localhost ontwikkelomgeving.quote:Op maandag 19 april 2010 12:13 schreef Puala het volgende:
Ik gebruik xampp & notepad ++
hoe bedoel je verdergaan?quote:Op maandag 19 april 2010 12:02 schreef Joooo-pi het volgende:
Hoe kan ik het beste wat programmeren in PHP. De probeerselen die ik tot nu toe gedaan heb, heb ik als volgt gedaan. Ik heb een virtueel LAMP servertje draaien. Daar SSH ik heen met PuTTy en in de commandline schrijf ik de php bestanden met nano. Dit was even om te oefenen, maar nu wil ik er verder mee gaan.
Wat is een normale werkwijze?
draai een lokale LAMP server? en als het klaar is upload je het?quote:Op maandag 19 april 2010 16:13 schreef Joooo-pi het volgende:
Oké ik ga de tips bekijken. Het LAMP servertje blijft, maar het schrijven in nano is wat primitief.
Enige wat ik dan klote vind is dat je bij editen telkens moet copy-pasten naar de remote LAMP server.
Notepad++ heeft een plugin die lokale bestanden automagisch met die op een remote FTP-server synchroniseertquote:Op maandag 19 april 2010 16:13 schreef Joooo-pi het volgende:
Oké ik ga de tips bekijken. Het LAMP servertje blijft, maar het schrijven in nano is wat primitief.
Enige wat ik dan klote vind is dat je bij editen telkens moet copy-pasten naar de remote LAMP server.
FTP_Synchronize, wordt als het goed is standaard meegeïnstalleerd.quote:Op maandag 19 april 2010 17:42 schreef SinofEnvy het volgende:
Echt?! Dat zoek ik al een tijdje. Hoe heet die?
Nee kan niet. Ik ben dan op mijn werk op een standaard xp systeempje.quote:Op maandag 19 april 2010 16:19 schreef cablegunmaster het volgende:
[..]
draai een lokale LAMP server? en als het klaar is upload je het?
Dat lijkt me een goeie optie.quote:Op maandag 19 april 2010 17:22 schreef Trollface. het volgende:
[..]
Notepad++ heeft een plugin die lokale bestanden automagisch met die op een remote FTP-server synchroniseert
Dan via FTP met Dreamweaver verbinden en als je opslaat upload hij hem automatisch naar de serverquote:Apache/2.2.11 (Ubuntu) PHP/5.2.6-3ubuntu4.5 with Suhosin-Patch mod_ssl/2.2.11 OpenSSL/0.9.8g mod_perl/2.0.4 Perl/v5.10.0
Dreamweaverquote:Op maandag 19 april 2010 20:01 schreef Apebeer het volgende:
[..]
Dan via FTP met Dreamweaver verbinden en als je opslaat upload hij hem automatisch naar de server
Dreamweaverquote:
Waarom gebruik je dat verlepte stuk software bij Dreamweaver denk ik aan flitsende opvallende sites met veel gifjes en javascriptsquote:
Ik gebruik alleen de code functie hoorquote:Op maandag 19 april 2010 20:09 schreef Trollface. het volgende:
[..]
Waarom gebruik je dat verlepte stuk software bij Dreamweaver denk ik aan flitsende opvallende sites met veel gifjes en javascripts
Dan is het helemaal de vraag wat je met Dreamweaver moetquote:Op maandag 19 april 2010 20:18 schreef Apebeer het volgende:
[..]
Ik gebruik alleen de code functie hoor
Het werkt gewoon handigquote:Op maandag 19 april 2010 20:53 schreef Tijn het volgende:
[..]
Dan is het helemaal de vraag wat je met Dreamweaver moet
Vertrouwen op register_globals is een doodzonde.... dingen niet uit je database weggooien maar als deleted flaggen een best practise imhoquote:Op zaterdag 17 april 2010 17:09 schreef Apebeer het volgende:
Ik heb de halve week gewerkt aan een enorm systeem dat opeens niet meer werkte naar een overzet van < PHP 4.3 naar de nieuwste. Bleek dat de programmeur niet $_POST['naam'] gebruikte maar gewoon direct $naam(register_globals toch?) Kon ik alles gaan overzetten En natuurlijk geen controle op de userInput, en ipv een record deleten uit de database had hij verwijderd op 0 of op 1 Dus ipv deleten update hij een record
Zorgen dat er een lastigere code voor nodig is dan 1 t/m 100000?quote:Op maandag 19 april 2010 21:34 schreef Chandler het volgende:
Iemand ervaring met mass downloading tegen te gaan? bv lopen van id=1 t/m 100000 om zo alle bestanden van een website te downloaden?
Oke daar geef ik je gelijk in, maar ik weet zeker dat hij het niet daarvoor had gedaanquote:Op maandag 19 april 2010 21:38 schreef Xcalibur het volgende:
[..]
Vertrouwen op register_globals is een doodzonde.... dingen niet uit je database weggooien maar als deleted flaggen een best practise imho
Ik gooi nooit data weg, je wilt niet weten hoe vaak ik al de vraag heb gehad of ik het soms niet kon terughalen. Ja, en dan niet van de backup van gisteren, want sindsdien is er al zooooooooveel veranderd :L
Alleen uit koppeltabellen delete ik echt records, want dat is geen "echte" data
Random code genererenquote:Op maandag 19 april 2010 21:34 schreef Chandler het volgende:
Iemand ervaring met mass downloading tegen te gaan? bv lopen van id=1 t/m 100000 om zo alle bestanden van een website te downloaden?
Ik zou voor deze oplossing gaanquote:Op maandag 19 april 2010 22:53 schreef Trollface. het volgende:
Of je doet het wat minder random en
genereert uit de id en bv IP-adres een sha256 met een flinke salt erbij en laat dat in het downloadscript opnieuw genereren en checken tegen de opgegeven hash.
1 |
1 |
1 2 | RewriteRule ^nieuws/$ /?p=nieuws |
Hoe heet die plug-in?quote:Op maandag 19 april 2010 17:22 schreef Trollface. het volgende:
[..]
Notepad++ heeft een plugin die lokale bestanden automagisch met die op een remote FTP-server synchroniseert
Zoals al eerder gezegd, FTP_Synchronize.quote:
Ah, deze is wat netter. Tnx .quote:Op woensdag 21 april 2010 13:10 schreef Trollface. het volgende:
Je bent een '/' bij ?p=nieuws vergeten, en een $ aan het einde van ^nieuws/.
Tevens zou ik persoonlijk gaan voor:
[ code verwijderd ]
txquote:Op woensdag 21 april 2010 13:33 schreef Trollface. het volgende:
[..]
Zoals al eerder gezegd, FTP_Synchronize.
1 2 3 4 5 | $string = "balsdbweokfhwofhoufghowefbobuwfoeb http://www.youtube.com/watch?v=lolololollololol & http://www.youtube.com/watch?v=5AWbgkRpYwc"; $youtubelink = explode ('http://www.youtube.com/watch?v=', $string); $id = mb_strcut($youtubelink[1],0,11) // de Id van de youtube video ?> |
1 2 3 | preg_match_all('/(.*?)http:\/\/www\.youtube\.com\/watch\?v=([a-zA-Z0-9_-]{11})(.*?)/i', $url, $matches); ?> |
1 2 3 4 5 6 7 8 | $string = "balsdbweokfhwofhoufghowefbobuwfoeb http://www.youtube.com/watch?v=lolololollololol & http://www.youtube.com/watch?v=5AWbgkRpYwc"; preg_match_all('/v=([0-9|a-z|A-Z|_|-]+)/', $string, $matches); echo "Match A: '" . $matches[1][0] . "'<br />"; echo "Match B: '" . $matches[1][1] . "'"; ?> |
Maar je preg match klopt niet waar de kink zit kan ik zo even niet vinden maar volgens mij (.*?) in het begin al verkeerd )quote:Op donderdag 22 april 2010 20:11 schreef Trollface. het volgende:
[ code verwijderd ]
Zo extract je tenminste de video URL
Die werkt ook ben nu de bovenste aan het gebruiken met een kleine aanpassing . nu nog een for each maken en mn youtube link replace dinkie werktquote:Op donderdag 22 april 2010 20:13 schreef Pakspul het volgende:
Ik had zoiets gemaakt:
[ code verwijderd ]
Nop, .*? matcht alles maar dan in non-greedy mode.quote:Op donderdag 22 april 2010 20:28 schreef cablegunmaster het volgende:
[..]
Maar je preg match klopt niet waar de kink zit kan ik zo even niet vinden maar volgens mij (.*?) in het begin al verkeerd )
nou zonder werkt hij perfectquote:Op donderdag 22 april 2010 20:29 schreef Trollface. het volgende:
[..]
Nop, .*? matcht alles maar dan in non-greedy mode.
Je kunt de matches array gewoon in een foreach gebruiken hequote:Op donderdag 22 april 2010 20:28 schreef cablegunmaster het volgende:
[..]
Maar je preg match klopt niet waar de kink zit kan ik zo even niet vinden maar volgens mij (.*?) in het begin al verkeerd )
Voor de rest toffe functie
[..]
Die werkt ook ben nu de bovenste aan het gebruiken met een kleine aanpassing . nu nog een for each maken en mn youtube link replace dinkie werkt
youtube id in de embedded code string vervangen d.m.v. str_replacequote:Op donderdag 22 april 2010 22:34 schreef cablegunmaster het volgende:
leuk grapje, dit hele gedoe alleen nu heb ik het uit de tekst apart gehaald hoe krijg ik het weer vervangen ?
ik ga zelf nog kloten dit moet ik zelf ook kunnen denk ik danquote:Op donderdag 22 april 2010 22:44 schreef Pakspul het volgende:
[..]
youtube id in de embedded code string vervangen d.m.v. str_replace
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 | //werking $variabele = new youtube_url(); //$String is de tekst waarin de youtube url in zit en deze word vervangen met embed src code. echo $variabele->youtube_url_replace($String); class youtube_url { //11 tekens na http://www.youtube.com/watch?v= public function youtube_url_replace($url) { $string = '<object width="640" height="385"><param name="movie" value="http://www.youtube.com/v/'.$url.'"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed data-src="http://www.youtube.com/v/'.$url.'" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed></object>'; return $string; } } } $string = "Dit is de 1e youtube link http://www.youtube.com/watch?v=NC0U_zoOQKI & dit de tweede http://www.youtube.com/watch?v=5AWbgkRpYwc"; preg_match_all('/v=([0-9|a-z|A-Z|_|-]+)/', $string, $matches); preg_match_all('/http:\/\/www\.youtube\.com\/watch\?v=[a-zA-Z0-9_-]{11}/i', $string, $url); foreach ($matches[1] as $match) { $youtube[] = $ytlink->youtube_url_replace($match); } foreach($url as $youtubearray) { foreach($youtubearray as $link) { foreach ($matches[1] as $match) { $letters = str_replace($youtubearray, $youtube ,$string); } } } echo $letters; ?> |
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 | class youtube_url { //11 tekens na http://www.youtube.com/watch?v= public static function youtube_string($string) { //zoek de ID van de youtube video preg_match_all('/v=([0-9|a-z|A-Z|_|-]+)/', $string, $matches); //zoek de Link van de youtubevideo. preg_match_all('/http:\/\/www\.youtube\.com\/watch\?v=[a-zA-Z0-9_-]{11}/i', $string, $url); //haal wat erachter staat weg (Note nog verbeteren? <img class="rde_img_smiley" src="http://i.fok.nl/s/redface.gif" width="15" height="15" alt="" />) $string = preg_replace("/&feature=related/",'',$string); // voor elk youtube ID vervang de code. foreach ($matches[1] as $match) { $youtube[] = youtube_url::youtube_url_replace($match); } //uitpakken van de array. foreach($url as $youtubearray) { // voor elke gevonden Match vervangen in de tekst. foreach ($matches[1] as $match) { $output = str_replace($youtubearray, $youtube ,$string); } } return $output; } private function youtube_url_replace($url) { $string = '<object width="640" height="385"><param name="movie" value="http://www.youtube.com/v/'.$url.'"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed data-src="http://www.youtube.com/v/'.$url.'" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed></object>'; return $string; } } } ?> |
1 |
1 |
1 |
klopt al veranderdquote:Op vrijdag 23 april 2010 09:03 schreef wijsneus het volgende:
Ik zie een
[ code verwijderd ]
die geen enkel doel dient. Die kun je weglaten en onderstaande regel
[ code verwijderd ]
vervangen door:
[ code verwijderd ]
lijkt mij.
1 2 3 4 5 6 7 8 9 10 11 | class lalala { public static function test() { // take over world } } lalala::test(); ?> |
dat was eerst een idee maar lijkt me nu overbodig dus tja, nu niet meer nodig vergeten uit te halenquote:Op vrijdag 23 april 2010 15:58 schreef Pakspul het volgende:
waar haalt die trouwens de width en height op regel 32 vandaan?
Je kunt er ook een static functie van maken. Eerst een class instantie aanmaken en daarna functie aanroepen is overbodig.
[ code verwijderd ]
1 2 3 4 5 6 7 | FROM forum_topics INNER JOIN users ON ( forum_topics.auteurId = users.userid ) LEFT JOIN forum_post ON ( forum_topics.topicId = forum_post.topicId ) WHERE categoryId = '" . $SQL_id . "' |
Tip is altijd probeer het eens met phpmyadmin te controleren door de SQL daar intevoerenquote:Op zaterdag 24 april 2010 22:13 schreef wobbel het volgende:
Ik ben moe, dus ik denk dat het daarmee te maken heeft maar als ik mysql_num_rows() doe op de volgende query krijg ik er altijd "1" uit, ook als ik 0 rijen of 20 rijen heb...
Doe ik iets verkeerd?
[ code verwijderd ]
Ook geeft ie maar 1 row terug als ik hem wil uitlezen
het resultaat is een aantal. Dus je moet gewoon mysql_result gebruiken om dat aantal uit te lezen. OF group by gebruiken als je specifiek ergens op wilt tellen.quote:Op zaterdag 24 april 2010 22:13 schreef wobbel het volgende:
Ik ben moe, dus ik denk dat het daarmee te maken heeft maar als ik mysql_num_rows() doe op de volgende query krijg ik er altijd "1" uit, ook als ik 0 rijen of 20 rijen heb...
Doe ik iets verkeerd?
[ code verwijderd ]
Ook geeft ie maar 1 row terug als ik hem wil uitlezen
Group by dank uquote:Op zondag 25 april 2010 02:13 schreef Tiemie het volgende:
[..]
het resultaat is een aantal. Dus je moet gewoon mysql_result gebruiken om dat aantal uit te lezen. OF group by gebruiken als je specifiek ergens op wilt tellen.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | if ( $ziehierboven ) { actie(1); } else { actie(2); } ?> |
1 2 3 4 5 6 7 | if($niveau == 3 || $huidig_id == $opgeslagen_id) { actie(1); } else { actie(2); } ?> |
Je kunt hem wel in pseudo code schrijven, maar niet toepassen?quote:Op zondag 25 april 2010 18:45 schreef wobbel het volgende:
Oke, heb er weer eentje
Ik moet een IF statement maken maar ik kom er niet helemaal uit.
ACTIE(1); mag alleen worden geopend als:
$niveau = 3 EN/OF als $huidig_id gelijk is $opgeslagen_id
[ code verwijderd ]
Jah ik dacht dat het met extra ( ) haakjes enzo moestquote:Op zondag 25 april 2010 18:55 schreef Pakspul het volgende:
[..]
Je kunt hem wel in pseudo code schrijven, maar niet toepassen?
misschien handig: http://nl3.php.net/manual/en/language.operators.logical.php
1 2 3 | $bericht = preg_replace("#\[quote=(.+?)\](.+?)\[/quote\]#is","<table width=\"100%\" cellspacing=\"0\" cellpadding=\"0\"><tr><td width=\"2%\"> </td><td><small>Quote: <b>\\1</b></small></td></tr><tr><td width=\"3%\"> </td><td style=\"border: 1px solid #232850; background-color: #b9d9e3;\"><table><tr><td>\\2</td></tr></table></td></tr></table>",$bericht); ?> |
Daar is geen oplossing voor. Het script kan onmogelijk weten of je:quote:Op zondag 25 april 2010 20:56 schreef wobbel het volgende:
Allerlaatste voor vandaag
Ik heb een regex die [ quote=username][/ quote] omzet naar een simpel een tabelletje om zo een leesbare quote voor te schotelen.
Enige probleem is als er een ] voorkomt in de username, want gaat de quote niet goed. Dan komt namelijk het resterende deel van de username na ] bij het bericht te staan.
Regex:
[ code verwijderd ]
ofquote:[ quote=user[test]name]dit is het bericht[/ quote]
wilt, want iemand kan ook [ of ] in zijn bericht gebruiken.quote:[ quote=user[test]name]dit is het bericht[/ quote]
Dit dus.quote:Op zondag 25 april 2010 23:33 schreef mstx het volgende:
[..]
Daar is geen oplossing voor. Het script kan onmogelijk weten of je:
[..]
of
[..]
wilt, want iemand kan ook [ of ] in zijn bericht gebruiken.
gebruikersnamen niet toestaan met [] in de naam?quote:Op zondag 25 april 2010 23:33 schreef mstx het volgende:
[..]
Daar is geen oplossing voor. Het script kan onmogelijk weten of je:
[..]
of
[..]
wilt, want iemand kan ook [ of ] in zijn bericht gebruiken.
Ja, en dat is juist het probleem...ik krijg een lijst met usernames aangeleverd waarin allerlei rare tekens staan...quote:Op maandag 26 april 2010 07:53 schreef cablegunmaster het volgende:
[..]
gebruikersnamen niet toestaan met [] in de naam?
En dat is ?quote:Op maandag 26 april 2010 16:49 schreef wobbel het volgende:
[..]
Ja, en dat is juist het probleem...ik krijg een lijst met usernames aangeleverd waarin allerlei rare tekens staan...
Heb het op de fok manier opgelost
quote:
En dan? Dan zit ik alsnog met het probleem dan die regex geen ] aan kan en dan moet ik de usernames gaan filterenquote:Op maandag 26 april 2010 19:35 schreef Apebeer het volgende:
Je kan toch gewoon de username checken op een [ of een ]?
De [ en ] omzetten naar respectievelijk & #91; en & #93;quote:Op dinsdag 27 april 2010 09:40 schreef wobbel het volgende:
[..]
Gewoon met bold de username en tijd weergeven binnen in de quote
[..]
En dan? Dan zit ik alsnog met het probleem dan die regex geen ] aan kan en dan moet ik de usernames gaan filteren
Slim had ik nog niet bedachtquote:Op dinsdag 27 april 2010 09:53 schreef Intrepidity het volgende:
[..]
De [ en ] omzetten naar respectievelijk & #91; en & #93;
Dan bij weergave eerst je BB-code naar HTML renderen en dan pas (eventueel) de HTML-entities weer terug omzetten. Bij het inloggen de ingevoerde naam vergelijken met de inlognaam met teruggeconverteerde HTML-entities, en voila.
Hehe geniaalquote:Op dinsdag 27 april 2010 09:53 schreef Intrepidity het volgende:
[..]
De [ en ] omzetten naar respectievelijk & #91; en & #93;
Dan bij weergave eerst je BB-code naar HTML renderen en dan pas (eventueel) de HTML-entities weer terug omzetten. Bij het inloggen de ingevoerde naam vergelijken met de inlognaam met teruggeconverteerde HTML-entities, en voila.
1 2 3 4 5 6 7 8 9 | FROM forum_topics INNER JOIN users ON ( forum_topics.auteurId = users.userid ) LEFT JOIN forum_post ON ( forum_topics.topicId = forum_post.topicId ) WHERE categoryId = '" . $SQL_id . "' GROUP BY forum_topics.topicId ORDER BY forum_topics.status ASC, forum_post.datum ASC |
Waarom installeer je dan niet gewoon een phpBB?quote:Op dinsdag 27 april 2010 14:50 schreef wobbel het volgende:
[..]
Het is voor een forum welke 6 dagen per jaar gebruikt wordt voor 2 LAN-party's, dus heel veel moeite ga ik er dus ook niet in steken
Omdat de intergratie met ALP dan wat lastiger wordt en het kost evenveel tijd om mijn phpBB aan te passen naar alle wensen van de organisatie dat ik beter iets zelf kan makenquote:Op dinsdag 27 april 2010 14:57 schreef Tijn het volgende:
[..]
Waarom installeer je dan niet gewoon een phpBB?
Daar ben ik ook mee begonnen hoor.quote:
Dit heb ik opgelost met SORT BY MAX(forum_post.datum) DESC en dat werkt uitstekend.quote:Op dinsdag 27 april 2010 14:50 schreef wobbel het volgende:
[..]
Hehe geniaal :P
Het is voor een forum welke 6 dagen per jaar gebruikt wordt voor 2 LAN-party's, dus heel veel moeite ga ik er dus ook niet in steken ;)
Mijn volgende vraag is echter: hoe sorteer ik mijn topics op datum van laatste post? Ik heb deze SQL code nu:
[ code verwijderd ]
Het probleem hiermee is, dat hij alleen sorteert op status (belangrijkste, namelijk: sticky, open, dicht)
1 2 3 4 5 6 7 8 9 10 | FROM forum_category INNER JOIN forum_topics ON ( forum_category.idCategory = forum_topics.categoryId ) INNER JOIN users ON ( forum_topics.auteurId = users.userid ) LEFT JOIN forum_post ON ( forum_topics.topicId = forum_post.topicId ) GROUP BY forum_category.idCategory ORDER BY forum_category.Rank ASC |
inner join met een subquery moet dat kunnen oplossenquote:Op woensdag 28 april 2010 11:35 schreef wobbel het volgende:
[..]
Dit heb ik opgelost met SORT BY MAX(forum_post.datum) DESC en dat werkt uitstekend.
Volgende probleem is het forum overzicht...daar wil ik de datum en titel van de lastpost weergeven...
Dit is de code:
[ code verwijderd ]
Ook hier krijg ik de titel en datum van de 1e post in de betreffende categorie, en niet van de laatste post...
Je bedoelt niet zoiets als dit?quote:Op woensdag 28 april 2010 13:28 schreef Pakspul het volgende:
[..]
inner join met een subquery moet dat kunnen oplossen
1 2 3 4 5 6 7 8 9 10 | FROM forum_category INNER JOIN forum_topics ON ( forum_category.idCategory = forum_topics.categoryId ) INNER JOIN users ON ( forum_topics.auteurId = users.userid ) LEFT JOIN forum_post ON ( forum_topics.topicId = forum_post.topicId ) GROUP BY forum_category.idCategory ORDER BY forum_category.Rank ASC |
1 2 3 4 5 6 7 | FROM forum_category LEFT JOIN forum_topics AS LastTopic ON LastTopic.ID = ( SELECT ID FROM LastTopic ORDER BY datum DESC LIMIT 0 , 1 ) |
M'n tabeldesign duurde wel zeker 3 minuten (op m'n andere sites doe ik dat wel netjes gelukkig)quote:Op woensdag 28 april 2010 15:47 schreef Pakspul het volgende:
Volgens mij zoiets:
[ code verwijderd ]
En foei voor gebruiken van Engels en Nederlands door elkaar En meervoud en enkelvoud. Een tabel is altijd een collectie dus 'topics' spreekt voor zich, daarom hebben we in programmeerland afgesproken dat we het enkelvoud doen (zoals je al wel doet bij category)
Maar wat ze op Tweakers zeggen zit ook zeker een punt in dat je in de TopicRow een kolom opneemt waar je dit ID in opslaat, zodat je betere preformance krijgt.quote:Op woensdag 28 april 2010 16:15 schreef wobbel het volgende:
[..]
M'n tabeldesign duurde wel zeker 3 minuten (op m'n andere sites doe ik dat wel netjes gelukkig)
Code zal ik even testen!
Het scheelt idd best veel kom ik zojuist achterquote:Op woensdag 28 april 2010 16:22 schreef Pakspul het volgende:
[..]
Maar wat ze op Tweakers zeggen zit ook zeker een punt in dat je in de TopicRow een kolom opneemt waar je dit ID in opslaat, zodat je betere preformance krijgt.
Wat je zegt is dus eigenlijk ID op Joinen?quote:Op woensdag 28 april 2010 16:22 schreef Pakspul het volgende:
[..]
Maar wat ze op Tweakers zeggen zit ook zeker een punt in dat je in de TopicRow een kolom opneemt waar je dit ID in opslaat, zodat je betere preformance krijgt.
Wanneer er een reactie aan een topic wordt toegevoegd sla je van de nieuwe reactie het ID op in de forum_topic tabel en op deze kolom kun je dan ook weer een join maken, zodat je niet een subquery hoeft uit te voeren.quote:Op donderdag 29 april 2010 12:13 schreef cablegunmaster het volgende:
[..]
Wat je zegt is dus eigenlijk ID op Joinen?
ah ok handig ^^. zoiets dacht ik alquote:Op donderdag 29 april 2010 15:37 schreef Pakspul het volgende:
[..]
Wanneer er een reactie aan een topic wordt toegevoegd sla je van de nieuwe reactie het ID op in de forum_topic tabel en op deze kolom kun je dan ook weer een join maken, zodat je niet een subquery hoeft uit te voeren.
Eigenlijk mag het niet omdat je kunt 'berekenen', maar soms moet je voor preformance redenen tegen de regels in gaanquote:Op donderdag 29 april 2010 17:25 schreef cablegunmaster het volgende:
[..]
ah ok handig ^^. zoiets dacht ik al
Gastenboeken zijn echt één van de eerste dingen die je leert maken als je met PHP bezig gaat. Volgens mij staat er in elk boek, of in elke guide, handleiding of weet ik veel wat wel hoe je een gastenboek maakt. Hier door is er dus ook een overkill aan gastenboeken te vinden op internet. Met een beetje PHP kennis pas je dat ding zo aan naar eigen wens.quote:Op maandag 3 mei 2010 14:30 schreef MrNiles het volgende:
voor de website van de vereniging waar ik bij zit, ben ik op zoek naar iemand die voor mij een gastenboek kan maken. Is iemand die dit kan maken? Misschien heeft iemand iets liggen wat een beetje aangepast kan worden aan de specifieke eisen? Of is er een goed gastenboek wat ik met copy&paste kan gebruiken
Voor 400 euro bouw ik je wat moois.quote:Op maandag 3 mei 2010 14:30 schreef MrNiles het volgende:
voor de website van de vereniging waar ik bij zit, ben ik op zoek naar iemand die voor mij een gastenboek kan maken. Is iemand die dit kan maken? Misschien heeft iemand iets liggen wat een beetje aangepast kan worden aan de specifieke eisen? Of is er een goed gastenboek wat ik met copy&paste kan gebruiken
quote:
Hij kan het allicht proberenquote:
ja heel mooi,....maar ik snap d'r geen kloot vanquote:Op maandag 3 mei 2010 16:07 schreef Pakspul het volgende:
[..]
http://www.havia.net/guestbook/
Alsjeblieft, waar blijft mijn geld?
http://devzone.zend.com/article/627quote:Op dinsdag 4 mei 2010 13:38 schreef MrNiles het volgende:
[..]
ja heel mooi,....maar ik snap d'r geen kloot van
ja heel mooiquote:Op dinsdag 4 mei 2010 13:49 schreef captaintokyo het volgende:
[..]
http://devzone.zend.com/article/627
Alsjeblieft, waar blijft mijn geld?
ik ben aan het klooien met het gastenboekquote:Op maandag 3 mei 2010 16:07 schreef Pakspul het volgende:
[..]
http://www.havia.net/guestbook/
Alsjeblieft, waar blijft mijn geld?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | if ($message != '') { $message = str_replace ("\n","<br>",$message); $message = strip_tags ($message, '<br>'); $newRow = '<div class="viewGuestbook">' . ($message) . '<br>' . date('d.m.Y H:i') . ' - ' . strip_tags ($name) . '</div>'; $oldRows = join ('', file ('guestbook.txt') ); $fileName = fopen ('guestbook.txt', 'w'); fputs ($fileName, $newRow . chr(13) . chr(10) . $oldRows); fclose ($fileName); } include ("readbook.php"); ?> |
Eerst geld zien, dan krijg je antwoorden.quote:Op dinsdag 4 mei 2010 14:50 schreef MrNiles het volgende:
[..]
ik ben aan het klooien met het gastenboek
maar ik krijg niets weggeschreven in de txt file
ik heb rwx voor alle 3 de groepen aangezet dus hij zou moeten kunnen schrijven
als ik handmatig tekst in de txtfile zet dan krijg ik m wel te zien
dit is de file die denk ik het bericht weg zou moeten schrijven in de txtfile..ergens een foutje?
[ code verwijderd ]
Omdat het guestbook dat jij hem aanraadt wegschrijft naar een bestand, niet naar een database.quote:
het was resultaat 1 bij googlequote:Op woensdag 5 mei 2010 01:47 schreef captaintokyo het volgende:
[..]
Omdat het guestbook dat jij hem aanraadt wegschrijft naar een bestand, niet naar een database.
Dit dus.quote:Op dinsdag 4 mei 2010 19:14 schreef Pakspul het volgende:
[..]
Eerst geld zien, dan krijg je antwoorden.
waarom gebruik je geen mysql database?
Het zet o.a. < en > om in < en >, om HTML/javascriptinjectie tegen te gaan.quote:Op woensdag 5 mei 2010 12:59 schreef MrNiles het volgende:
en ik totaal geen mysql ken
maaruh..het is gelukt
de variabelen ($message) stonden nergens benoemd oid...
ik zag het in een wel werkende php van me die ik ergens gevonden had...
$message= htmlspecialchars($_POST["message"]); heb ik erbij gezet...
echt geen idee wat het doet....maar het werkt wel
Inderdaad, maar die zijn wel erg basic meestal.quote:Op maandag 3 mei 2010 14:33 schreef boem-dikkie het volgende:
[..]
Gastenboeken zijn echt één van de eerste dingen die je leert maken als je met PHP bezig gaat. Volgens mij staat er in elk boek, of in elke guide, handleiding of weet ik veel wat wel hoe je een gastenboek maakt. Hier door is er dus ook een overkill aan gastenboeken te vinden op internet. Met een beetje PHP kennis pas je dat ding zo aan naar eigen wens.
Pervquote:Op zaterdag 8 mei 2010 15:15 schreef Swetsenegger het volgende:
[..]
Inderdaad, maar die zijn wel erg basic meestal.
Ik vind mijn eigen gastenboek nog steeds erg geil
Je kunt het ook in ASP, JSP, ColdFusion of direct via CGI doen, en geen idee.quote:Op zaterdag 8 mei 2010 15:10 schreef godthatmadecoffee het volgende:
Hoi,
heb ik om een fotoboek te maken PHP nodig? Zijn er ook online fotoboeken te downloaden voor op je site die niet te veel reclame hebben?
exit()/die()? ob_end_flush()?quote:Op dinsdag 11 mei 2010 21:12 schreef Qunix het volgende:
Hoe heet de PHP functie die als aller laatst kan worden uitgevoerd?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | $output = "blaat"; ob_end_clean(); header('Connection: close'); ignore_user_abort(true); set_time_limit(600); ob_start(); echo $output; header('Content-Length: '.ob_get_length(), TRUE); ob_end_flush(); flush(); //hier stuff sleep(20); ?> |
En dat.quote:Op dinsdag 11 mei 2010 22:54 schreef Xcalibur het volgende:
wat is nou het voordeel ten opzichte van "echo $output"?
Nogal wat overhead hier...
http://nl3.php.net/manual(...)hutdown-function.phpquote:Op dinsdag 11 mei 2010 21:12 schreef Qunix het volgende:
Hoe heet de PHP functie die als aller laatst kan worden uitgevoerd?
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |