Weet je zeker dat je de goede link hebt aangeklikt?quote:Op dinsdag 15 augustus 2006 07:08 schreef wonko het volgende:
PHP5 Power Programming - boek met uitleg over OOP, Pear, XML, etc
The network path was not found.
Hier staan meer boeken van die schrijver maar niet diegene die aangegeven werd in de OP.
http://www.phptr.com/promotions/promotion.asp?promo=1484&redir=1&rl=1
Verrek zeg kerel...bij mij nu dus ook.quote:Op dinsdag 15 augustus 2006 07:35 schreef Light het volgende:
[..]
Weet je zeker dat je de goede link hebt aangeklikt?
Ik heb het net ook geprobeerd, en bij mij ging het wel goed.
Maar welke link heb je dan wel beklikt?quote:Op dinsdag 15 augustus 2006 09:03 schreef wonko het volgende:
[..]
Verrek zeg kerel...bij mij nu dus ook.
Tanx
Deze werkt niet?quote:Op dinsdag 15 augustus 2006 04:58 schreef Light het volgende:
PHP5 Power Programming - boek met uitleg over OOP, Pear, XML, etc
http://mcrdev.guitarist.nl/menu/test/quote:RewriteEngine On
RewriteRule ^index/(.*)/$ /index.php?page=$1
RewriteRule ^menu/(.*)/$ /menu.php?page=$1
RewriteRule ^message/(.*)/$ /messages.php?page=$1
Maar hij doet het nietquote:if(isset($_GET['page']) && $_GET['page'] == "test")
{
echo "Blaaaaaaaaaar";
}
Probeer in menu.php eens:quote:Op dinsdag 15 augustus 2006 13:43 schreef guitarist.nl het volgende:
Het probleem van het vorige topic heb ik nog steeds:
1 |
Nee, page heeft geen waarde,quote:Op dinsdag 15 augustus 2006 13:56 schreef Desdinova het volgende:
doe eens een print_r($_REQUEST); in je menu.php? heeft page een waarde?
MultiViews ?quote:Op dinsdag 15 augustus 2006 19:28 schreef JeRa het volgende:
@guitarist.nl
Heb je toevallig MultiViews (standaard) aan staan?
Waarvoor?quote:Op dinsdag 15 augustus 2006 19:31 schreef Swetsenegger het volgende:
Ow ja, ik ben wel bezig met NTML implementatie
HTML heet zoietsquote:Op dinsdag 15 augustus 2006 19:31 schreef Swetsenegger het volgende:
Ordinaire terug vind post.
Ow ja, ik ben wel bezig met NTML implementatie
NTLM? Als in NT Lan Manager?quote:Op dinsdag 15 augustus 2006 19:31 schreef Swetsenegger het volgende:
Ordinaire terug vind post.
Ow ja, ik ben wel bezig met NTML implementatie
.htaccess is wel met dubbel-s op je server neem ik aan?quote:Op dinsdag 15 augustus 2006 13:43 schreef guitarist.nl het volgende:
Het probleem van het vorige topic heb ik nog steeds:
Ik krijg de mod_rewrite niet aan de praat.
Mijn .htacces:
[..]
http://mcrdev.guitarist.nl/menu/test/
menu.php:
[..]
Maar hij doet het niet![]()
Leuk, zorg er wel voor dat als je een implementatie maakt voor publiek gebruik dat het dan potdicht zit want in NTLM implementaties zijn al gaten genoeg gemaaktquote:Op dinsdag 15 augustus 2006 22:11 schreef Swetsenegger het volgende:
Als in authenticatie op een intranet.
Ik wil de username uitlezen zoals de client is ingelogged in windows. En dat moet dus kunnen met NT Lan Manager. Maar dan heb ik weer een speciale module nodig voor apache, en mijn httpd.conf aanpassen enzo. Alleen is het allemaal redelijk matig gedocumenteert![]()
Alleen intranet.quote:Op woensdag 16 augustus 2006 08:39 schreef JeRa het volgende:
[..]
Leuk, zorg er wel voor dat als je een implementatie maakt voor publiek gebruik dat het dan potdicht zit want in NTLM implementaties zijn al gaten genoeg gemaakt
1 2 3 4 5 6 7 8 9 10 11 12 13 | for ($m=1; $m<13; $m++) { echo $m; print_r($uren); echo '<hr>'; if (in_array($m, $uren)) { echo 'joepie'; // en het vervolg ?> |
1 2 3 4 | $nm='rank'.$nr; $rangnaam=$$nm[$key]; ?> |
Lang verhaal, maar dat komt weer uit een andere functie. Ik begrijp iig wat er fout is, en heb het nu zo gedaan:quote:Op woensdag 16 augustus 2006 21:25 schreef Light het volgende:
Overigens is me niet helemaal duidelijk hoe je die array opgebouwd hebt.
1 2 3 | if (isset($uren[$m])) ?> |
quote:Op woensdag 16 augustus 2006 21:26 schreef wonderer het volgende:
ik heb een paar arrays, rank1, rank2, rank3, etc. Nu ik de array hebben met een bepaald nummer. Hoe krijg ik die te pakken? ik dacht dat
[ code verwijderd ]
werkte, maar dat doet het dus niet.
Wat doe ik fout?
1 2 3 4 | $nm='rank'.$nr; $rangnaam=${$nm}[$key]; ?> |
Zie wat Light zegt, maar beter nog kijk je naar de mogelijkheden van multidimensionale arrays. Dat zijn net zoals alle andere arrays een collectie van objecten/primitieven maar in dit geval is het een array van arrays. Je roept ze simpelweg aan door nog een set haakjes te gebruiken:quote:Op woensdag 16 augustus 2006 21:26 schreef wonderer het volgende:
ik heb een paar arrays, rank1, rank2, rank3, etc. Nu ik de array hebben met een bepaald nummer. Hoe krijg ik die te pakken? ik dacht dat
[ code verwijderd ]
werkte, maar dat doet het dus niet.
Wat doe ik fout?
1 |
Ahh, tuurlijk.quote:Op woensdag 16 augustus 2006 22:57 schreef JeRa het volgende:
[..]
Zie wat Light zegt, maar beter nog kijk je naar de mogelijkheden van multidimensionale arrays. Dat zijn net zoals alle andere arrays een collectie van objecten/primitieven maar in dit geval is het een array van arrays. Je roept ze simpelweg aan door nog een set haakjes te gebruiken:
[ code verwijderd ]
Op die manier hoef je niet meer te goochelen met de namen van variabelen
Heb je van scratch het protocol geïmplementeerd of maak je gebruik van (gedeeltes van) bestaande libraries? Wordt het een open source implementatie of blijft het intern?quote:Op donderdag 17 augustus 2006 16:16 schreef Swetsenegger het volgende:
Na een hoop gekloot herkent mijn NTLM implementatie de ingelogde user bij usernaam
Ik heb de mod_authy_sspi module gedownload en in apache opgenomen. Dat was al een hele zoektocht, want er zijn allerlei versies in omloop.quote:Op donderdag 17 augustus 2006 16:59 schreef JeRa het volgende:
[..]
Heb je van scratch het protocol geïmplementeerd of maak je gebruik van (gedeeltes van) bestaande libraries? Wordt het een open source implementatie of blijft het intern?
Doel je op mijn array?quote:Op woensdag 16 augustus 2006 22:52 schreef SuperRembo het volgende:
Ik vind die voorloopnul in de key verdacht. Dat lijkt me vragen om problemen.
Tevens tvp.
??quote:Op vrijdag 18 augustus 2006 16:35 schreef the_disheaver het volgende:
door het niet te gebruiken dus.... Geen php4 functie voor waar je wat meer voor moet doen?
Is er dan misschien een andere makkelijke manier om bij een tijd een x aantal uren af te trekken?quote:
quote:Op zondag 20 augustus 2006 18:04 schreef freiss het volgende:
SELECT COUNT(DISTINCT(datum)) FROM `tabel` ?
Nu ben ik bezig met 100 rows aanmaken, met iedere keer andere 'id' (van 1 t/m 100). Ik wil via ons CMS heel gemakkelijk deze top 100 in een keer kunnen wijzigen. Dus 100 rijen onder elkaar met invulveldjes voor:quote:tabel 'top100' met volgende rows:
id (uniek)
userid
datum
artist
titel
weken
vorigeweek
type
label
quote:<?
$query = mysql_query("SELECT * FROM top100 ORDER BY 'id' ASC");
$result = mysql_num_rows($query);
if(!$result){
echo "<tr><td colspan='6'>Geen ingave.</td></tr>";
}
else {
$i = 0;
while($object = mysql_fetch_object($query)){
$i++;
?>
<tr>
<td><? echo $i ?></td><input type="hidden" name="id<? echo $i ?>" value="<? echo $object->id ?>">
<td><input type="text" name="artist<? echo $object->id ?>" value="<? echo $object->artist ?>" size="10"></td>
<td><input type="text" name="titel<? echo $object->id ?>" value="<? echo $object->titel ?>" size="10"></td>
<td><input type="text" name="weken<? echo $object->id ?>" value="<? echo $object->weken ?>" size="2"></td>
<td>
<select name="type<? echo $object->id ?>">
<option value=""></option>
<option value="stijger" <? if($object->type == "stijger"){ ?> selected="selected" <? } ?>>stijger</option>
<option value="daler" <? if($object->type == "daler"){ ?> selected="selected" <? } ?>>daler</option>
</select>
</td>
<td><input type="text" name="label<? echo $object->id ?>" value="<? echo $object->label ?>" size="5"></td>
</tr>
<?
}
}
?>
Zou het niet veel mooier zijn om het zo te doen:quote:Op maandag 21 augustus 2006 22:29 schreef RiderXXX het volgende:
[...veel regels...]
haha wel een goeie ja, maar dan doet diegene het maar mooi opnieuw, aangezien dan alles gewoon wel opgeslagen is.. het is UPDATE en in die tekstveldjes is er een value="" met de huidige invoer wat in de DB staat opgeslagen.. dus erg veel moeite kost het niet..quote:Op maandag 21 augustus 2006 23:00 schreef SuperRembo het volgende:
[..]
Zou het niet veel mooier zijn om het zo te doen:
- laat alle regels zien, maar read-only
- op elke regel een edit knop.
- de edit knop verandert m.b.v. javascript de regel in edit veldjes.
- de wijzigingen van die regel kan je m.b.v. ajax opslaan.
Dan voorkom je ook dat iemand 100 regels voor niets heeft zitten invoeren als er iets fout gaat.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | $user = addslashes(strip_tags($_POST['Username'])); $pass = md5($_POST['Password']); $Ucheck = mysql_query("SELECT * FROM `users` WHERE `Username` = '".$user."'"); if(mysql_num_rows($Ucheck) == 1) { $check = mysql_query("SELECT * FROM `users` WHERE `Username` = '".$user."' AND `Password` = '".$pass."'"); ifif(mysql_num_rows($check) == 1) { ... } } ?> |
1 2 3 4 5 6 7 | $user = mysql_real_escape_string(trim($_POST['Username'])); $pass = md5(trim($_POST['Password'])); $check = mysql_query("SELECT * FROM `users` WHERE `Username` = '".$user."' AND `Password` = '".$pass."'"); if(mysql_num_rows($check) == 1) print "succesvol ingelogd!"; else print "Gebruikersnaam of wachtwoord incorrect!"; ?> |
zo ver was ik nog niet, en echt bang voor injections ben ik nietquote:Op dinsdag 22 augustus 2006 13:07 schreef t-x-m het volgende:
[ code verwijderd ]
Mysql_real_escape_string werkt prima tegen sql-injecties. Verder werk ik altijd even de (perongeluk) ingetypede spaties weg dmv trim
Effe on a side note, SQL injection is de term voor (vaak kwaadaardige) truukjes waarmee je query beïnvloed kan worden. Stel je hebt een veld waar je een gebruikersnaam moet invullen in een formulier, als je dit formulier submit dan wordt er door middel van een MySQL query gekeken of die gebruikersnaam voorkomt in een database. Als je deze query niet beveiligt tegen SQL injection dan kan iemand door middel van dat simpele invoerveldje je hele database beïnvloeden, of erger, deleten. En dat gebeurt op Internet hoor.quote:Op dinsdag 22 augustus 2006 13:54 schreef mschol het volgende:
[..]
zo ver was ik nog niet, en echt bang voor injections ben ik niet
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | function quote_smart($value) { // Stripslashes if (get_magic_quotes_gpc()) { $value = stripslashes($value); } // Quote if not a number or a numeric string if (!is_numeric($value)) { $value = "'" . mysql_real_escape_string($value) . "'"; } return $value; } if($_POST['action']=='login'){ if( mysql_result(mysql_query(" SELECT count(*) FROM gebruikers WHERE gebruikersnaam='".quote_smart($_POST['gebruikersnaam'])."' AND wachtwoord='".quote_smart($_POST['wachtwoord'])."' "),0,0) ) { echo 'ingelogd'; }else{ echo 'foutieve combinatie gebruikersnaam/wachtwoord'; } } ?> |
quote:Op dinsdag 22 augustus 2006 14:49 schreef ralfie het volgende:
[..]
maak gewoon een query voor de username en trek daar het wachtwoord uit. dat wachtwoord kun je dan in php controleren, en als de username fout is failed de query.
Heel simpel: niet doen. Hoe meer informatie je terug geeft, hoe makkelijker is om te hacken. Als je eerst een melding krijgt dat de gebruiker niet bestaat, en dan na een tijdje random usernames proberen krijg je de melding dat het wachtwoord niet bestaat, dan weet je dus dat de username klopt. Dan hoef je daarna alleen nog het wachtwoord te raden. Het is veiliger om alleen de melding te geven dat de gebruikersnaam of het wachtwoord niet correct is.quote:Op dinsdag 22 augustus 2006 12:27 schreef mschol het volgende:
klein vraagje:
wat is een goede manier om een username + password te controleren maar op zo'n manier dat je ook nog kan aangeven waar het fout gaat
ik zat zelf aan het volgende te denken:
[ code verwijderd ]
dit lijkt me eigenlijk niet echt efficent aangezien ik eigenlijk net zo goed alleen de 2de query hoef uit te voeren,
iemand?
dat ben ik wel met je eens (maar ja aangezien niemand er zomaar gaat komen, en de info die er staat niet echt leuk is om te bewerken mogen ze van mij best proberen..quote:Op dinsdag 22 augustus 2006 15:52 schreef SuperRembo het volgende:
[..]
Heel simpel: niet doen. Hoe meer informatie je terug geeft, hoe makkelijker is om te hacken. Als je eerst een melding krijgt dat de gebruiker niet bestaat, en dan na een tijdje random usernames proberen krijg je de melding dat het wachtwoord niet bestaat, dan weet je dus dat de username klopt. Dan hoef je daarna alleen nog het wachtwoord te raden. Het is veiliger om alleen de melding te geven dat de gebruikersnaam of het wachtwoord niet correct is.
Dus een spatie op het begin of eind van mijn wachtwoord is geen geldig teken?quote:Op dinsdag 22 augustus 2006 13:07 schreef t-x-m het volgende:
Verder werk ik altijd even de (perongeluk) ingetypede spaties weg dmv trim
En wat als een of andere grappenmaker nou in 1x bij gebruikersnaam het volgende invoerd:quote:Op dinsdag 22 augustus 2006 14:54 schreef mschol het volgende:
[..]
![]()
![]()
![]()
dat ik daar niet eerder op gekomen ben![]()
![]()
thnx in iedereval voor dit heldere licht
en ik weet wat SQL injectens zijn
en ik ben niet echt bang dat me dat overkomt simpel weg door het feit dat je maar eerst eens de url moet gaan proberen te raden(as in: Succes, lukt je nooit)
En ik trek toch niet veel volk naar me site
1 |
Lijkt me niet praktisch/logisch nee, maar je hebt gelijk--> bij wachtwoord hoeft het nietquote:Op dinsdag 22 augustus 2006 16:19 schreef JeRa het volgende:
[..]
Dus een spatie op het begin of eind van mijn wachtwoord is geen geldig teken?
Die methode werkt niet meerquote:Op dinsdag 22 augustus 2006 16:24 schreef t-x-m het volgende:
[..]
En wat als een of andere grappenmaker nou in 1x bij gebruikersnaam het volgende invoerd:
[ code verwijderd ]
Daar hoeftie geen url voor te raden, verder, een beetje sql-injector kan jouw url wel vinden hoor!
uhh waar wil hij/zij dat invoeren..quote:Op dinsdag 22 augustus 2006 16:24 schreef t-x-m het volgende:
[..]
En wat als een of andere grappenmaker nou in 1x bij gebruikersnaam het volgende invoerd:
[ code verwijderd ]
Daar hoeftie geen url voor te raden, verder, een beetje sql-injector kan jouw url wel vinden hoor!
nee, dat bedoel ik niet. wat ik wel bedoel is, ik heb ditquote:Op dinsdag 22 augustus 2006 15:30 schreef Tuvai.net het volgende:
Je kunt in MySQL queries een paar ingebouwde functies gebruiken. sum() is bijvoorbeeld voor het totaal van alle kolommen op te tellen, en je hebt ook avg() voor bijvoorbeeld het gemiddelde van alle kolommen in een tabel te berekenen. Op http://www.tizag.com/mysqlTutorial/ staan deze functies vrij goed uitgelegd.
Dus in jouw voorbeeld, als je van een hele tabel van alle records het aantal hits wil optellen, doe je gewoon het volgende:
SELECT sum(hits) FROM jouwtabel
1 2 3 4 5 6 | image_id (int) | image(blob) --------------------------------- 0 | [image] 1 | [image] --------------------------------- |
En jij gelooft echt dat niemand de webpagina in kwestie kan vinden, die wel gewoon voor iedereen toegankelijk is en op het Internet staat?quote:Op dinsdag 22 augustus 2006 16:45 schreef mschol het volgende:
[..]
uhh waar wil hij/zij dat invoeren..
dan moettie de url naar me login form weten, suc6
Het is een combinatie van weten waar de pagina staat, kwaad willen doen, weten hoe je kwaad moet doen, en weten welke tabelnamen er zijn, wil je uberhaubt ergens kunnen komen. Voor sommige dingen kan je dat risico maaaakkkelijk nemen.quote:Op dinsdag 22 augustus 2006 16:55 schreef Tuvai.net het volgende:
[..]
En jij gelooft echt dat niemand de webpagina in kwestie kan vinden, die wel gewoon voor iedereen toegankelijk is en op het Internet staat?![]()
Hier is een tip: d'r zijn meer methodes voor het vinden van webpagina's, wachtwoorden, e.d. dan raden.![]()
google is your friend ??quote:Op dinsdag 22 augustus 2006 16:55 schreef Tuvai.net het volgende:
[..]
En jij gelooft echt dat niemand de webpagina in kwestie kan vinden, die wel gewoon voor iedereen toegankelijk is en op het Internet staat?![]()
Hier is een tip: d'r zijn meer methodes voor het vinden van webpagina's, wachtwoorden, e.d. dan raden.![]()
1 2 3 4 | echo date("D d M Y H:i:s", strtotime("Mon, 21 Aug 2006 01:00:08 -0400e")); // ik krijg dus: Thu 01 Jan 1970 00:59:59 ?> |
de e op het eind erachter weghalen, doet ie het wel (bij mij dan, php4 thuis)quote:Op woensdag 23 augustus 2006 15:04 schreef Mr_Zoidberg het volgende:
Kan iemand me vertertellen waarom dit niet op mijn server werkt??
<?php
echo date("D d M Y H:i:s", strtotime("Mon, 21 Aug 2006 01:00:08 -0400e"));
// ik krijg dus: Thu 01 Jan 1970 00:59:59
?>
Die server draait op php4, thuis op php5 werkt het prima. Volgens php.net zou het ook prima moeten werken op php4
Kan iemand me dit uitleggen?
Als ik de "e" weg laat, dan geeft ie idd een datum, maar die is niet goed. Het goede antwoord is namelijk: Sun 20 Aug 2006 22:00:08.quote:Op woensdag 23 augustus 2006 15:09 schreef ralfie het volgende:
[..]
de e op het eind erachter weghalen, doet ie het wel (bij mij dan, php4 thuis)
php5 behandeld tijdzones op een totaal andere manier als php4, je zult dus wat aan moeten passen
[CSS] voor dummies - Deel 5quote:Op woensdag 23 augustus 2006 17:03 schreef qu63 het volgende:
waarom werkt dit wel in FF en niet in IE?
quote:Op donderdag 24 augustus 2006 09:28 schreef ronvonflon het volgende:
Ik ben waarschijnlijk heel omslachtig aan het doen, hopelijk kan iemand mij een stukje verder helpen. Wat ik wilis het volgende:
op de pagina frontpage.php wil ik het laatste nieuwsbericht weergeven. Alle nieuwsberichten staan
in dezelfde tabel en in die tabel staan verder ook geen andere berichten.
Het SELECT MAX(id) FROM $table werkt hiervoor dus prima.
Dit heb ik ook werkend gekregen. Nu wil ik alleen verderop in de pagina links en titels van de 5
voorgaande berichten weergeven.
Ik krijg dit alleen voor elkaar door 5 extra $result, $links en $id te maken. dus result1 =,
result2= etc etc
dit lijkt me makkelijker te moeten kunnen, allen kan ik niet echt vinden waar.
Misschien is de code die er nu staat ook al te omslachtig. ik heb namelijk wat dingen aan elkaar
lopen breien.
code tot nu toe:
$id_max = mysql_result(mysql_query("SELECT MAX(id) FROM $table"),0,0);
$result = mysql_query("SELECT * FROM $table WHERE id=$id_max",$db);
$links = mysql_fetch_array($result);
$TITEL = $links["TITEL"];
$BODY = $links["BODY"];
$BGPHOTO = $links["BGPHOTO"];
$THUMBPHOTO = $links["THUMBPHOTO"];
$MARKPHOTO = $links["MARKPHOTO"];
$PHOTO = $links["PHOTO"];
$MARKVIDEO = $links["MARKVIDEO"];
$VIDEO = $links["VIDEO"];
$MARKNEWS = $links["MARKNEWS"];
kan iemand me een beetje op weg helpen?
1 2 3 4 5 6 7 8 9 10 11 12 13 | $berichten=mysql_query("SELECT * FROM $table ORDER BY id DESC LIMIT 5",$db); $num=1; while($bericht=mysql_fetch_array($berichten)){ if($num==1){ $grootbericht="Bericht met onder andere $bericht[titel], $bericht[body], $bericht[bgphoto], etc"; }else{ $kleineberichten.="$bericht[titel]<br />"; } $num++; } echo $grootbericht.'<br />'.$kleineberichten; ?> |
Ik zie nergens $table gedefinieëerd worden.quote:Op donderdag 24 augustus 2006 10:33 schreef ronvonflon het volgende:
ik heb geen idee wat ik fout doe, maar ik krijg geen output:
<?php
include("admin/include/config.php");
$db = mysql_connect("$dbserver", "$dbuser", "$dbpass");
mysql_select_db("$dbname",$db);
$TITEL = $bericht["TITEL"];
$BODY = $bericht["BODY"];
$BGPHOTO = $bericht["BGPHOTO"];
$THUMBPHOTO = $bericht["THUMBPHOTO"];
$MARKPHOTO = $bericht["MARKPHOTO"];
$PHOTO = $bericht["PHOTO"];
$MARKVIDEO = $bericht["MARKVIDEO"];
$VIDEO = $bericht["VIDEO"];
$MARKNEWS = $bericht["MARKNEWS"];
$berichten=mysql_query("SELECT * FROM $table ORDER BY id DESC LIMIT 5",$db); $num=1;
while($bericht=mysql_fetch_array($berichten)){
if($num==1){
$grootbericht="Bericht met onder andere $TITEL, $BODY";
}else{
$kleineberichten.="$bericht[titel]<br />";
}
$num++;
}
echo $grootbericht.'<br />'.$kleineberichten
?>
1 2 3 4 5 6 7 | $query_bonuscount = "SELECT seedbonus FROM users WHERE id='".$CURUSER['uid']."'"; mysql_query($query_bonuscount) or die(mysql_error()); $newseedbonus = $query_bonuscount - $COSTSCRIPT_UPLOAD; $query_update = "UPDATE users SET seedbonus='$newseedbonus' WHERE id='".$CURUSER['uid']."'"; mysql_query($query_update) or die(mysql_error()); ?> |
1 2 3 4 | $query_update = "UPDATE users SET seedbonus = seedbonus - ".$COSTSCRIPT_UPLOAD." WHERE id='".$CURUSER['uid']."'"; mysql_query($query_update) or die(mysql_error()); ?> |
Heb je $COSTSCRIPT_UPLOAD als string gedefineerd, ipv als integer?quote:Op donderdag 24 augustus 2006 17:16 schreef dujour het volgende:
idd dat zie ik nu ook alleen krijg nog steeds - 5
1 2 3 4 | $COSTSCRIPT_UPLOAD = "5"; // string $COSTSCRIPT_UPLOAD = 5; // integer ?> |
1 2 3 | $newseedbonus = $query_bonuscount - $COSTSCRIPT_UPLOAD; ?> |
Zie mijn bericht:quote:Op donderdag 24 augustus 2006 19:43 schreef JeRa het volgende:
[ code verwijderd ]
Ho eens even, hier gaat het ernstig fout. Wat zit er precies in $query_bonuscount? Juist, de query (string) zelf.
1 2 3 4 5 | php $query_update = "UPDATE users SET seedbonus = seedbonus - ".$COSTSCRIPT_UPLOAD." WHERE id='".$CURUSER['uid']."'"; mysql_query($query_update) or die(mysql_error()); ?> |
Ik zie geen bericht dat hij jouw voorbeeld ook daadwerkelijk gebruikt heeftquote:Op donderdag 24 augustus 2006 20:23 schreef Piles het volgende:
[..]
Zie mijn bericht:
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | $sql = "SELECT * FROM nieuws"; $result = mysql_query($sql) or die("fout bij uitvoeren query"); if (!$result) { echo 'Could not run query: ' . mysql_error(); exit; } $row = mysql_fetch_row($result); echo "<h2>$row[2]</h2>"; //kop echo "<h3>$row[1]</h3>"; // de datum echo "<p>$row[3]</p>"; //inhoud van bericht ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | $sql = "SELECT * FROM nieuws"; $result = mysql_query($sql) or die("fout bij uitvoeren query"); if (!$result) { echo 'Could not run query: ' . mysql_error(); exit; } while ($row= mysql_fetch_row($result)) { foreach ($row as $value) { echo "<h2>$value[2]</h2>"; //kop echo "<h3>$value[1]</h3>"; // de datum echo "<p>$value[3]</p>"; //inhoud van bericht } } ?> |
1 |
1 2 3 4 5 | echo "<h2>". $row[2] ."</h2>"; //kop echo "<h3>". $row[1] ."</h3>"; // de datum echo "<p>". $row[3] ."</p>"; //inhoud van bericht } |
Dan haal je alleen de celnamen op. Normaal gesproken krijg je dubbele waarden, zoals dit:quote:Op vrijdag 25 augustus 2006 19:06 schreef super-muffin het volgende:
Dat werkt wel inderdaad.
Wat is het voordeel van mysql_fetch_assoc?
1 2 3 4 5 6 | [0] => waarde1 ["cel_id"] => waarde1 [1] => waarde2 ["cel_titel"] => waarde2 } |
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 | <form enctype="multipart/form-data" action="csv.php?action=csv" method="POST"> <!-- MAX_FILE_SIZE must precede the file input field --> <input type="hidden" name="MAX_FILE_SIZE" value="300000" /> <!-- Name of input element determines name in $_FILES array --> Send this file: <input name="userfile" type="file" /> <input type="hidden" name="status" value="upload" /> <input type="submit" value="Send File" /> </form> <?php if ($_FILES['userfile']['type'] != "text/comma-separated-values") { print "Onjuiste bestandstype"; print_r($_FILES); $i = 2; break 1; } $uploaddir = 'C:/Apache Group/Apache2/htdocs/upload/'; $uploadfile = $uploaddir . basename($_FILES['userfile']['name']); if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { echo "File is valid, and was successfully uploaded.\n"; } else { echo "Possible file upload attack!\n"; break 1; } ?> |
zonder de pagina te verversen kom je dan uit op de techniek achter ajax (geen nidee of deze het kan..)quote:Op zondag 27 augustus 2006 02:42 schreef Qunix het volgende:
Waar heb je dat vandaan?
Iemand een andere dat beetje makkelijker is? Ik heb dus een prive gedeelte en dat is een soort desktop, zeg maar... Nu wil ik daar een klein invul veld hebben waar ik daar een adres kan opgeven van een bestand. En als ik op de submit klik dan krijg ik een melding dat het goed gegaan is. Hij moet dan dat bestand uploaden in een map. Meer niet.
1 2 3 4 5 6 7 8 9 | echo "<head>"; echo "<title>My Title</title>"; echo "</head>"; echo "<script>"; echo "function is myFunction(){"; echo "alert('hoi');"; etc.... |
1 |
leg die eens uitquote:
gooi die form op een pagina. Gooi het scrpt zonder de if-functie of het een CSV file is ergens. in een apart bestand, of in het zelfde. wijzig het pad waar die bestanden heen moeten. nog makkelijkerquote:Op zondag 27 augustus 2006 02:42 schreef Qunix het volgende:
Waar heb je dat vandaan?
Iemand een andere dat beetje makkelijker is? Ik heb dus een prive gedeelte en dat is een soort desktop, zeg maar... Nu wil ik daar een klein invul veld hebben waar ik daar een adres kan opgeven van een bestand. En als ik op de submit klik dan krijg ik een melding dat het goed gegaan is. Hij moet dan dat bestand uploaden in een map. Meer niet.
Dat hoeft ook nietquote:Op zondag 27 augustus 2006 09:00 schreef mschol het volgende:
[..]
zonder de pagina te verversen kom je dan uit op de techniek achter ajax (geen nidee of deze het kan..)
Bedankt, hij doet hetquote:Op zondag 27 augustus 2006 16:31 schreef the_disheaver het volgende:
[..]
gooi die form op een pagina. Gooi het scrpt zonder de if-functie of het een CSV file is ergens. in een apart bestand, of in het zelfde. wijzig het pad waar die bestanden heen moeten. nog makkelijker
ik neem aan dat je zelf wel om de beveiliging denkt, dwv dat niet iedereen zomaar iets kan uploaden.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | $sql = "SELECT * FROM bookmarks GROUP BY categorie"; $result = mysql_query($sql) or die("fout bij uitvoeren query"); while ($row = mysql_fetch_array($result)) { echo "<h2>".$row[2] ."</h2>\n"; //categorie echo "\t<ul>\n"; echo "\t\t<li><a href=\"$row[0]\">$row[1]</a></li>\n"; //hyperlink echo "\t</ul>\n\n"; } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | while ($row = $x?$x:mysql_fetch_array($result)) { $x=false; echo "<h2>".$row[2] ."</h2>\n"; //categorie echo "\t<ul>\n"; echo "\t\t<li><a href=\"$row[0]\">$row[1]</a></li>\n"; //hyperlink while ($refs = mysql_fetch_array($result)) { if ( $row[2]!=$refs[2]) { $x=$refs; break; } echo "\t\t<li><a href=\"$refs[0]\">$refs[1]</a></li>\n"; //hyperlink } echo "\t</ul>\n\n"; } ?> |
1 2 | category_name |
1 2 3 | url category_id |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | $category = mysql_query("SELECT * FROM tabel_1;"); while ($row = mysql_fetch_assoc($category)) { $category_id = $row["category_id"]; $category_name = $row["category_name"]; echo("<h2>{$category_name}</h2>"); echo("<ul>"); $bookmark = mysql_query("SELECT * FROM tabel_2 WHERE category_id = '{$category_id}';"); while($wor = mysql_fetch_assoc($bookmark)) { $url = $wor["url"]; $name = $wor["name"]; echo("<li> <a href=\"{$url}\"> {$name} </a> </li>"); } echo("</ul>"); } ?> |
maar je (ik) snapt er ook niets vanquote:Op zondag 27 augustus 2006 19:48 schreef ralfie het volgende:
of zoiets:
[ code verwijderd ]
hoef je niks aan te passen
Via een boolean zorgt hij er voor dat de categorie maar 1 keer op het scherm wordt gezet, terwijl toch alle bookmarks verschijnen.quote:Op zondag 27 augustus 2006 19:52 schreef the_disheaver het volgende:
[..]
maar je (ik) snapt er ook niets van
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | function intro ($inhoud, $einde, $max) { $lengte = strlen($inhoud); if ($lengte < $max) { return opmaak($inhoud); } else { preg_match('/(.{' . $max . '}.*?)\b/msi', $inhoud, $matches); return opmaak($matches[1] . $einde); } } ?> |
ehh, ja, er moet wel een spatie liggen na $max, anders werkt het niet neequote:Op maandag 28 augustus 2006 11:21 schreef Piles het volgende:
Toch nog niet helemaal goed
Er moet nu een spatie op $max liggen, anders krijg ik alleen maar $einde terug?
Geniaalquote:Op maandag 28 augustus 2006 11:25 schreef ralfie het volgende:
ehh, ja, er moet wel een spatie liggen na $max, anders werkt het niet nee
ehh, douw er dan gewoon een spatie achter, als in:
dat lijkt me eerlijk gezegd omslachtigquote:Op maandag 28 augustus 2006 12:13 schreef Roönaän het volgende:
$string = substr($string, 0, strlen($string)-3).'***';
-r-
substr($string, -3, '***') wordt hem sowieso niet. De derde parameter van substr is [length]quote:Op maandag 28 augustus 2006 12:17 schreef Desdinova het volgende:
[..]
dat lijkt me eerlijk gezegd omslachtig
dat zou kunnenquote:Op maandag 28 augustus 2006 12:20 schreef Roönaän het volgende:
[..]
substr($string, -3, '***') wordt hem sowieso niet. De derde parameter van substr is [length]
Alternatief is
$string = substr_replace($string, '***', -3);
-r-
mod_rewrite ?quote:Op maandag 28 augustus 2006 17:05 schreef ToBe het volgende:
beetje offtopic, maar ik weet zeker dat er hier mensen zijn die weten hoe ik dit moet tackelen:
Ik ben bezig met het opzetten van een LAMP server en alles gaat goed. Echter heb ik nog 1 irritant ding:
Als ik www.testsite.nl doe, word ik doorgelinkt naar www.testsite.nl/index.php.
Ik wil die index.php niet in de url hebben staan. Hoe heet die optie in apache ook alweer om te zorgen dat je alleen maar www.testsite.nl houdt?
Met Javascript:quote:Op maandag 28 augustus 2006 18:02 schreef splendor het volgende:
Even een vraagje met betrekking tot css/html (kon het topic wat daar over gaat even niet vinden dus vandaar maar even hier).
Ik heb op mijn website een chatbox gemaakt van een div met een overflow=scroll, oftewel een vierkantje van 300pixels breed en 300pixels hoog en daar komen netjes scrollbalken. Beetje alternatief voor een iframe zeg maar.
Maar nu komt het, ik wil dat hij de onderste regels als eerste laat zien.. op dit moment staan er bijvoorbeeld 100 regels in en moet ik naar beneden scrollen. Maar omdat het om een chatbox gaat wil ik hetzelfde idee krijgen als op IRC, hij laat de onderste regels zien en je moet omhoog(terug) scrollen om de rest te zien.
Hoe is dit mogelijk in css? Of eventueel javascript mag ook.
<a name=""> is niet echt een optie omdat dan de hele pagina verspringt en ik wil dat het alleen in die div gebeurt (als het al mogelijk is daarmee).
bvd.
quote:Op maandag 28 augustus 2006 18:31 schreef Tuvai.net het volgende:
[..]
Met Javascript:
<script type="text/javascript">
var TestDiv = document.getElementById("jouwDiv");
TestDiv.scrollTop = TestDiv.scrollHeight;
</script>
Onder jouw <div> tag zetten.
quote:Op maandag 28 augustus 2006 18:02 schreef splendor het volgende:
Even een vraagje met betrekking tot css/html (kon het topic wat daar over gaat even niet vinden dus vandaar maar even hier).
Ik heb op mijn website een chatbox gemaakt van een div met een overflow=scroll, oftewel een vierkantje van 300pixels breed en 300pixels hoog en daar komen netjes scrollbalken. Beetje alternatief voor een iframe zeg maar.
Maar nu komt het, ik wil dat hij de onderste regels als eerste laat zien.. op dit moment staan er bijvoorbeeld 100 regels in en moet ik naar beneden scrollen. Maar omdat het om een chatbox gaat wil ik hetzelfde idee krijgen als op IRC, hij laat de onderste regels zien en je moet omhoog(terug) scrollen om de rest te zien.
Hoe is dit mogelijk in css? Of eventueel javascript mag ook.
<a name=""> is niet echt een optie omdat dan de hele pagina verspringt en ik wil dat het alleen in die div gebeurt (als het al mogelijk is daarmee).
bvd.
1 |
Zoiets?quote:Op dinsdag 29 augustus 2006 08:55 schreef mschol het volgende:
klein vraagje:
hoe wordt op fok het gimmideld aantal posts berekend (in je profiel pagina)?
ik kwam zelf namelijk uit op 13,8 posts per dag.. terwijl hier 15 posts per dag staan...
1 |
De left join met IS NULL had ik al geprobeerd maar die doet het niet. En het wordt een vrij grote NOT IN op een gegeven moment. Ik wil het dus eigenlijk toch met 1 query doen. Ik zoek nog wel even verder.quote:Op dinsdag 29 augustus 2006 09:56 schreef Roönaän het volgende:
Je kan het in twee stappen doen, afhankelijk van het aantal records in tabel2. Alle id's vragen en dan een NOT IN(id1,id2,id3,id4). Een Left join met IS NULL is denk ik minder efficient, maar ook wel een optie.
waarom delen door 86400?quote:Op dinsdag 29 augustus 2006 09:22 schreef Nevermind het volgende:
[..]
Zoiets?
[ code verwijderd ]
Ik weet ook niet waarom het niet nauwkeurig is.
60*60*24 = 86400 ? aantal secondes in een dagquote:
quote:Op dinsdag 29 augustus 2006 15:12 schreef the_disheaver het volgende:
[..]
60*60*24 = 86400 ? aantal secondes in een dag
en posts / ((mktime van nu min de mktime van registratiedatum) / 60*60*24)? Ik weet de precieze code niet zo snel uit mijn hoofd maar t gaat even om het schetsen van het ideequote:Op dinsdag 29 augustus 2006 09:22 schreef Nevermind het volgende:
[..]
Zoiets?
[ code verwijderd ]
Ik weet ook niet waarom het niet nauwkeurig is.
dus een afgerond gemiddelde met een minimum van 1?quote:Op dinsdag 29 augustus 2006 16:08 schreef Light het volgende:
Bij die posts per dag zit nog ergens een constructie dat als je 1 post hebt gezet, ooit, dat het aantal posts per dag dan 1 is. Ook als je al 10 jaar geregistreerd bent.
Zoietsquote:Op dinsdag 29 augustus 2006 16:11 schreef Desdinova het volgende:
[..]
dus een afgerond gemiddelde met een minimum van 1?
Of:quote:Op dinsdag 29 augustus 2006 16:33 schreef Swetsenegger het volgende:
misschien gewoon een ceil afronding.
1 2 3 4 | if ($gemiddelde == 0) $gemiddelde = 1; ?> |
ga ik naar mijn phpadmin en zet defeult style op 1,quote:phpBB : Critical Error
Could not open F1 subsilver template config file
DEBUG MODE
Line : 454
File : functions.php
quote:Op dinsdag 29 augustus 2006 16:42 schreef Light het volgende:
[..]
Nee, want als je nooit gepost hebt (0 posts) dan is je gemiddelde ook 0 posts per dag.
1 2 3 4 5 | php if ($gemiddelde == 0 && $totalposts != 0) $gemiddelde = 1; ?> |
check die functie van swets, daar heb je jouw deeltje niet meer voor nodigquote:
quote:Op dinsdag 29 augustus 2006 19:24 schreef Desdinova het volgende:
[..]
check die functie van swets, daar heb je jouw deeltje niet meer voor nodig
neej! Zo krijg je het aantal dagen per post!quote:Op dinsdag 29 augustus 2006 16:00 schreef Desdinova het volgende:
[..]
en posts / ((mktime van nu min de mktime van registratiedatum) / 60*60*24)? Ik weet de precieze code niet zo snel uit mijn hoofd maar t gaat even om het schetsen van het ideeof komt dit op hetzelfde uit?
![]()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 'a','A','1','b','B','2','c','C','d', 'D','e','E','f','F','g','G','h','H', 'i','I','j','J','0','k','K','#','l','L', '%','m','M','@','n','N','!','o','O','$', 'p','P','¤','q','Q','^','r','R','s','S','t', 'T','u','U','v','V','w','W','x','X','y','Y','z','Z'); $i=0; while($i<=6) { $phrase_login = array_rand($arr); $phrase_login1 = $arr[$phrase_login]; $i++; } |
1 2 3 | en $phrase_login1 += $arr[$phrase_login] |
1 |
quote:Op woensdag 30 augustus 2006 15:33 schreef freiss het volgende:
Wat wil je nou eigenlijk wat er gebeurt met die code? Als ik zo je edit zie, moet je waarschijnlijk
[ code verwijderd ]
gebruiken
Omdat . de stringconcatenatie doet en + het optellen van getallen.quote:Op woensdag 30 augustus 2006 15:41 schreef mschol het volgende:
[..]
wat ik wil is gewoon dat ik in $phrase_login1 6 random items uit de array $arr krijg (deze string wil ik namelijk ergens anders voor gebruiken)
en die .= werkt idd
ik kan alleen geen duidelijke uitleg vinden hoe die operators precies werken (op php.net laten ze dat eff weg..)
waarom werkt .= wel en += niet?
http://nl3.php.net/manual/en/language.operators.string.phpquote:Op woensdag 30 augustus 2006 15:41 schreef mschol het volgende:
ik kan alleen geen duidelijke uitleg vinden hoe die operators precies werken (op php.net laten ze dat eff weg..)
quote:Op woensdag 30 augustus 2006 21:45 schreef Swetsenegger het volgende:
Hoi,
Hoe kan ik ook alweer eenvoudig uitvinden of een getal negatief is?
1 2 3 | ... } |
quote:Op woensdag 30 augustus 2006 21:45 schreef Swetsenegger het volgende:
Hoi,
Hoe kan ik ook alweer eenvoudig uitvinden of een getal negatief is?
1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | function cleanup($string) { $string = trim($string); $string = htmlentities($string, ENT_QUOTES, 'utf-8'); $string = utf8_encode($string); if (get_magic_quotes_gpc()) $string = stripslashes($string); $string = mysql_real_escape_string($string); return $string; } function cleanup_return($string) { if (!get_magic_quotes_gpc()) $string = stripslashes($string); $string = utf8_decode($string); return $string; } ?> |
1 2 3 4 5 | $string = cleanup($_GET['string']); // en dan in de database // haal iets uit de database en zet in $list echo cleanup_return($list['string']); ?> |
Helaas, werkt ook niet. Het is mss een beter idee om het pas door een functie te gooien als het echt naar de database gaat, en dat ik anders gewoon $_POST echo. Of is dat te onveilig?quote:Op donderdag 31 augustus 2006 23:37 schreef Tuvai.net het volgende:
Nog een extra stripslashes() voor de gevallen waarin je niet naar de DB schrijft?
Ja, je hebt dan kans op XSS (cross site scripting) bijvoorbeeld.quote:Op vrijdag 1 september 2006 11:09 schreef Piles het volgende:
Helaas, werkt ook niet. Het is mss een beter idee om het pas door een functie te gooien als het echt naar de database gaat, en dat ik anders gewoon $_POST echo. Of is dat te onveilig?
Dat heb ik nu toch ook?quote:Op vrijdag 1 september 2006 11:13 schreef CraZaay het volgende:
Enkel mysql_real_escape_string() gebruiken? En gewoon zorgen dat je encodings goed zijn, zowel van je scripts als van je database. Dan gaat het er gewoon als UTF-8 in en uit.
1 |
1 2 | test |
Daar was ik al bang voorquote:Op vrijdag 1 september 2006 11:14 schreef CraZaay het volgende:
[..]
Ja, je hebt dan kans op XSS (cross site scripting) 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 | function cleanup($string) { $string = htmlentities($string, ENT_QUOTES, 'utf-8'); $string = utf8_encode($string); if (!get_magic_quotes_gpc()) $string = mysql_real_escape_string($string); return $string; } function cleanup_return($string) { $string = stripslashes($string); $string = utf8_decode($string); return $string; } function cleanup_bewerk($string) { $string = cleanup_return($string); return $string; } ?> |
Heb je die string met \r\n toevallig binnen enkele quotes staan ipv dubbele? PHP moet de inhoud van die string namelijk wel parsen (en daarom moet het dus tussen dubbele quotes).quote:Op vrijdag 1 september 2006 11:18 schreef Piles het volgende:
Als output krijg ik nu bijvoorbeeld:
[ code verwijderd ]
Inmiddels is het opgelost, zie mijn vorige berichtquote:Op vrijdag 1 september 2006 12:52 schreef CraZaay het volgende:
[..]
Heb je die string met \r\n toevallig binnen enkele quotes staan ipv dubbele? PHP moet de inhoud van die string namelijk wel parsen (en daarom moet het dus tussen dubbele quotes).
1 2 3 4 5 6 7 8 9 10 11 12 | $test['hoi'] = "blaat"; switch (TRUE) { case(isset($test['hoi'])): echo "Hoi!<br>"; case (!empty($test['doei']): echo "Doei!"; } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <cfhttpparam type = "FormField" name = "xml_file" value = "#ConversieXml#"> <cfhttpparam type = "FormField" name = "fa" value = "download_image_from_web"> <cfhttpparam type = "FormField" name = "CFID" value = "#Session.sessionID#"> </cfhttp> <cfset NewXmlContent=cfhttp.FileContent> |
Dan moet je niet deze switch gebruiken... tenzij je een case voor die 'én' situatie maakt.quote:Op vrijdag 1 september 2006 14:32 schreef Hmail het volgende:
Het gebeurt namelijk regelmatig in mijn applicatie dat én $test['hoi'], én $test['doei'] gebruikt worden.. Dus dat moet ik niet hebben..
Je bedoelt gewoon een formulier in HTML?quote:Op vrijdag 1 september 2006 15:45 schreef Skorpija het volgende:
Weet iemand waar ik kan vinden hoe ik serverside een form kan versturen met velden.
En hoe ik dan het antwoord kan uitlezen.
In coldfusion gaat dat zoals:
[ code verwijderd ]
1 2 3 4 5 6 7 8 | <input name="tekstveld" type="text" /> <input name="tekstveld_twee" type="text" /> <input type="submit" value="Invoeren" /> </form> |
Heb je niets aan array_push() en in_array()?quote:Op vrijdag 1 september 2006 13:57 schreef Hmail het volgende:
Ik kom er maar niet uit... Volgens mij is het doodsimpel wat ik wil, maar ik kan het zo 1 2 3 maar niet opgelost krijgen...
Ik heb een array. Deze wil ik evalueren. Dus controleren of een bepaalde waarde gezet is (met isset($array['waarde']), en zo ja: een bepaalde actie uitvoeren. Nu kan ik dat met IF doen, maar dat schiet niet op, het zijn er te veel hiervoor. Dus wilde ik het met een switch-case doen. Maar....
[ code verwijderd ]
Dit geeft altijd beide waarden als true aan... Terwijl $test['doei'] niet eens bestaat, laat staan dat er iets in staat... Wat doe ik verkeerd?
Met deze class b.v. http://scripts.incutio.com/httpclient/index.phpquote:Op vrijdag 1 september 2006 15:45 schreef Skorpija het volgende:
Weet iemand waar ik kan vinden hoe ik serverside een form kan versturen met velden.
En hoe ik dan het antwoord kan uitlezen.
In coldfusion gaat dat zoals:
[ code verwijderd ]
1 |
Het staat hier uitgelegd: http://gathering.tweakers.net/forum/list_messages/1133525quote:Op vrijdag 1 september 2006 19:59 schreef Piles het volgende:
Ik heb de volgende tabel:
id datum link
1 31-08-2006 iets.jpg
1 23-08-2006 iets.jpg
1 01-08-2006 iets.jpg
2 02-08-2006 iets.jpg
2 01-08-2006 iets.jpg
Ik gebruik de volgende query om de laatste foto's bij elk id te laten zien (dus 1 foto per id):
[ code verwijderd ]
Maar nu krijg ik de oudste eerst![]()
Ikke niet snappe![]()
1 2 3 4 | FROM foto GROUP BY id ORDER BY maxdatum DESC |
Jep (als DATETIME, als dat nog uitmaakt).quote:Op vrijdag 1 september 2006 21:18 schreef CraZaay het volgende:
Sidenote: je hebt je datum er als DATE in staan neem ik aan, en dus jaar-maand-dag, ipv jouw dag-maand-jaar?
Hier gaat het fout:quote:Op zaterdag 2 september 2006 00:29 schreef the_disheaver het volgende:
code misschien handig?![]()
weet ik anders veel, misschien explode je wel op spaties ofzo..
1 2 3 4 5 | *gegevens uit de db halen en verwerken* <td class="table_cell"><?php print "<a href = ".$Rij['download'].">Download</a>";?></td> |
1 |
1 |
In PHP is een punt de operator voor concatenatie (optelling) van twee strings. Voorbeeldje:quote:Op zaterdag 2 september 2006 01:54 schreef warezguy05 het volgende:
bij deze een echte n00b vraag;
ben nu een videocursusje aan t volgen van php (via lynda.com) maar ik zie dus af en toe variablen voorkomen met een punt erachter
voorbeeld:
$color maar zo heel af en toe weer: $color.
wat heeft die punt voor functie?
1 2 3 4 5 6 | $string2 = 'def'; $output = $string1 . ' ' . $string2; echo $output; // abc def |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | //voer de MySQL query uit $result = mysql_query('SELECT * FROM leden'); echo "<table border='1'>"; while($row = mysql_fetch_array($result)) { echo "<tr>\n"; echo "<td>$row[id]</td> <td>$row[naam]</td> <td><a href='$server?id=$row[id]'>verwijder</a></td>\n"; echo "</tr>\n"; } echo "</table>"; //dit stond eerst in een ander document if(isset($_GET['id']) ) { mysql_query('DELETE FROM leden WHERE id='.$_GET['id']); } ?> |
uh een submit gebruiken (m.b.v. javascript je link dus een formulier laten submitten met een veld dat het id als waarde heeft) en dan checken of je een post waarde hebt?quote:Op zaterdag 2 september 2006 11:28 schreef super-muffin het volgende:
oke dat was makkelijk
en dat voor mijn edit? Hoe verhelp ik dat?
1 2 3 | mysql_query('DELETE FROM leden WHERE id='.$_GET['id']); } |
Tja, als je zo bang bent om het verkeerde te deleten, kan je beter geen delete optie inbouwenquote:Op zaterdag 2 september 2006 12:20 schreef Knut het volgende:
Ow, en het is beter gebruik om een status veld toe te voegen aan je database en dat status veld in je query's te gebruiken.
informatie daadwerkelijk deleten komt je nog al eens duur te staan![]()
jaa leukquote:Op zaterdag 2 september 2006 12:18 schreef Knut het volgende:
Oe leuk, en dan een leuke SQL query toevoegen aan $_GET['id'] zodat er tabellen gedropt worden
in eerste instantie deed ik dat ook altijd, en aan de ene kant heeft het ook zeker voordelen. maar aan de andere kant wordt je database er niet schoner en kleiner op. ik ben er vanaf gestapt, zonder spijt tot nog toe.quote:Op zaterdag 2 september 2006 12:20 schreef Knut het volgende:
Ow, en het is beter gebruik om een status veld toe te voegen aan je database en dat status veld in je query's te gebruiken.
informatie daadwerkelijk deleten komt je nog al eens duur te staan![]()
Want?quote:Op zaterdag 2 september 2006 12:29 schreef Desdinova het volgende:
[..]
jaa leuk![]()
probeer het maar eens en bederf je eigen voorpret
niet mijn stukje codequote:Op zaterdag 2 september 2006 12:31 schreef Swetsenegger het volgende:
[..]
Want?
je stukje code staat wijd open voor sqlinjection hoor
Sinds wanneer? en daarnaast hoeft het geen dubbele query te zijn, als je je in id een and ofzo plakt krijg je al meer informatie terug dan voor jou bedoelt is. Zie een discussie die ik had met jera in 1 van de oudere topics waarin ik ook iets teveel vertrouwde op magic quotes en dergelijke. Staat ook een werkend voorbeeld in.quote:Op zaterdag 2 september 2006 12:38 schreef Desdinova het volgende:
[..]
niet mijn stukje codemaar dubbele sql queries worden niet meer uitgevoerd door mysql_query() toch?
ok topquote:Op zaterdag 2 september 2006 12:42 schreef Swetsenegger het volgende:
[..]
Sinds wanneer? en daarnaast hoeft het geen dubbele query te zijn, als je je in id een and ofzo plakt krijg je al meer informatie terug dan voor jou bedoelt is. Zie een discussie die ik had met jera in 1 van de oudere topics waarin ik ook iets teveel vertrouwde op magic quotes en dergelijke. Staat ook een werkend voorbeeld in.
ok duidelijkquote:Op zaterdag 2 september 2006 02:35 schreef JeRa het volgende:
[..]
In PHP is een punt de operator voor concatenatie (optelling) van twee strings. Voorbeeldje:
[ code verwijderd ]
Maar hoogstwaarschijnlijk is het gewoon een toevallige regeleinde die niet consequent wordt toegepast in die video tut?
http://www.php.net/mysql_real_escape_stringquote:Op zaterdag 2 september 2006 14:06 schreef smesjz het volgende:
Of je gebruikt sprintf() om van het gezeik af te zijn:
$sql = sprintf("DELETE FROM leden WHERE id=%d",$_GET['id']);
Maar natuurlijk kan sprintf() ook nog helpen (er zijn meerdere mogelijkheden) bij XSS probleempjes omdat je gemakkelijk de lengte en format van een string (of int,float whatever) kan beperken.
Maar aangezien het voorbeeld lijkt te gaan over een CMSachtig iets waar niet iedereen zo maar gebruikersbeheer kan toepassen (of google alle links kan volgen, ook leuk) valt het probleem hier nogal mee.
1 2 3 4 5 6 7 8 9 | // Prepare statement $stmt = $db->prepare('DELETE FROM `leden` WHERE `naam` = :naam'); $stmt->bindValue('naam', 'Danny'); // Execute $stmt->execute(); unset($stmt); |
1 |
1 2 3 | $data = array (10, 20, 30, 15, 39, 29, 3); ?> |
dat is een goeiequote:Op zaterdag 2 september 2006 12:20 schreef Knut het volgende:
Ow, en het is beter gebruik om een status veld toe te voegen aan je database en dat status veld in je query's te gebruiken.
informatie daadwerkelijk deleten komt je nog al eens duur te staan![]()
Die snap ik niet? Als ik het volgende heb:quote:Op zaterdag 2 september 2006 19:47 schreef Swetsenegger het volgende:
$row['aantal'] is toch al een array
1 2 3 | $result = mysql_query("SELECT COUNT(*) as aantal FROM orders GROUP BY datum ORDER BY datum DESC LIMIT 100"); ?> |
Ik heb de moed inmiddels opgegeven. Allerlei querys geprobeerd (ook met timestamp), maar ik krijg niet de laatste foto. Ik heb nu gewoon geen GROUP BY erbij staan, maar mocht iemand nog een idee hebbenquote:Op vrijdag 1 september 2006 21:22 schreef Piles het volgende:
[..]
Jep (als DATETIME, als dat nog uitmaakt).
Maar MySQL werkt nu gewoon door elkaar. Hij selecteert de laatste datum en zomaar een foto![]()
mysql_fetch_array of mysql_fetch_assoc?quote:Op zaterdag 2 september 2006 20:01 schreef HuHu het volgende:
[..]
Die snap ik niet? Als ik het volgende heb:
[ code verwijderd ]
Hoe krijg ik dan daar een array uit?
Dit voorbeeld is niet voor een CMS of zo. Maar ik wil het wel gaan gebruiken in een heel erg basis CMS waar voor moet ingelogd worden zo dat niet iedereen er bij kan.quote:Op zaterdag 2 september 2006 14:06 schreef smesjz het volgende:
Of je gebruikt sprintf() om van het gezeik af te zijn:
$sql = sprintf("DELETE FROM leden WHERE id=%d",$_GET['id']);
Maar natuurlijk kan sprintf() ook nog helpen (er zijn meerdere mogelijkheden) bij XSS probleempjes omdat je gemakkelijk de lengte en format van een string (of int,float whatever) kan beperken.
Maar aangezien het voorbeeld lijkt te gaan over een CMSachtig iets waar niet iedereen zo maar gebruikersbeheer kan toepassen (of google alle links kan volgen, ook leuk) valt het probleem hier nogal mee.
Je bedoelt dat je gewoon de laatst toegevoegde record wil pakken uit je database?quote:Op zaterdag 2 september 2006 20:05 schreef Piles het volgende:
[..]
Ik heb de moed inmiddels opgegeven. Allerlei querys geprobeerd (ook met timestamp), maar ik krijg niet de laatste foto. Ik heb nu gewoon geen GROUP BY erbij staan, maar mocht iemand nog een idee hebben![]()
Nee, zie: [PHP/(My)SQL] voor dummies - Deel 31quote:Op zaterdag 2 september 2006 20:57 schreef Tuvai.net het volgende:
[..]
Je bedoelt dat je gewoon de laatst toegevoegde record wil pakken uit je database?
SELECT * FROM jouwtabel ORDER BY datum DESC LIMIT 1
Er moet een GROUP BY oid in, want ik heb de volgende tabellenquote:Op zaterdag 2 september 2006 21:15 schreef Tuvai.net het volgende:
Heb je al eens ORDER BY id ASC, datum DESC geprobeerd?
1 2 3 | $result = mysql_query("SELECT COUNT(*) as aantal FROM orders GROUP BY datum ORDER BY datum DESC LIMIT 100"); ?> |
1 2 3 4 5 6 | while($row = mysql_fetch_assoc($result)) { echo($row["aantal"]. "<br />"); } ?> |
1 2 3 | print_r(mysql_fetch_assoc($result)); ?> |
1 2 3 4 5 6 7 8 9 10 | $result = mysql_query("SELECT COUNT(*) as aantal FROM orders GROUP BY datum ORDER BY datum DESC LIMIT 100"); $data = array(); while($row = mysql_fetch_assoc($result)) { array_push($data, $row["aantal"]); } ?> |
Volgens mij is daar geen standaard functie voor en daar zijn natuurlijk wel legio redenen voor te verzinnen.quote:Op zaterdag 2 september 2006 22:37 schreef HuHu het volgende:
Ik heb het nu zo opgelost:
[ code verwijderd ]
Maar hier moet toch ook wel een standaard-functie voor bestaan?
PHP4 of PHP5? Dat maakt zeker bij objecten wel uit. Ook de relatie tussen de objecten is handig. Maar ik denk niet dat je zomaar een object naar een ander type kunt casten.quote:Op zondag 3 september 2006 11:38 schreef robh het volgende:
[..]
Volgens mij is daar geen standaard functie voor en daar zijn natuurlijk wel legio redenen voor te verzinnen.
Is het trouwens mogelijk om in PHP objecten te casten naar andere objecten? Ik zie wel dat het mogelijk is om (object) te casten, maar ik wil een "iets" casten naar een object van mijn keuze.
PHP5.quote:Op zondag 3 september 2006 13:13 schreef Light het volgende:
PHP4 of PHP5? Dat maakt zeker bij objecten wel uit. Ook de relatie tussen de objecten is handig. Maar ik denk niet dat je zomaar een object naar een ander type kunt casten.
Een hond is geen fiets, dus het zou niet logisch zijn als je objecten van class hond naar class fiets kunt casten.
Het ligt maar net aan je definitie voor 'netter'quote:Op zondag 3 september 2006 13:39 schreef robh het volgende:
[..]
PHP5.
Ik weet dat het niet logisch is om te doen, maar het zou mooi zijn als het kan. Ik denk dan bijvoorbeeld aan een rij tabeldata uit een db die je zou kunnen casten naar een object (met dezelfde attributen) en dat dan je getters en setters gewoon werken. Tuurlijk is daar wel een andere oplossing voor, maar als het met een cast kon zou het imo netter zijn.
1 2 3 4 5 6 7 8 9 | $test = array('blaat' => 2, 3 => 'onzin'); $obj = (object)$test; print_r($obj); ?> |
quote:Op zondag 3 september 2006 14:55 schreef Skorpija het volgende:
Hoe zou je in MySQL een veld waarde met 1 optellen?
Moet je eerst uitlezen wat er in dat veld staat met een select query, en daarna met een update query +1 bij de gevonden waarde doen?
En hoe zit dit dan als er 2 of meer gebruikters dit bijna gelijktijdig doen. Dan lezen ze beide tegelijkertijd bijvoorbeeld het getal 5. Dan schrijft er 1 weg en wordt het zes, en schrijft de ander ook weg, waardoor het 6 blijft, terwijl het 7 had moeten zijn...
Iemand een idee, of weet waar ik ergens moet zoeken?
1 |
quote:Op zondag 3 september 2006 14:55 schreef Skorpija het volgende:
Hoe zou je in MySQL een veld waarde met 1 optellen?
Moet je eerst uitlezen wat er in dat veld staat met een select query, en daarna met een update query +1 bij de gevonden waarde doen?
1 |
Het grote concurrency probleem dusquote:En hoe zit dit dan als er 2 of meer gebruikters dit bijna gelijktijdig doen. Dan lezen ze beide tegelijkertijd bijvoorbeeld het getal 5. Dan schrijft er 1 weg en wordt het zes, en schrijft de ander ook weg, waardoor het 6 blijft, terwijl het 7 had moeten zijn...
1 |
1 2 | UPDATE tabel SET waarde = $waarde + 1; |
1 2 3 4 | SELECT waarde FROM tabel WHERE naam = 'piet'; UPDATE tabel SET waarde = $waarde + 1; UNLOCK TABLES; |
1 2 3 4 5 | FROM `item` AS i INNER JOIN foto AS f ON i.item_id=f.item_id GROUP BY i.item_id ORDER BY f.foto_datum DESC |
al opgelostquote:Op zondag 3 september 2006 12:40 schreef KaMo het volgende:
phpBB : Critical Error
Could not open DArk template config file
DEBUG MODE
Line : 503
File : functions.php
Nu wil ik dus met PHPmyAdmin alle "DArk" in "ndesign" veranderen
maar dan heb ik hem veranderd en dan zoek ik naar DArk
is het weer veranderd in DArk
Waar ligt dit aan?
Eigenlijk hoor je te groeperen op elk veld dat in de select voor komt. Als er meerdere foto's bij een item kunnen horen, dan weet je met jouw query niet welke foto je bij een item krijgt.quote:Op zondag 3 september 2006 18:00 schreef Piles het volgende:
Ik heb eindelijk eens oplossing voor mijn foto-probleem (met dank aan een ander forum)
[ code verwijderd ]
![]()
Alleen de velden uit de tabel `item` neem ik aan?quote:Op zondag 3 september 2006 19:32 schreef SuperRembo het volgende:
[..]
Eigenlijk hoor je te groeperen op elk veld dat in de select voor komt. Als er meerdere foto's bij een item kunnen horen, dan weet je met jouw query niet welke foto je bij een item krijgt.
Ja, zoiets is mogelijk. En het werkt nog op de manier die je hier beschrijft ook. Dus gewoon met AND. Of met OR, afhankelijk van wat je wilt. Als je AND en OR gaat combineren in een query dan is het aan te raden om altijd haakjes te gebruiken. Dan kun je het later makkelijker teruglezen, zonder je af te vragen hoe het bedoeld was.quote:Op maandag 4 september 2006 00:01 schreef Wouta het volgende:
Ik probeer op mysql.com te vinden of het mogelijk is een select qeury in mysql toen waar ik 3 voorwaarde kan opgeven in me query.
Dus iets als $sql = "SELECT * FROM layout_rij WHERE user_id ='test' AND x='íets' AND y='nogwat'"
Weet iemand of zo iets mogelijk is en hoe je de query uitvoerd ik geen bruikbaare documentatie vinden of wil ik iets wat niet kan ?
Zeker heb ik de query geprobeerd! Ik denk alleen dat ik een andere fout in de query had. Hoewel ik dat niet eruitkon halen met mysql_error();quote:Op maandag 4 september 2006 00:10 schreef Ali Salami het volgende:
Maar heb je je query uberhaubt al eens uitgeprobeerd? Dat is eerst wel handig![]()
Hehehe, ja, ik kán een functie schrijven. Hell, ik kan voor elke klasse wel een factory aanmaken. Hartstikke hip, patterns. Maar dat was de vraag niet.quote:Op zondag 3 september 2006 14:01 schreef JeRa het volgende:
[..]
Het ligt maar net aan je definitie voor 'netter'anyway, jij hebt een bepaalde conversie voor ogen waarbij je keys van een array cast naar een object met member variables van dezelfde naam. Hier is geen eenduidige cast voor te bedenken aangezien anderen wellicht een andere conversie hadden bedacht. Bovendien zou PHP nogal bloated worden als het dit soort casts zou gaan implementeren.
Maar het mooie aan PHP is dat er niets in je weg staat om een kleine functie te schrijven die dit werk voor je doetqua 'netheid' is er imho toch al niets aan te redden als je in PHP werkt, dan zul je een stuk verder komen in bijvoorbeeld Java
edit: een conversie van array -> object bestaat trouwens wel:
[ code verwijderd ]
Maar het voorbeeld dat je aanhaalt is natuurlijk een beetje triviaal omdat er ook een functie is ala mysql_fetch_object()
Is dat een server met Windows XP en IIS 5.1 ? Zo ja, kijk dan eens hier. Of bij de andere reacties daar.quote:Op maandag 4 september 2006 23:45 schreef markiemark het volgende:
Even een kort vraagje...
$_SERVER['REQUEST_URI'];
werkt niet... De fout is:
PHP Notice: Undefined index: REQUEST_URI in........
Volgens mij een php.ini verhaal.. Hoe stel ik in dat dit wel werkt?
Alvast bedankt!
ok thnx!quote:Op maandag 4 september 2006 23:54 schreef Light het volgende:
[..]
Is dat een server met Windows XP en IIS 5.1 ? Zo ja, kijk dan eens hier. Of bij de andere reacties daar.
Nee, dat is gelukkig niet mijn werkgever. Dat is van deze lui.quote:Op donderdag 17 augustus 2006 22:29 schreef Swetsenegger het volgende:
Zag ik nu net een tv reclame van je werkgever SuperRembo?
continuequote:Op dinsdag 5 september 2006 16:32 schreef Desdinova het volgende:
hoe eindig ik de huidige while loop?
dussehh,
$i = 1;
while ($i < 5){
if ($i == 2){ /*break ofzo*/ }
echo $i;
$i++;
}
duss dan zou ik een lijstje willen krijgen van 1, 3, 4, 5. en dat moet dus met zo'n ga-verder-met-de-volgende-loop-dinges en niet met een workaroundwant die kan ik ook wel verzinnen
ah die zocht ikquote:Op dinsdag 5 september 2006 16:36 schreef Light het volgende:
[..]
continue
break laat je uit de while loop springen, dan krijg je alleen de 1 te zien in je voorbeeld.
Als je op die plaats een continue zet dan blijft je loop hangen, je komt namelijk niet meer langs $i++.quote:Op dinsdag 5 september 2006 16:36 schreef Light het volgende:
[..]
continue
break laat je uit de while loop springen, dan krijg je alleen de 1 te zien in je voorbeeld.
Hmmja, je hebt gelijk.quote:Op woensdag 6 september 2006 09:16 schreef SuperRembo het volgende:
[..]
Als je op die plaats een continue zet dan blijft je loop hangen, je komt namelijk niet meer langs $i++.
maakt niet uitquote:Op woensdag 6 september 2006 09:16 schreef SuperRembo het volgende:
[..]
Als je op die plaats een continue zet dan blijft je loop hangen, je komt namelijk niet meer langs $i++.
1 2 3 | DATE_FORMAT(datum, '%M %D, %Y') as date ?> |
quote:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DATE_FORMAT(datum, '%M %D, %Y') as date' at line 1
1 2 3 4 5 6 7 | $sql_date = mysql_query("SELECT * FROM gastenboek DATE_FORMAT(datum, '%M %D, %Y') AS blaat") or die (mysql_error()); while(list($date) = mysql_fetch_row($sql_date)){ echo "The date of this row is: $date"; } ?> |
Dat * is alleen nodig als je alles wilt hebben + de geformateerde datum.quote:Op woensdag 6 september 2006 23:30 schreef super-muffin het volgende:
Dat was het inderdaad
Alleen dan zonder *,
En hoe krijg ik de maanden in het Nederlands?
1 2 3 4 5 6 7 8 9 | $sql_date = mysql_query("SELECT *, DATE_FORMAT(time, '%e %M %Y om %T') FROM gastenboek AS date"); while($row = mysql_fetch_assoc($sql_date)){ echo "$row[bericht]<br />"; echo "$row[time]<br /> "; echo "door $row[naam]"; } ?> |
1 2 3 | echo "$row[date]<br /> "; ?> |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |