Johan-Derksen | maandag 14 februari 2005 @ 15:06 |

Vorige delen: [PHP] voor dummies [PHP] voor dummies - Deel 2 [PHP] voor dummies - Deel 3 [PHP] voor dummies - Deel 4
Zie ook: FAQ - Algemene kleine vragen. Part 2. http://www.php.net http://www.php.net/docs.php
Ik trap af  quote:<?php session_start(); ?>
<html> <head> <title>Login pagina</title> </head> <body>
<form method="post" action="login.php"> <input type="hidden" name="Submit" value="1"> <input type="text" name="gebruikersnaam"> <input type="text" name="password_old"> <input type="password" name="password_new"> <input type="password" name="password_new_check"> <input type="submit" value="Login"> </form>
<p>
<?php
$DBHost = "iets.nl"; $DBLogin = "iets2"; $DBPassword = "nogiets"; $DBDatabase = "iets2";
mysql_connect("$DBHost", "$DBLogin", "$DBPassword"); @mysql_select_db("$DBDatabase");
// er van uitgaande dat je weet hoe je een form maakt, en de variables doorspeelt aan een ander script $gebruikersnaam = md5($_POST['gebruikersnaam']); $password_old = md5($_POST['password_old']); $password_new = md5($_POST['password_new']); $password_new_check = md5($_POST['password_new_check']);
// Hier heb je dus waardes uit een form gehaalt wat een gebruiker heeft ingevult.
if (!empty($password_old) && !empty($password_new) && !empty($password_new_check)) { $sql=mysql_query("SELECT * FROM gebruikers WHERE gebruikersnaam='$username'"); while($data=mysql_fetch_array($sql)) { // Je zoekt in de database naar de gebruiker die op dit moment is ingelogt. if ($data['password'] == $password_old) { if ($password_new == $password_new_check) { mysql_query("UPDATE gebruikers SET password='$password_new' WHERE gebruikersnaam = 'gebruikersnaam'"); // hiermee zeg je dus: verander het wachtwoord naar het nieuwe wachtwoord, // maar alleen bij degene met --> $username <-- die username } else { $error = "De wachtwoorden komen niet overeen"; } } else { $error = "Het wachtwoord is onjuist"; } } } else { $error = "Je bent iets vergeten in te vullen."; }
?>
</body> </html> Ik heb een scriptje van een site gehaald die vrij gemakkelijk aan te passen zou moeten zijn. Middels dit script zou men hun eigen password kunnen aanpassen. Ik heb een tabel gebruikers en een kolom gebruikersnaam in die tabel.
Ik heb de gegevens aangepast maar het werkt niet... Na het invullen van de gebruikersnaam, oude wachtwoord, nieuwe ww en nogmaals nieuwe ww, springt ie terug naar login.php met als tekst: Je gebruikersnaam of password klopt niet. Erg vaag! Iemand een idee wat er fout gaat? |
dnzl | maandag 14 februari 2005 @ 15:23 |
Ik probeer naast het invoegen van data in mySQL. Een mailtje te versturen. Nu loop ik een beetje stuk. Terwijl ik toch het idee heb dat ik geen fouten maak.
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 | <? $sql = "SELECT email FROM users WHERE firstname = '". $row['nsiemp'] ."'"; $result = mysql_query($sql);
if (!$result) { echo "Kon de query ($sql) niet uitvoeren (E-mail melding niet verzonden): " . mysql_error(); exit; } if (mysql_num_rows($result) == 0) { echo "Geen uitgaande calls gevonden."; exit; }
while ($row = mysql_fetch_assoc($result)) {
$toAdres = $row['email'];
switch($_POST['action']){ default:
break; case "versturen": $mailTitel = "Nieuwe call op NSI Employees"; $mailText.="\nBeste,"; $mailText.="\nJe hebt een nieuwe call ontvangen op NSI Employees."; $mailText.="\nDetails kun je bekijken via http://w.w.com"; mail($toAdres, $mailTitel, $mailText, "From: NSI"); ?> |
|
Swetsenegger | maandag 14 februari 2005 @ 15:28 |
Ik ben nog steeds met mijn conversie bezig van een externe db naar een lokale db.
Een en ander werkt nu, maar op de server staat een maximum execution time voor php waar ik lastig wat aan kan veranderen.
Ik moet mijn code dus optimaliseren.
Nu heb ik dit:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php $query="SELECT FAQ_id, question, answer FROM FAQ WHERE language_id=1 OR language_id=2"; $result=mysql_query($query); while($row=mysql_fetch_array($result)){
$query2="SELECT product_id FROM FAQ_product WHERE FAQ_id=".$row['FAQ_id'].""; $result2=mysql_query($query2); $row2=mysql_fetch_array($result2); $query3="SELECT product_code FROM product WHERE product_id=".$row2['product_id'].""; $result3=mysql_query($query3); $row3=mysql_fetch_array($result3); ?> |
hetgeen dus de originele data uit de externe db haalt.
Maar er moet toch een manier zijn om dit in 1 query te doen ipv van 3 waarbij ik ook nog 484 keer de db connectie moet openen en sluiten (Het gaat dus om 484 rows, in 3 verschillende tabellen)
Nu vind ik die sql reference manual erg wazig, ik begrijp in ieder geval dat ik met aliasen voor de verschillende tabel namen moet gaan werken en join's maar het is nog een beetje abrcadabra voor me.
Tipje van de sluier iemand?
Ondertussen heb ik query 1 en 2 al samen gevoegd. Nu query 3 er nog bij 
1 2 3 | <?php $query="SELECT FAQ.FAQ_id, FAQ.question, FAQ.answer, FAQ_product.product_id FROM FAQ LEFT JOIN FAQ_product ON FAQ.FAQ_id = FAQ_product.FAQ_id WHERE language_id=1 or language_id=2"; ?> |
[ Bericht 78% gewijzigd door Swetsenegger op 14-02-2005 15:37:09 ] |
sylvesterrr | maandag 14 februari 2005 @ 15:46 |
tvp'tje  |
Burning_RefleX | maandag 14 februari 2005 @ 15:46 |
quote:Op maandag 14 februari 2005 15:28 schreef Swetsenegger het volgende:Een en ander werkt nu, maar op de server staat een maximum execution time voor php waar ik lastig wat aan kan veranderen. set_time_limit(0) Dit zorgt dat de execution time weg gaat, dus geen limiet. Je kan ipv. 0 ook 60 neerzetten, dit is het aantal seconden dat het script mag lopen. (standaard: 30) |
Darkomen | maandag 14 februari 2005 @ 18:17 |
Oke, ik heb een upload script gemaakt. Deze upload de image. als gelukt $data .="gelukt"; Resized de image als gelukt $data .="resized"; maakt een tumbnail als gelukt $data .="tumbnail created"; voegt een banner toe als gelukt $data .="banner added";
Nu als het een grote foto is dan duurt het een tijdje, ik begreep dat je tussen die stappen ook de data naar de browser kan sturen. flush() heeft iemand een voorbeeld van zo'n script? |
SuperRembo | maandag 14 februari 2005 @ 18:36 |
quote:Op maandag 14 februari 2005 15:28 schreef Swetsenegger het volgende:Ik ben nog steeds met mijn conversie bezig van een externe db naar een lokale db. Een en ander werkt nu, maar op de server staat een maximum execution time voor php waar ik lastig wat aan kan veranderen. Ik moet mijn code dus optimaliseren. Nu heb ik dit: [ code verwijderd ] hetgeen dus de originele data uit de externe db haalt. Maar er moet toch een manier zijn om dit in 1 query te doen ipv van 3 waarbij ik ook nog 484 keer de db connectie moet openen en sluiten (Het gaat dus om 484 rows, in 3 verschillende tabellen) 484 keer connecten  Dan zou je nog makkelijker eerst de tabelen helemaal helemaal inlezen en in arrays zetten. Dan er doorheen loopen en er uit zoeken wat je nodig hebt. Dan ben je met 1x conecten en 3 query's klaar. Zo schokkend veel data zal dat toch niet zijn?quote:Nu vind ik die sql reference manual erg wazig, ik begrijp in ieder geval dat ik met aliasen voor de verschillende tabel namen moet gaan werken en join's maar het is nog een beetje abrcadabra voor me. Tipje van de sluier iemand? Ondertussen heb ik query 1 en 2 al samen gevoegd. Nu query 3 er nog bij  [ code verwijderd ] Beetje een gok omdat ik niet weet hoe de tabellen in elkaar steken
1 2 3 4 5 | SELECT f.*, product.* FROM FAQ f INNER JOIN FAQ_product fp ON fp.FAQ_id=f.FAQ_id INNER JOIN product p ON p.product_id=fp.product_id WHERE f.language_id IN (1,2) |
(een INNER JOIN in plaats van een LEFT JOIN omdat ik aan neem dat FAQ of products niet leeg mogen zijn) |
SuperRembo | maandag 14 februari 2005 @ 18:38 |
quote:Op maandag 14 februari 2005 15:46 schreef Burning_RefleX het volgende:[..] set_time_limit(0) Dit zorgt dat de execution time weg gaat, dus geen limiet. Je kan ipv. 0 ook 60 neerzetten, dit is het aantal seconden dat het script mag lopen. (standaard: 30) Ik denk dat de externe database connection een timeout geeft. Daar draait geen php script, en dus heb je niet aan set_time_limit()  |
SuperRembo | maandag 14 februari 2005 @ 18:46 |
quote:Op maandag 14 februari 2005 15:23 schreef dnzl het volgende:Ik probeer naast het invoegen van data in mySQL. Een mailtje te versturen. Nu loop ik een beetje stuk. Terwijl ik toch het idee heb dat ik geen fouten maak. [ code verwijderd ] Je switch is verkeerd.
Een fout die makkelijk te vinden is met basic debuggen. Zet op strategische plaatsen een een echo of desnoods een die(), zodat je weet hoe je script loopt. |
SuperRembo | maandag 14 februari 2005 @ 18:55 |
quote:Op maandag 14 februari 2005 18:17 schreef Darkomen het volgende:Oke, ik heb een upload script gemaakt. Deze upload de image. als gelukt $data .="gelukt"; Resized de image als gelukt $data .="resized"; maakt een tumbnail als gelukt $data .="tumbnail created"; Thumb is met een h.quote:voegt een banner toe als gelukt $data .="banner added";
Nu als het een grote foto is dan duurt het een tijdje, ik begreep dat je tussen die stappen ook de data naar de browser kan sturen. flush() heeft iemand een voorbeeld van zo'n script? Daar is ie weer de PHP manual
1 2 3 4 5 6 7 8 9 10 | <? echo str_repeat(" ", 256); $i = 100; while($i > 0) { echo $i." bottle".($i != 1 ? 's' : '')." of beer on the wall, ".$i." bottle".($i != 1 ? 's' : '')." of beer. Take one down and pass it around, ".(--$i)." bottle".($i != 1 ? 's' : '')." of beer on the wall<br>\n"; flush(); ob_flush(); sleep(10); } ?> |
|
markiemark | maandag 14 februari 2005 @ 19:00 |
ik heb ook een vraagje.. is het nederlandse boek PHP4 Het complete handboek hetzelfde als het engelse PHP 4 Bible ??? Zo ja... ok duidelijk zo nee, wat zijn de verschillen want ik heb heb PHP4 het complete handboek al.. |
Johan-Derksen | maandag 14 februari 2005 @ 19:15 |
Heeft iemand zin om even naar mn probleem in de openingspost te kijken? Alvast bedankt  |
SuperRembo | maandag 14 februari 2005 @ 19:25 |
quote:Op maandag 14 februari 2005 15:06 schreef Johan-Derksen het volgende:Ik heb de gegevens aangepast maar het werkt niet... Na het invullen van de gebruikersnaam, oude wachtwoord, nieuwe ww en nogmaals nieuwe ww, springt ie terug naar login.php met als tekst: Je gebruikersnaam of password klopt niet. Erg vaag! Inderdaad erg vaag want die tekst staat nergens in de code, spooky.quote:Iemand een idee wat er fout gaat? Heb je al geprobeerd te debuggen. Klopt de data die je binnen krijgt. Krijg je errors/warnings? (zet error reporting aan!) Welke query's worden uitgevoerd? Klopt de data die de query's terug geven? etc etc. |
Johan-Derksen | maandag 14 februari 2005 @ 19:58 |
Ok de fout uit de OP is teruggebracht... er stond bovenin login.php en dat moest natuurlijk pass.php zijn... Beetje dom  Maar goed... Als ik nu een pass probeer te veranderen, dan verandert ie niet in de db... Hij laadt ff maar doet niets daarna... Er zit dus nog een fout in de communicatie met de db... Zal wel ergens een $ vergeten zijn of zo  |
Johan-Derksen | maandag 14 februari 2005 @ 20:01 |
Eens kijken of ik ergens in kan bouwen dat ie een bevestiging geeft na het aanpassen... Dan weet ik of ie wel het goede stuk van het script laadt |
Jump | maandag 14 februari 2005 @ 20:07 |
quote:Op maandag 14 februari 2005 19:00 schreef markiemark het volgende:ik heb ook een vraagje.. is het nederlandse boek PHP4 Het complete handboek hetzelfde als het engelse PHP 4 Bible ??? Zo ja... ok duidelijk  zo nee, wat zijn de verschillen want ik heb heb PHP4 het complete handboek al.. ja het is hetzelfde, enkel vertaald. Alhoewel je in het Engels al een tweede versie van het boek hebt, waarbij een ganse hoop fouten uit het boek gehaald zijn, en dat de sccript nu werken met register_globals = ON. Veel script uit versie 1 werken niet als je register_globals op ON zet.
Er is nu ook "PHP 5 en MySQL het complete HANDBoek" verkrijgbaar in de betere boekhandel Zie: http://www.academicservic(...)n%2F9039522812%2Ejsp ALhoewel ik wel al betere boeken tegengekomen ben voor PHP (4 & 5) |
Jump | maandag 14 februari 2005 @ 20:30 |
Omdat niemand nog het vorige deel gaat lezen 
Weet iemand het verschil tussen de -> en de :: operator i ngebruik van classes en andere ?  |
Johan-Derksen | maandag 14 februari 2005 @ 20:33 |
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 | <?php session_start(); ?>
<html> <head> <title>Login pagina</title> </head> <body>
<form method="post" action="pass.php"> <input type="hidden" name="Submit" value="1"> <input type="text" name="gebruikersnaam"> <input type="text" name="password_old"> <input type="password" name="password_new"> <input type="password" name="password_new_check"> <input type="submit" value="Login"> </form>
<p>
<?php
$DBHost = "hh"; $DBLogin = "hhh"; $DBPassword = "hhhh"; $DBDatabase = "hhh";
mysql_connect("$DBHost", "$DBLogin", "$DBPassword"); @mysql_select_db("$DBDatabase");
$gebruikersnaam = md5($_POST['gebruikersnaam']); $password_old = md5($_POST['password_old']); $password_new = md5($_POST['password_new']); $password_new_check = md5($_POST['password_new_check']);
if (!empty($password_old) && !empty($password_new) && !empty($password_new_check)) { $sql=mysql_query("SELECT * FROM gebruikers WHERE gebruikersnaam='$gebruikersnaam'"); while($data=mysql_fetch_array($sql)) { if ($data['password'] == $password_old) { if ($password_new == $password_new_check) { mysql_query("UPDATE gebruikers SET password='$password_new' WHERE gebruikersnaam = '$gebruikersnaam'"); } else { $error = "De wachtwoorden komen niet overeen"; } } else { $error = "Het wachtwoord is onjuist"; } } } else { $error = "Je bent iets vergeten in te vullen."; }
?>
</body> </html> |
DIt is dus mn huidige code... maar er wordt niet iets aangepast in de tabel gebruikers met kolom password Dat is erg jammer  |
rickmans | maandag 14 februari 2005 @ 20:41 |
quote:Op maandag 14 februari 2005 20:30 schreef Jump het volgende:Omdat niemand nog het vorige deel gaat lezen  Weet iemand het verschil tussen de -> en de :: operator i ngebruik van classes en andere ?  quote: Sometimes it is useful to refer to functions and variables in base classes or to refer to functions in classes that have not yet any instances. The :: operator is being used for this. aldus: http://nl3.php.net/manual/nl/keyword.paamayim-nekudotayim.php |
Swetsenegger | maandag 14 februari 2005 @ 21:28 |
quote:Op maandag 14 februari 2005 18:36 schreef SuperRembo het volgende:[..] 484 keer connecten  Dan zou je nog makkelijker eerst de tabelen helemaal helemaal inlezen en in arrays zetten. Dan er doorheen loopen en er uit zoeken wat je nodig hebt. Dan ben je met 1x conecten en 3 query's klaar. Zo schokkend veel data zal dat toch niet zijn? [..] Beetje een gok omdat ik niet weet hoe de tabellen in elkaar steken [ code verwijderd ] (een INNER JOIN in plaats van een LEFT JOIN omdat ik aan neem dat FAQ of products niet leeg mogen zijn) Ik heb het al opgelost, ik had geen join nodig  |
SuperRembo | maandag 14 februari 2005 @ 21:30 |
quote:Op maandag 14 februari 2005 20:33 schreef Johan-Derksen het volgende:[ code verwijderd ] DIt is dus mn huidige code... maar er wordt niet iets aangepast in de tabel gebruikers met kolom password Dat is erg jammer  Weet je inmiddels welke query's worden uitgevoerd?
en weet je wat md5() doet? |
Johan-Derksen | maandag 14 februari 2005 @ 21:35 |
ja md5 ken ik... en die haal ik weg bij gebruikersnaam... Maar je punt over uitgevoerde query's kan ik niet goed controleren... zou niet weten hoe  |
SuperRembo | maandag 14 februari 2005 @ 21:49 |
quote:Op maandag 14 februari 2005 21:35 schreef Johan-Derksen het volgende:ja md5 ken ik... en die haal ik weg bij gebruikersnaam... Maar je punt over uitgevoerde query's kan ik niet goed controleren... zou niet weten hoe  Dan geef ik 't op. |
Darkomen | maandag 14 februari 2005 @ 21:53 |
quote: Geweldig antwoord
Maar is dit ook mogenlijk? File bla.php
1 2 3 4 5 6 7 8 9 10 11 12 | <? echo str_repeat(" ", 256); $i = 100; while($i > 0) { $data .= $i." bottle".($i != 1 ? 's' : '')." of beer on the wall, ".$i." bottle".($i != 1 ? 's' : '')." of beer. Take one down and pass it around, ".(--$i)." bottle".($i != 1 ? 's' : '')." of beer on the wall<br>\n"; flush(); $data .=""; ob_flush(); sleep(10); }
?> |
file bla2.php
1 2 3 4 | <? include('bla.php'); echo $data; ?> |
|
SuperRembo | maandag 14 februari 2005 @ 22:21 |
Lijkt me wel kunnen. Probeer 't eens zou ik zeggen. |
MouseInteractive | maandag 14 februari 2005 @ 23:44 |
quote:Op maandag 14 februari 2005 20:33 schreef Johan-Derksen het volgende:[ code verwijderd ] DIt is dus mn huidige code... maar er wordt niet iets aangepast in de tabel gebruikers met kolom password Dat is erg jammer  Staan je gebruikersnaam en password wel in md5 formaat opgeslagen in de database? En zijn je tabel kolommen lang genoeg wat betreft tekens? (Een md5 string is zo'n 40 tekens lang ofzo, dus zorg wel dat het maximum aantal tekens in je mysql kolom groter is dan 40)  |
Darkomen | dinsdag 15 februari 2005 @ 08:40 |
quote: Gedaan en dat werkt dus niet, vandaar dat ik het vroeg  |
Johan-Derksen | dinsdag 15 februari 2005 @ 09:13 |
quote:Op maandag 14 februari 2005 23:44 schreef MouseInteractive het volgende:[..] Staan je gebruikersnaam en password wel in md5 formaat opgeslagen in de database? En zijn je tabel kolommen lang genoeg wat betreft tekens? (Een md5 string is zo'n 40 tekens lang ofzo, dus zorg wel dat het maximum aantal tekens in je mysql kolom groter is dan 40)  De kolommen zijn lang genoeg (41), maar ik kan niet achterhalen hoe je een kolom met md5 format opslaat. Dat zal dus wel niet het geval zijn. Ik ga eens opzoeken hoe ik dat kan aanpassen in mn mysql db. Dank je wel voor het meedenken! |
DutchBlood | dinsdag 15 februari 2005 @ 10:21 |
quote:Op dinsdag 15 februari 2005 09:13 schreef Johan-Derksen het volgende:[..] De kolommen zijn lang genoeg (41), maar ik kan niet achterhalen hoe je een kolom met md5 format opslaat. Dat zal dus wel niet het geval zijn. Ik ga eens opzoeken hoe ik dat kan aanpassen in mn mysql db. Dank je wel voor het meedenken! Een CHAR van 32 moet genoet zijn hoor.
Maar echo je querys dus eens. |
MouseInteractive | dinsdag 15 februari 2005 @ 11:14 |
quote:Op dinsdag 15 februari 2005 09:13 schreef Johan-Derksen het volgende:[..] De kolommen zijn lang genoeg (41), maar ik kan niet achterhalen hoe je een kolom met md5 format opslaat. Dat zal dus wel niet het geval zijn. Ik ga eens opzoeken hoe ik dat kan aanpassen in mn mysql db. Dank je wel voor het meedenken! Probeer eens even je gebruikersnaam en password uit de tabel te wissen en vervolgens opnieuw in md5 formaat in de tabel op te slaan.
Dit kun je met een simpel php scriptje doen. Formuliertje knutselen en dan zoiets:
1 2 3 4 5 6 | <?php $gebruikersnaam = md5($_POST['gebruikersnaam']); $password = md5($_POST['password']);
mysql_query("INSERT INTO gebruikers (gebruikersnaam,password) VALUES ('$gebruikersnaam','$password')"); ?> |
Dan zouden je gebruikersnaam en password goed opgeslagen moeten zijn.  |
Light | dinsdag 15 februari 2005 @ 11:21 |
quote:Op maandag 14 februari 2005 23:44 schreef MouseInteractive het volgende:[..] Staan je gebruikersnaam en password wel in md5 formaat opgeslagen in de database? Waarom zou je de gebruikersnaam in md5 formaat willen opslaan? |
ViPeRII | dinsdag 15 februari 2005 @ 11:35 |
Dat snap ik ook niet helemaal Dat is echt onzinnig en kost meer tijd voor de server om te berekenen. |
MouseInteractive | dinsdag 15 februari 2005 @ 11:36 |
quote: Omdat hij de query uitvoert met iets als:
1 | WHERE gebruikersnaam = '$gebruikersnaam' |
Waarbij $gebruikersnaam een md5 string is. Het kan natuurlijk ook anders, maar dit was zomaar even een suggestie. |
Chandler | dinsdag 15 februari 2005 @ 14:49 |
Ik ben bezig met een validatie script voor meerdere zaken, alleen een paar zaken kom ik niet uit. Hebben mensen misschien voor de onderdelen (date, time, link) suggesties?
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 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 | <?php function check($in, $type = null) { $err = "false"; switch ($type) { case "numeric":
if (preg_match ("/^([0-9]+)$/", $in)) { return $in; } else { return $err; }
break;
case "postcode":
if (preg_match('/^\d{4}\s?[A-Z]{2}$/', $in)) { return $in; } else { return $err; }
break;
case "mac": // mac address
if (preg_match("/^([0-9a-fA-F][0-9a-fA-F]<img src="http://images.fok.nl/s/smile.gif" width="15" height="15" alt="" />{5}([0-9a-fA-F][0-9a-fA-F])$/", $in)) { return $in; } else { return $err; }
break;
case "email":
// checks proper syntax if (preg_match("/^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$/" , $in)) { return $in; } else { return $err; }
break;
case "ip":
if (preg_match("/^((127)|(192)|(10).*)$/", $in)) { return $err; }
$ip = explode(".", $in);
if(count($ip) != 4) { return $err; }
foreach($ip as $block) { if(!is_numeric($block) || $block>255 || $block<1) { return $err; } }
return $in;
break;
case "link":
if (eregi("/^(http|https|ftp)\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(:[a-zA-Z0-9]<img src="http://images.fok.nl/s/shiny.gif" width="15" height="15" alt="" />?/?([a-zA-Z0-9\-\._\?\,\'/\\\+&%\$#\=~])*[^\.\,\)\(\s]$/", $in)) { return $in; } else { return $err; }
break;
case "date": /* Date format : dd-mm-yyyy */
$dt = str_replace("/", "-", $in); // if found / change to - $dt = str_replace(" ", "-", $dt); // if found [space] change to -
if (preg_match("/^(?=\d)(?:(?!(?:(?:0?[5-9]|1[0-4])(?:\.|-|\/)10(?:\.|-|\/)(?:1582))|(?:(?:0?[3-9]|1[0-3])(?:\.|-|\/)0?9(?:\.|-|\/)(?:1752)))(31(?!(?:\.|-|\/)(?:0?[2469]|11))|30(?!(?:\.|-|\/)0?2)|(?:29(?:(?!(?:\.|-|\/)0?2(?:\.|-|\/))|(?=\D0?2\D(?:(?!000[04]|(?:(?:1[^0-6]|[2468][^048]|[3579][^26])00))(?:(?:(?:\d\d)(?:[02468][048]|[13579][26])(?!\x20BC))|(?:00(?:42|3[0369]|2[147]|1[258]|09)\x20BC))))))|2[0-8]|1\d|0?[1-9])([-.\/])(1[012]|(?:0?[1-9]))\2((?=(?:00(?:4[0-5]|[0-3]?\d)\x20BC)|(?:\d{4}(?:$|(?=\x20\d)\x20)))\d{4}(?:\x20BC)?)(?:$|(?=\x20\d)\x20))?((?:(?:0?[1-9]|1[012])(?::[0-5]\d){0,2}(?:\x20[aApP][mM]))|(?:[01]\d|2[0-3])(?::[0-5]\d){1,2})?$/", $dt)) { return $in; } else { return $err; }
break;
case "time": $in = str_replace("/", ":", $in); // if found / change to : $in = str_replace(" ", ":", $in); // if found [space] change to :
if (preg_match("/(^|^[0-9]*:)[0-9]{2}(\.[0-9]{1,2}$|$)/", $in)) { return $in; } else { return $err; } break;
case "htmlcolor":
// old ^(#){1}([a-fA-F0-9]){6}$; if (preg_match("/^#?([a-f]|[A-F]|[0-9]){3}(([a-f]|[A-F]|[0-9]){3})?$/", $in)) { return $in; } else { return $err; }
break;
case "image":
if (preg_match("/^src[^>]*[^/].(?:jpg|bmp|gif)(?:\"|\')$/", $in)) { return $in; } else { return $err; }
break;
case "isbn": $regexpr = "ISBN\x20(?=.{13}$)\d{1,5}([- ])\d{1,7}\1\d{1,6}\1(\d|X)$";
return preg_match($regexpr, $in) ? $in : $err; break;
case "text": break;
default: // text and all break; } return $err; }
echo '<h1>Check Function</h1>'; echo '<br />numeric : test1 with numbers only : ' . check("324290348", "numeric"); echo '<br />numeric : test2 with numbers & text : ' . check("40S0834SS", "numeric");
echo '<br />postcode : test1 with correct NL postcode : ' . check("9733 AA", "postcode"); echo '<br />postcode : test2 with wrong NL postcode : ' . check("442 AAA", "postcode");
echo '<br />mac address : test1 with correct mac address : ' . check("00:50:8D:F9:FA:8A", "mac"); echo '<br />mac address : test2 with wrong mac address : ' . check("00:50:8D:F9:FA:DD:A", "mac");
echo '<br />email : test1 with correct email address : ' . check("sex@sex.com", "email"); echo '<br />email : test2 with wrong email address : ' . check("test.sex#woei@home.nl", "email");
echo '<br />ip : test1 with correct ip address : ' . check("127.5.222.12", "ip"); echo '<br />ip : test2 with wrong ip address : ' . check("269.10.1.1", "ip");
/* hmmmm */ echo '<br />link : test1 with correct link address : ' . check("http://www.yahoo.com", "link"); echo '<br />link : test2 with wrong link address : ' . check("www.dezesitebestaatniet.nl", "link");
/* hmmmm */ echo '<br />date : test1 with correct date (dd/mm/yyyy) : ' . check("32-12-1960", "date"); echo '<br />date : test2 with wrong date (dd/mm/yyyy): ' . check("12-12-1980", "date");
/* hmmmm */ echo '<br />time : test1 with correct time stamp : ' . check("23:23", "time"); echo '<br />time : test2 with wrong time stamp : ' . check("61:12", "time");
echo '<br />htmlcolor : test1 with correct color code : ' . check("#FFFFFF", "htmlcolor"); echo '<br />htmlcolor : test2 with wrong color code : ' . check("#ad$as%a", "htmlcolor"); ?> |
gebruik de code als je het nut er van in ziet  |
Darkomen | woensdag 16 februari 2005 @ 08:55 |
quote:Op maandag 14 februari 2005 21:53 schreef Darkomen het volgende:[..] Geweldig antwoord Maar is dit ook mogenlijk? File bla.php 1 2 3 4 5 6 7 8 9 10 11 12 | <? echo str_repeat(" ", 256); $i = 100; while($i > 0) { $data .= $i." bottle".($i != 1 ? 's' : '')." of beer on the wall, ".$i." bottle".($i != 1 ? 's' : '')." of beer. Take one down and pass it around, ".(--$i)." bottle".($i != 1 ? 's' : '')." of beer on the wall<br>\n"; flush(); $data .=""; ob_flush(); sleep(10); }
?> |
file bla2.php 1 2 3 4 | <? include('bla.php'); echo $data; ?> |
Bumpje  |
sylvesterrr | woensdag 16 februari 2005 @ 08:55 |
quote: quote: |
Darkomen | woensdag 16 februari 2005 @ 10:13 |
quote:Op dinsdag 15 februari 2005 08:40 schreef Darkomen het volgende:[Lijkt me wel kunnen. Probeer 't eens zou ik zeggen.] Gedaan en dat werkt dus niet, vandaar dat ik het vroeg  ... |
Swetsenegger | woensdag 16 februari 2005 @ 11:10 |
Nieuw probleempje Ik heb het volgende form
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <form action="index.php" method="post"><br /> Product<br /> <select class="form" name="articel_code" multiple="multiple" style="width:400px;" size="3"> <? include('includes/connect.dat'); $query="SELECT * FROM products order by articel_code ASC"; $result=mysql_query($query); while($row=mysql_fetch_array($result)){ if (empty($row['articel_code'])){ $articel_code='no code'; }else{ $articel_code="{$row['articel_code']}";} print "<OPTION value=\"$articel_code\">$articel_code - {$row['articel_name']}</OPTION>\n"; } ?> </SELECT> |
Hier komt dus een $_POST['articel_code'] uit welke multiple waardes kan hebben (je kan in het form dus met ctrl meerdere artikelen selecteren)
Maar als ik 'm echo zie ik alleen de laatst geselecteerde waarde 
en wanneer wordt die bug in de [ php ] tag gefixed zodat '<' niet meer als z'n htmlentitie wordt weer gegeven  |
Swetsenegger | woensdag 16 februari 2005 @ 11:13 |
quote: |
SuperRembo | woensdag 16 februari 2005 @ 12:41 |
quote:Op woensdag 16 februari 2005 11:10 schreef Swetsenegger het volgende:Nieuw probleempje Ik heb het volgende form [ code verwijderd ] Hier komt dus een $_POST['articel_code'] uit welke multiple waardes kan hebben (je kan in het form dus met ctrl meerdere artikelen selecteren) Maar als ik 'm echo zie ik alleen de laatst geselecteerde waarde en wanneer wordt die bug in de [ php ] tag gefixed zodat '<' niet meer als z'n htmlentitie wordt weer gegeven  1 | <select class="form" name="articel_code[]" multiple="multiple" style="width:400px;" size="3"> |
 |
Swetsenegger | woensdag 16 februari 2005 @ 13:06 |
quote: En ik het maar in m'n php script zoeken  |
Darkomen | woensdag 16 februari 2005 @ 13:31 |
quote: ob_flush(): failed to flush buffer. No buffer to flush bla2.php
1 2 3 4 5 6 7 8 9 10 11 12 | <? $data =''; $data .= str_repeat(" ", 256); $i = 100; while($i > 0) { $data .= $i." bottle".($i != 1 ? 's' : '')." of beer on the wall, ".$i." bottle".($i != 1 ? 's' : '')." of beer. Take one down and pass it around, ".(--$i)." bottle".($i != 1 ? 's' : '')." of beer on the wall<br>\n"; flush(); ob_flush(); sleep(2); }
?> |
bla.php
1 2 3 4 5 | <? error_reporting(E_ALL); include('bla2.php'); echo $data; ?> |
Ik heb de phpmanual over flush ook gelezen maar helaas word ik daar niet veel wijzer van |
SuperRembo | woensdag 16 februari 2005 @ 13:59 |
quote:Op woensdag 16 februari 2005 13:31 schreef Darkomen het volgende:[..] ob_flush(): failed to flush buffer. No buffer to flush bla2.php [ code verwijderd ] bla.php [ code verwijderd ] Ik heb de phpmanual over flush ook gelezen maar helaas word ik daar niet veel wijzer van Je hebt het script zo aangepast dat ie niets meer output. De output buffer blijft dus leeg. Daar geeft ie een notice van. |
Darkomen | woensdag 16 februari 2005 @ 16:17 |
Ik heb het idee dat je me probeert op te voeden Heel aardig, bij mij werkt het alleen beter als ik een voorbeeld heb die werkt, dan weet ik wat ik fout doe en dan kan ik gaan rotzooien om te krijgen wat ik echt wil.
Ik heb bijvoorbeeld al veel dingen geprobeerd zoals flush($data); ob_flush($data); maar niets dat me hierbij helpt, zelfs gegoogeld op flush($
Daarnaast zit ik met iets anders, een php script maakt een map aan (0777)en wil daarna een bestand uploaden naar die map, maar dan ontstaat de onderstaande fout. is daar een omweg voor:
Warning: copy(): SAFE MODE Restriction in effect. The script whose uid is 22330 is not allowed to access /home/virtual/site101/fst/home/stefan/public_html/stash/test owned by uid 48 in /home/virtual/site101/fst/home/stefan/public_html/test.php on line 5 |
Chandler | woensdag 16 februari 2005 @ 18:40 |
Heeft iemand voor deze 3 niet werkende validatie functies een verbetering? zodat ze wel werken? 
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 | <?php if (eregi("/^(http|https|ftp)\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(:[a-zA-Z0-9]<img src="http://images.fok.nl/s/shiny.gif" width="15" height="15" alt="" />?/?([a-zA-Z0-9\-\._\?\,\'/\\\+&%\$#\=~])*[^\.\,\)\(\s]$/", $in)) { return $in; } else { return $err; }
break;
case "date": /* Date format : dd-mm-yyyy */
$dt = str_replace("/", "-", $in); // if found / change to - $dt = str_replace(" ", "-", $dt); // if found [space] change to -
if (preg_match("/^(?=\d)(?:(?!(?:(?:0?[5-9]|1[0-4])(?:\.|-|\/)10(?:\.|-|\/)(?:1582))|(?:(?:0?[3-9]|1[0-3])(?:\.|-|\/)0?9(?:\.|-|\/)(?:1752)))(31(?!(?:\.|-|\/)(?:0?[2469]|11))|30(?!(?:\.|-|\/)0?2)|(?:29(?:(?!(?:\.|-|\/)0?2(?:\.|-|\/))|(?=\D0?2\D(?:(?!000[04]|(?:(?:1[^0-6]|[2468][^048]|[3579][^26])00))(?:(?:(?:\d\d)(?:[02468][048]|[13579][26])(?!\x20BC))|(?:00(?:42|3[0369]|2[147]|1[258]|09)\x20BC))))))|2[0-8]|1\d|0?[1-9])([-.\/])(1[012]|(?:0?[1-9]))\2((?=(?:00(?:4[0-5]|[0-3]?\d)\x20BC)|(?:\d{4}(?:$|(?=\x20\d)\x20)))\d{4}(?:\x20BC)?)(?:$|(?=\x20\d)\x20))?((?:(?:0?[1-9]|1[012])(?::[0-5]\d){0,2}(?:\x20[aApP][mM]))|(?:[01]\d|2[0-3])(?::[0-5]\d){1,2})?$/", $dt)) { return $in; } else { return $err; }
break;
case "time": $in = str_replace("/", ":", $in); // if found / change to : $in = str_replace(" ", ":", $in); // if found [space] change to :
if (preg_match("/(^|^[0-9]*:)[0-9]{2}(\.[0-9]{1,2}$|$)/", $in)) { return $in; } else { return $err; } break; ?> |
thank you from the buttom of mie hert!  |
DutchBlood | woensdag 16 februari 2005 @ 19:35 |
Wil je per se regular expressions gebruiken? |
SuperRembo | woensdag 16 februari 2005 @ 19:40 |
quote:Op woensdag 16 februari 2005 16:17 schreef Darkomen het volgende:Ik heb het idee dat je me probeert op te voeden  Heel aardig, bij mij werkt het alleen beter als ik een voorbeeld heb die werkt, dan weet ik wat ik fout doe en dan kan ik gaan rotzooien om te krijgen wat ik echt wil. Ik heb je een werkend voorbeeld gegeven. Daar heb je zo mee zitten rotzooien dat 't niet meer werkt  quote:Ik heb bijvoorbeeld al veel dingen geprobeerd zoals flush($data); ob_flush($data); maar niets dat me hierbij helpt, zelfs gegoogeld op flush($ ob_flush flusht de output buffer. Als je niets in de output buffer zet (geen echo/print), dan is er niets te flushen. ob_flush() vervroegd alleen de output. Als er zonder ob_flush() geen output is, dan is die er ook niet met ob_flush(). |
Cafun | woensdag 16 februari 2005 @ 20:15 |
tvp |
Darkomen | donderdag 17 februari 2005 @ 09:08 |
quote:Op woensdag 16 februari 2005 19:40 schreef SuperRembo het volgende:[..] Ik heb je een werkend voorbeeld gegeven. Daar heb je zo mee zitten rotzooien dat 't niet meer werkt  [..] ob_flush flusht de output buffer. Als je niets in de output buffer zet (geen echo/print), dan is er niets te flushen. ob_flush() vervroegd alleen de output. Als er zonder ob_flush() geen output is, dan is die er ook niet met ob_flush(). Ik doe m'n best om het te begrijpen, maar volgens jou moet ik dus voor flush(), $data echoen? Ik ga vandaag nog ff rotzooien eens kijken of het mezelf lukt, maar als het niet lukt zou je dan nog ff kunnen helpen?
Dit is dus wat ik wil
Include.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <? $moeilijke_code if ($succes_moeilijke_code) { $data .="gelukt"; flush();// dus output $data naar de browser en ga weer verder met de code. ) $andere_moeilijke_code if ($succes_andere_moeilijke_code) { $data .="gelukt"; flush(); ) $weer_andere_moeilijke_code if ($succes_weer_andere_moeilijke_code) { $data .="gelukt"; flush(); ) ?> |
index.php
1 2 3 4 5 6 | <? include('include.php'); echo 'wat html zooi'; echo $data; echo 'nog wat html zooi'; ?> |
|
Swetsenegger | donderdag 17 februari 2005 @ 10:05 |
Volgens mij start je helemaal bovenaan met ob_start() en helemaal onderaan je pagina een ob_flush() Verder hoef je je nergens druk over te maken.
Maar wanneer je goed script heb je geen buffering nodig. Zet gewoon elke voorwaardelijke actie welke headers aanpast helemaal bovenaan je pagina.
En als ik je script zie begrijp ik niet waarom je flush of buffering nodig zou hebben  |
Darkomen | donderdag 17 februari 2005 @ 11:07 |
quote:Op donderdag 17 februari 2005 10:05 schreef Swetsenegger het volgende:Volgens mij start je helemaal bovenaan met ob_start() en helemaal onderaan je pagina een ob_flush() Verder hoef je je nergens druk over te maken. Maar wanneer je goed script heb je geen buffering nodig. Zet gewoon elke voorwaardelijke actie welke headers aanpast helemaal bovenaan je pagina. En als ik je script zie begrijp ik niet waarom je flush of buffering nodig zou hebben  HEt script doet een aantal dingen, 1 image uploaden: geen echt zwaar iets maar wel leuk als de user te zien krijgt, foto is upgeload 2. image word geresized,dit duurt soms wel even bijvoorbeeld bij foto's boven de 2000px 3. thumbnail word aangemaakt, ook weer niet zwaar maar ook leuk als de user hier info over krijgt 4. Onder de image word een 'copyright' balk aangebracht.
Dit alles tezamen duurt wel even als er grote images worden geupload. aan mij resize script zal het toch niet liggen?
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 | function createthumb($start_image,$enddirectory_image,$new_w,$new_h,$extension){
if (preg_match("/jpg|jpeg|JPG/",$extension)){$src_img=imagecreatefromjpeg($start_image);} if (preg_match("/png/",$extension)){$src_img=imagecreatefrompng($start_image);} if (preg_match("/gif/",$extension)){$src_img=imagecreatefromgif($start_image);}
$old_x=imageSX($src_img); $old_y=imageSY($src_img);
if ($old_x > $old_y) { $thumb_w=$new_w; $thumb_h=$old_y*($new_h/$old_x); } if ($old_x < $old_y) { $thumb_w=$old_x*($new_w/$old_y); $thumb_h=$new_h; } if ($old_x == $old_y) { $thumb_w=$new_w; $thumb_h=$new_h; }
$dst_img=ImageCreateTrueColor($thumb_w,$thumb_h); imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y); if(preg_match("/png/",$extension)) {imagepng($dst_img,$enddirectory_image);} elseif(preg_match("/jpg|jpeg|JPG/",$extension)) {imagejpeg($dst_img,$enddirectory_image);} else {imagegif($dst_img,$enddirectory_image);}
imagedestroy($dst_img); } |
|
dnzl | donderdag 17 februari 2005 @ 11:20 |
Ik heb een redelijk groot formulier welke ik graag zou invoegen in m'n database.
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 | SQL; CREATE TABLE `werkstations` ( `id` int(11) NOT NULL auto_increment, `consultant` varchar(25) NOT NULL default 'Niet ingev.', `klant` varchar(25) NOT NULL default 'Niet ingev.', `datum` varchar(20) NOT NULL default '0-0-0-0', `cp_naam` varchar(25) NOT NULL default '', `cp_user` varchar(25) NOT NULL default '', `cp_ip` varchar(20) NOT NULL default '0.0.0.0', `gateway` varchar(20) NOT NULL default '0.0.0.0', `domeinnaam` varchar(40) NOT NULL default '', `subnetmask` varchar(30) NOT NULL default '0.0.0.0', `dnsip1` varchar(30) NOT NULL default '0.0.0.0', `dnsip2` varchar(30) NOT NULL default '0.0.0.0', `dhcp` varchar(4) NOT NULL default '', `win95` varchar(30) NOT NULL default '', `win95_taal` varchar(30) NOT NULL default '', `win98` varchar(30) NOT NULL default '', `win98_taal` varchar(30) NOT NULL default '', `winme` varchar(30) NOT NULL default '', `winme_taal` varchar(30) NOT NULL default '', `winnt` varchar(30) NOT NULL default '', `winnt_taal` varchar(30) NOT NULL default '', `winnt_sp` varchar(5) NOT NULL default '', `win2000` varchar(30) NOT NULL default '', `win2k_taal` varchar(30) NOT NULL default '', `win2k_sp` varchar(5) NOT NULL default '', `winxp` varchar(30) NOT NULL default '', `winxp_taal` varchar(30) NOT NULL default '', `winxp_type` varchar(6) NOT NULL default 'Pro', `winxp_sp` varchar(4) NOT NULL default '', `antivirus` varchar(30) NOT NULL default '', `av_taal` varchar(30) NOT NULL default '', `antivirus2` varchar(30) NOT NULL default '', `av_taal2` varchar(30) NOT NULL default '', `msoffice` varchar(30) NOT NULL default '', `mso_taal` varchar(30) NOT NULL default '', `mso_type` varchar(5) NOT NULL default '', `mso_sp` varchar(5) NOT NULL default '', `inte_expl` varchar(30) NOT NULL default '', `ie_taal` varchar(30) NOT NULL default '', `acrobat` varchar(30) NOT NULL default '', `acro_taal` varchar(30) NOT NULL default '', `winzip` varchar(30) NOT NULL default '', `wz_taal` varchar(30) NOT NULL default '', `extrapp1` varchar(30) NOT NULL default '', `extrapp2` varchar(30) NOT NULL default '', `extrapp3` varchar(30) NOT NULL default '', `opmerking` varchar(30) NOT NULL default 'Geen', `merk` varchar(30) NOT NULL default '', `outled` varchar(30) NOT NULL default '', `behuizing` varchar(30) NOT NULL default '', `model` varchar(30) NOT NULL default '', `model_serie` varchar(30) NOT NULL default '0.0.0.0', `monitor` varchar(6) NOT NULL default '', `monitor_serie` varchar(30) NOT NULL default '0.0.0.0', `monitor_soort` varchar(40) NOT NULL default '', `monitor_type` varchar(10) NOT NULL default '', `pentium_type` varchar(4) NOT NULL default '4', `processor` varchar(20) NOT NULL default 'Pentium', `proc_overig` varchar(20) NOT NULL default '', `snelheid` varchar(30) NOT NULL default '', `geheugen` varchar(4) NOT NULL default '', `geheugen2` varchar(4) NOT NULL default '', `maalgeheugen` varchar(30) NOT NULL default '', `maalgeheugen2` varchar(30) NOT NULL default '', `geheugenpos_vrij` varchar(30) NOT NULL default '', `geheugenpos_totaal` varchar(30) NOT NULL default '', `vasteschijf` varchar(10) NOT NULL default '', `vasteschijf_type` varchar(12) NOT NULL default '', `cdrom` varchar(10) NOT NULL default '', `cdrom_type` varchar(6) NOT NULL default '', `grafisch_type` varchar(30) NOT NULL default '', `grafisch_model` varchar(10) NOT NULL default '', `geluids` varchar(15) NOT NULL default 'Geïntegreerd', `netwerk1` varchar(10) NOT NULL default '', `netwerk2` varchar(10) NOT NULL default '', `modem_soort` varchar(10) NOT NULL default '', `modem_serie` varchar(30) NOT NULL default '', `modem_type` varchar(30) NOT NULL default '', `aansl_parallel` varchar(10) NOT NULL default '0', `aansl_parallel2` varchar(10) NOT NULL default '0', `aansl_serieel19` varchar(10) NOT NULL default '0', `aansl_serieel25` varchar(10) NOT NULL default '0', `aansl_usb` varchar(10) NOT NULL default '0', `aansl_usb2` varchar(10) NOT NULL default '0', `schijfpos_vrijaantal1` varchar(5) NOT NULL default '', `schijfpos_vrijaantal2` varchar(5) NOT NULL default '', `toetsenbord` varchar(30) NOT NULL default '', `muis` varchar(30) NOT NULL default '', `overig` varchar(50) NOT NULL default '', PRIMARY KEY (`id`) ) TYPE=MyISAM AUTO_INCREMENT=1 |
proces.php
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 | <? $consultant=$_POST['consultant']; $klant=$_POST['klant']; $datum=$_POST['datum']; $cp_naam=$_POST['cp_naam']; $cp_user=$_POST['cp_user']; $cp_ip=$_POST['cp_ip']; $gateway=$_POST['gateway']; $domeinnaam=$_POST['domeinnaam']; $subnetmask=$_POST['subnetmask']; $dnsip1=$_POST['dnsip1']; $dnsip2=$_POST['dnsip2']; $dhcp=$_POST['dhcp']; $win95=$_POST['win95']; $win95_taal=$_POST['win95_taal']; $win98=$_POST['win98']; $win98_taal=$_POST['win98_taal']; $winme=$_POST['winme']; $winme_taal=$_POST['winme_taal']; $winnt=$_POST['winnt']; $winnt_taal=$_POST['winnt_taal']; $winnt_sp=$_POST['winnt_sp']; $win2000=$_POST['win2000']; $win2k_taal=$_POST['win2k_taal']; $win2k_sp=$_POST['win2k_sp']; $winxp=$_POST['winxp']; $winxp_taal=$_POST['winxp_taal']; $winxp_sp=$_POST['winxp_sp']; $antivirus=$_POST['antivirus']; $av_taal=$_POST['av_taal']; $antivirus2=$_POST['antivirus2']; $av_taal2=$_POST['av_taal2']; $msoffice=$_POST['msoffice']; $mso_taal=$_POST['mso_taal']; $mso_type=$_POST['mso_type']; $mso_sp=$_POST['mso_sp']; $inte_expl=$_POST['inte_expl']; $ie_taal=$_POST['ie_taal']; $acrobat=$_POST['acrobat']; $acro_taal=$_POST['acro_taal']; $winzip=$_POST['winzip']; $wz_taal=$_POST['wz_taal']; $extrapp1=$_POST['extrapp1']; $extrapp2=$_POST['extrapp2']; $extrapp3=$_POST['extrapp3']; $opmerking=$_POST['opmerking']; $merk=$_POST['merk']; $outled=$_POST['outled']; $behuizing=$_POST['behuizing']; $model=$_POST['model']; $model_serie=$_POST['model_serie']; $monitor=$_POST['monitor']; $monitor_serie=$_POST['monitor_serie']; $monitor_soort=$_POST['monitor_soort']; $monitor_type=$_POST['monitor_type']; $pentium_type=$_POST['pentium_type']; $processor=$_POST['processor']; $proc_overig=$_POST['proc_overig']; $snelheid=$_POST['snelheid']; $geheugen=$_POST['geheugen']; $geheugen2=$_POST['geheugen2']; $maalgeheugen=$_POST['maalgeheugen']; $maalgeheugen2=$_POST['maalgeheugen2']; $geheugenpos_vrij=$_POST['geheugenpos_vrij']; $geheugenpos_totaal=$_POST['geheugenpos_totaal']; $vasteschijf=$_POST['vasteschijf']; $vasteschijf_type=$_POST['vasteschijf_type']; $cdrom=$_POST['cdrom']; $cdrom_type=$_POST['cdrom_type']; $grafisch_type=$_POST['grafisch_type']; $grafisch_model=$_POST['grafisch_model']; $geluids=$_POST['geluids']; $netwerk1=$_POST['netwerk1']; $netwerk2=$_POST['netwerk2']; $modem_soort=$_POST['modem_soort']; $modem_serie=$_POST['modem_serie']; $modem_type=$_POST['modem_type']; $aansl_parallel=$_POST['aansl_parallel']; $aansl_parallel2=$_POST['aansl_parallel2']; $aansl_serieel19=$_POST['aansl_serieel19']; $aansl_serieel25=$_POST['aansl_serieel25']; $aansl_usb=$_POST['aansl_usb']; $aansl_usb2=$_POST['aansl_usb2']; $schijfpos_vrijtype=$_POST['schijfpos_vrijtype']; $schijfpos_vrijaantal1=$_POST['schijfpos_vrijaantal1']; $schijfpos_vrijaantal2=$_POST['schijfpos_vrijaantal2']; $toetsenbord=$_POST['toetsenbord']; $muis=$_POST['muis']; $overig=$_POST['overig']; ?> <? $sql = " INSERT INTO werkstations (consultant, klant, datum, cp_naam, cp_user, cp_ip, gateway, domeinnaam, subnetmask, dnsip1, dnsip2, dhcp, win95, win95_taal, win98, win98_taal, winme, winme_taal, winnt, winnt_taal, winnt_sp, win2000, win2k_taal, win2k_sp, winxp, winxp_taal, winxp_sp, winxp_type, antivirus, av_taal, antivirus2, av_taal2, msoffice, mso_taal, mso_type, mso_sp, inte_expl, ie_taal, acrobat, acro_taal, winzip, wz_taal, extrapp1, extrapp2, extrapp3, opmerking, merk, outled, behuizing, model, model_serie, monitor, monitor_serie, monitor_soort, monitor_type, pentium_type, processor, proc_overig, snelheid, geheugen, geheugen2, maalgeheugen, maalgeheugen2, geheugenpos_vrij, geheugenpos_totaal, vasteschijf, vasteschijf_type, cdrom, cdrom_type, grafisch_type, grafisch_model, geluids, netwerk1, netwerk2, modem_soort, modem_serie, modem_type, aansl_parallel, aansl_parallel2, aansl_serieel19, aansl_serieel25, aantal_usb, aantal_usb2, schijfpos_vrijaantal1, schijfpos_vrijaantal2, toetsenbord, muis, overig) VALUES ('$consultant','$klant','$datum','$cp_naam','$cp_user','$cp_ip','$gateway','$domeinnaam','$subnetmask','$dnsip1','$dnsip2','$dhcp','$win95','$win95_taal','$win98','$win98_taal','$winme','$winme_taal','$winnt','$winnt_taal','$winnt_sp','$win2000,'$win2k_taal','$win2k_sp','$winxp','$winxp_taal','$winxp_sp','$winxp_type','$antivirus','$av_taal','$antivirus2','$av_taal2','$msoffice','$mso_taal','$mso_type','$mso_sp','$inte_expl','$ie_taal','$acrobat','$acro_taal','$winzip','$wz_taal','$extrapp1','$extrapp2','$extrapp3','$opmerking','$merk','$outled','$behuizing','$model','$model_serie','$monitor','$monitor_serie','$monitor_soort','$monitor_type','$pentium_type','$processor','$proc_overig','$snelheid','$geheugen','$geheugen2','$maalgeheugen','$maalgeheugen2','$geheugenpos_vrij','$geheugenpos_totaal','$vasteschijf','$vasteschijf_type','$cdrom','$cdrom_type','$grafisch_type','$grafisch_model','$geluids','$netwerk1','$netwerk2','$modem_soort','$modem_serie','$modem_type','$aansl_parallel', '$aansl_parallel2','$aan_serieel19','$aansl_serieel25','$aantal_usb','$aantal_usb2','$schijfpos_vrijaantal1','$schijfpos_vrijaantal2','$toetsenbord','$muis','$overig')"; ?> |
mySQL geeft me terug; 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 'McAfeee Anti Virus','NL','Norton','UK','XP','NL','Pro','2','6.0
Dit is in de regio van - antivirus tot ~ie_taal. Ik staar me er zowat blind op, kan echt niet zien wat ik nu verkeerd doe :S.
(form eventueel -> http://www.nesyin.nl/form.html <- hier te bekijken ) Help me aub, word stapelgek |
SuperRembo | donderdag 17 februari 2005 @ 12:04 |
De grootste fout is je datamodel. Een hoop werk om te maken, een drama om te onderhouden. |
Kapt.Ruigbaard | donderdag 17 februari 2005 @ 12:21 |
Op Fok (bijvoorbeeld) worden bericht titels uit het nieuws die langer zijn dan een x-aantal tekens afgekort. Als je hier met de muis overheen beweegt, verschijnt de volledige titel wel. Het lijkt een beetje op de ALT van een plaatje.
Mijn vraag is, hoe krijg je zoiets voor elkaar? |
Chandler | donderdag 17 februari 2005 @ 12:22 |
quote: Nee dat hoeft niet persee maar is meestal wel zo gemakkelijk toch?  |
maniack28 | donderdag 17 februari 2005 @ 12:43 |
Ik probeer een txt bestand op te splitten in kleine stukjes, want die stukjes moeten gedoceerd worden. Het zijn zogenaamde synops met informatie over het weer.(zie: http://www.meteonet.nl/educatief/synopcode.htm) Alleen het probleem is, ik heb nu alles gesplitst en die hebben nu dus waarden van $boom[0] t/m $boom[last] alleen bestaat zo'n boom uit bijv. de code: SMMJO1 alleen moet die ook weer gesplit worden, want bijv. de eerste 2 letters heben een betekenis en de laatste 4 ook.... Hoe krijg ik dat voor elkaar?
Dit is mn huidige codequote:<?php
$filename = "synop.txt"; $handle = fopen($filename, "r"); $contents = fread($handle, filesize($filename)); fclose($handle);
$boom = explode(" ", $contents); $last = count($boom) - 1;
// waarden zitten nu in $boom[0] tot en met $boom[$last]
echo("$boom[0] $boom[1] $boom[2] $boom[3] $boom[4] $boom[5] $boom[6] $boom[7] $boom[8]");
?> |
dnzl | donderdag 17 februari 2005 @ 12:58 |
quote: Verklaar je nader, svp |
DutchBlood | donderdag 17 februari 2005 @ 13:23 |
quote: Nou, bv bij date en time: date:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php $arr = explode($string,'-'); /* Waar '-' is het scheidingsteken dus */ foreach($arr as $val) { if (!is_numeric($val)) { $error = true; /* Een van de velden is niet numeriek, dus fout */ } else { /* Velden zijn alleen numeriek */ if($arr[0] >= 1 and $arr[0] <= date($arr[1])) { /* Date ok */ }
if($arr[1] >= 1 and $arr[1] <= 12) { /* Maand ok */ } } ?> |
Dit is maar even een voorbeeldje, misschien wat omslachtig en on compact/ |
ikke_ook | donderdag 17 februari 2005 @ 16:42 |
quote:Op maandag 14 februari 2005 20:33 schreef Johan-Derksen het volgende:[ code verwijderd ] DIt is dus mn huidige code... maar er wordt niet iets aangepast in de tabel gebruikers met kolom password Dat is erg jammer  Ik weet niet of het antwoord al is gegeven, maar ik denk dat je mysql_fetch_assoc moet gebruiken |
Swetsenegger | donderdag 17 februari 2005 @ 17:07 |
quote:Op donderdag 17 februari 2005 12:43 schreef maniack28 het volgende:Ik probeer een txt bestand op te splitten in kleine stukjes, want die stukjes moeten gedoceerd worden. Het zijn zogenaamde synops met informatie over het weer.(zie: http://www.meteonet.nl/educatief/synopcode.htm) Alleen het probleem is, ik heb nu alles gesplitst en die hebben nu dus waarden van $boom[0] t/m $boom[last] alleen bestaat zo'n boom uit bijv. de code: SMMJO1 alleen moet die ook weer gesplit worden, want bijv. de eerste 2 letters heben een betekenis en de laatste 4 ook.... Hoe krijg ik dat voor elkaar? Dit is mn huidige code [..] 1 2 3 4 5 6 | <?php foreach($boom as $value){ $boom_front=substr($value,0,2); $boom_back=substr($value,3,6); } ?> |
bv Maar dat gaat dus alleen op wanneer het ALTIJD de eerste 2 en laatste 3 karakters moeten zijn. Indien dit wisselt (bv 3 om 3) zal je met preg_replace oid moeten gaan werken.
[ Bericht 10% gewijzigd door Swetsenegger op 17-02-2005 18:49:40 ] |
Maikey | donderdag 17 februari 2005 @ 19:25 |
Ik ben bezig met een online shop met daarin een cart met je bestelde producten. Momenteel ben ik bezig met het berekenen van de totaalprijs, alles wordt nu netjes berekend, alleen PHP stript de laatste nullen van een getal eraf, bijvoorbeeld 2,50 wordt 2,5. Is hier een speciale functie voor om die laatste cijfers te behouden? |
SuperRembo | donderdag 17 februari 2005 @ 19:40 |
quote:Op donderdag 17 februari 2005 19:25 schreef Maikey het volgende:Ik ben bezig met een online shop met daarin een cart met je bestelde producten. Momenteel ben ik bezig met het berekenen van de totaalprijs, alles wordt nu netjes berekend, alleen PHP stript de laatste nullen van een getal eraf, bijvoorbeeld 2,50 wordt 2,5. Is hier een speciale functie voor om die laatste cijfers te behouden? printf() / sprintf() / number_format() |
Light | donderdag 17 februari 2005 @ 19:42 |
quote:Op donderdag 17 februari 2005 19:25 schreef Maikey het volgende:Ik ben bezig met een online shop met daarin een cart met je bestelde producten. Momenteel ben ik bezig met het berekenen van de totaalprijs, alles wordt nu netjes berekend, alleen PHP stript de laatste nullen van een getal eraf, bijvoorbeeld 2,50 wordt 2,5. Is hier een speciale functie voor om die laatste cijfers te behouden? Met printf of sprintf zou je een heel eind moeten kunnen komen  |
Kapt.Ruigbaard | donderdag 17 februari 2005 @ 19:56 |
quote:Op donderdag 17 februari 2005 12:21 schreef Kapt.Ruigbaard het volgende:Op Fok (bijvoorbeeld) worden bericht titels uit het nieuws die langer zijn dan een x-aantal tekens afgekort. Als je hier met de muis overheen beweegt, verschijnt de volledige titel wel. Het lijkt een beetje op de ALT van een plaatje. Mijn vraag is, hoe krijg je zoiets voor elkaar? Iemand?
Ik zit trouwens met nog een vraagje. Ik gebruik UBB code, en daarmee wil ik een plaatje neer zetten
1 | $bericht = eregi_replace("\\[img\\]([^\\[] \\[/img\\]", "<img src=\"\\1\">",$bericht); |
De Tags [img ] en [ /img] zet hij netjes neer in mijn edit scherm. Alleen als ik de de boel nu opsla leest hij in plaats van <img src etc. [ img] link [ /img] uit
Iemand enig idee wat er fout gaat? |
Swetsenegger | donderdag 17 februari 2005 @ 20:02 |
quote: Teksten langer dan x-aantal tekens afkorten met substr alternative alt (tooltip) doe je met javascript, bv: http://www.walterzorn.com/tooltip/tooltip_e.htm |
SuperRembo | donderdag 17 februari 2005 @ 20:33 |
quote: Dat doe je gewoon met de title attrubute. Daar is geen javascript voor nodig. |
Swetsenegger | donderdag 17 februari 2005 @ 22:38 |
quote: Klopt, maar een tooltip schuift mooi mee  |
dnzl | vrijdag 18 februari 2005 @ 12:48 |
1 | DELETE * FROM calls wHERE nsiemp = '$nsiemp' |
Ik heb een klein select formpje in HTML die voor deze actie zit. Hoe zorg ik ervoor dat hij die waarde van dat select als '$nsiemp' gebruikt? |
dnzl | vrijdag 18 februari 2005 @ 12:48 |
1 | DELETE * FROM calls wHERE nsiemp = '$nsiemp' |
Ik heb een klein select formpje in HTML die voor deze actie zit. Hoe zorg ik ervoor dat hij die waarde van die select als '$nsiemp' gebruikt? |
dnzl | vrijdag 18 februari 2005 @ 12:48 |
Oeps, dubbel  |
ikke_ook | vrijdag 18 februari 2005 @ 13:33 |
quote:Op vrijdag 18 februari 2005 12:48 schreef dnzl het volgende:[ code verwijderd ] Ik heb een klein select formpje in HTML die voor deze actie zit. Hoe zorg ik ervoor dat hij die waarde van die select als '$nsiemp' gebruikt? $nsiemp vervangen door $_POST['nsiemp'] ? Ik weet niet precies wat je bedoelt maar ik denk dat je dit bedoelt, als je de select knop tenminste als naam nsiemp hebt gegeven |
Pronk | vrijdag 18 februari 2005 @ 13:50 |
Ik heb een scriptje gemaakt dat regels wegschrijft in een tekstbestandje, nu heb ik een scriptje van een site gehaald om het bestandje te downloaden.
Mijn probleem is nu dat het bestandje gewoon wordt gedownload meer niet in het juiste formaat. Het bestandje dat nu wordt gedownload bestaat eigenlijk uit 1 lange regel gescheiden met een raar blokje. Het is natuurlijk de bedoeling dat er een nieuwe regel begint i.p.v de rare blokjes.
Ik denk dat dit is op te lossen door het HEADER gedeelte van dit scriptje aan te passen. Is mijn gedachte goed? Hoe moet ik deze headers veranderen?
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 | <?php if(isset($_GET['download']) AND strlen($_GET['download']) > 0) { if (eregi("\/", $_GET['download'])) $filename = substr(strrchr($_GET['download'], "/"), 1); else $filename = $_GET['download']; if (@!$fp = fopen($_GET['download'], "r")) $error = "Kan ".$filename." niet uitlezen.\n"; else { if (@!$content = fread($fp, filesize($_GET['download']))) $error = "Kan ".$filename." niet uitlezen.\n"; else { $handle = popen("/usr/bin/file -b '".addslashes($_GET['download'])."'", "r"); pclose($handle); header ("Content-Type: text/html".$filetype); header ("Content-Transfer-Encoding: ascii".$filetype); header ("Content-Disposition: attachment; filename=".$filename); echo $content; unset($error); } fclose($fp); } exit; } if (isset($error)) { echo "$error"; } ?> |
|
Swetsenegger | vrijdag 18 februari 2005 @ 19:30 |
quote:Op vrijdag 18 februari 2005 13:50 schreef Pronk het volgende:Ik heb een scriptje gemaakt dat regels wegschrijft in een tekstbestandje, nu heb ik een scriptje van een site gehaald om het bestandje te downloaden. Mijn probleem is nu dat het bestandje gewoon wordt gedownload meer niet in het juiste formaat. Het bestandje dat nu wordt gedownload bestaat eigenlijk uit 1 lange regel gescheiden met een raar blokje. Het is natuurlijk de bedoeling dat er een nieuwe regel begint i.p.v de rare blokjes. Ik denk dat dit is op te lossen door het HEADER gedeelte van dit scriptje aan te passen. Is mijn gedachte goed? Hoe moet ik deze headers veranderen? [ code verwijderd ] nl2br:
1 2 3 4 | <?php $content=nl2br($content); echo $content; ?> |
|
SuperRembo | vrijdag 18 februari 2005 @ 20:34 |
Als het een tekstbestand is, stuur dan ook een tekst-header:
1 | header ("Content-Type: text/plain"); |
Waar dient dit eigenlijk voor?
1 2 | $handle = popen("/usr/bin/file -b '".addslashes($_GET['download'])."'", "r"); pclose($handle); |
|
wonderer | zaterdag 19 februari 2005 @ 00:23 |
Ik zit nu door de code van phpBB te graven op zoek naar een manier om iets voor elkaar te krijgen, en ik zie dat er een functie wordt gedefinieerd met function name(&$variabele1, &$variabele2) etc... waarom staat die & daar? Dat heb ik nog nooit gezien... |
Darkomen | zondag 20 februari 2005 @ 12:26 |
quote:Op donderdag 17 februari 2005 11:07 schreef Darkomen het volgende:[quote] Op donderdag 17 februari 2005 10:05 schreef Swetsenegger het volgende: Volgens mij start je helemaal bovenaan met ob_start() en helemaal onderaan je pagina een ob_flush() Verder hoef je je nergens druk over te maken. Maar wanneer je goed script heb je geen buffering nodig. Zet gewoon elke voorwaardelijke actie welke headers aanpast helemaal bovenaan je pagina. En als ik je script zie begrijp ik niet waarom je flush of buffering nodig zou hebben HEt script doet een aantal dingen, 1 image uploaden: geen echt zwaar iets maar wel leuk als de user te zien krijgt, foto is upgeload 2. image word geresized,dit duurt soms wel even bijvoorbeeld bij foto's boven de 2000px 3. thumbnail word aangemaakt, ook weer niet zwaar maar ook leuk als de user hier info over krijgt 4. Onder de image word een 'copyright' balk aangebracht.
Dit alles tezamen duurt wel even als er grote images worden geupload. aan mij resize script zal het toch niet liggen?
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 | function createthumb($start_image,$enddirectory_image,$new_w,$new_h,$extension){
if (preg_match("/jpg|jpeg|JPG/",$extension)){$src_img=imagecreatefromjpeg($start_image);} if (preg_match("/png/",$extension)){$src_img=imagecreatefrompng($start_image);} if (preg_match("/gif/",$extension)){$src_img=imagecreatefromgif($start_image);}
$old_x=imageSX($src_img); $old_y=imageSY($src_img);
if ($old_x > $old_y) { $thumb_w=$new_w; $thumb_h=$old_y*($new_h/$old_x); } if ($old_x < $old_y) { $thumb_w=$old_x*($new_w/$old_y); $thumb_h=$new_h; } if ($old_x == $old_y) { $thumb_w=$new_w; $thumb_h=$new_h; }
$dst_img=ImageCreateTrueColor($thumb_w,$thumb_h); imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y); if(preg_match("/png/",$extension)) {imagepng($dst_img,$enddirectory_image);} elseif(preg_match("/jpg|jpeg|JPG/",$extension)) {imagejpeg($dst_img,$enddirectory_image);} else {imagegif($dst_img,$enddirectory_image);}
imagedestroy($dst_img); } |
[/quote] |
DutchBlood | maandag 21 februari 2005 @ 22:46 |
Ik heb de volgende sessie handler geschreven en ik vroeg me af of hier nog op/aanmerkingen op waren:
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 | class sessie{ function open ($j,$k) { $connect = mysql_connect(....); mysql_select_db('....); return true; } function close () {
$this->gc(''); } function read($ses_id) { $q = 'SELECT * FROM sessies WHERE ses_id=\''.$ses_id.'\' and ip=\''.$_SERVER['REMOTE_ADDR'].'\''; $res = mysql_query($q); $data = mysql_fetch_array($res); if(mysql_num_rows($res) < 1) { return ''; } else { return $data['data']; } } function write($ses_id,$data) { $q = 'SELECT * FROM sessies WHERE ses_id=\''.$ses_id.'\''; $res = mysql_query($q); if(mysql_num_rows($res) < 1) { $q = 'INSERT INTO sessies (ses_id,date,data,ip) VALUES (\''.$ses_id.'\','.time().',\''.$data.'\',\''.$_SERVER['REMOTE_ADDR'].'\')'; $res = mysql_query($q); $iets = $q; if(mysql_affected_rows()) { return true; } else { return false; } } else { $q = 'UPDATE sessies SET date='.time().',data=\''.$data.'\' WHERE ses_id=\''.$ses_id.'\''; $res = mysql_query($q); if(mysql_affected_rows()) { return true; } else { return false; } } } function destroy($ses_id) { $q = 'DELETE FROM sessies WHERE ses_id=\''.$ses_id.'\''; $res = mysql_query($q); if($res) { return true; } else { return false; } } function gc($life) { $q = 'DELETE FROM sessies WHERE date<'.strtotime('-4 weeks'); $res = mysql_query($q); return true; } } |
|
Kapt.Ruigbaard | maandag 21 februari 2005 @ 22:46 |
quote: Thnx! Dat was precies wat ik nodig had. |
Johan-Derksen | maandag 21 februari 2005 @ 22:57 |
quote:Op donderdag 17 februari 2005 16:42 schreef ikke_ook het volgende:[..] Ik weet niet of het antwoord al is gegeven, maar ik denk dat je mysql_fetch_assoc moet gebruiken In plaats van die array? Of waar bedoel je precies? |
Cafun | dinsdag 22 februari 2005 @ 07:39 |
Wat is nou eigenlijk een goede edittor voor PHP filetjes? Heb verschillende pakketjes geprobeerd, maar ik wilde ook nog even aan jullie vragen welke goed is  |
SuperRembo | dinsdag 22 februari 2005 @ 07:46 |
quote:Op dinsdag 22 februari 2005 07:39 schreef Cafun het volgende:Wat is nou eigenlijk een goede edittor voor PHP filetjes? Heb verschillende pakketjes geprobeerd, maar ik wilde ook nog even aan jullie vragen welke goed is  ConTEXT bijvoorbeeld. |
Cafun | dinsdag 22 februari 2005 @ 07:47 |
quote: * Cafun zal er eens naar kijken.
Bedankt! |
The_Tankgirl | dinsdag 22 februari 2005 @ 14:29 |
ik heb nu dit upload scriptje en dat wil ik omtoveren in een multiple upload script. Ik heb al een paar dingen geprobeerd maar het lukt me niet. De bestandsnamen van de bestanden moeten ook getoond worden op de pagina. Dit is het (knutsel)script:quote:<form enctype='multipart/form-data' action='upload.php?upload' method='post'> Upload dit bestand: <input name='userfile' type='file'><br /> in deze directory: <input name='dir' value='/var/www/html/uploadtest/'> <input type='submit' value='Upload!'> </form> <?php if($_SERVER['QUERY_STRING'] != 'upload') { echo ""; } else { if($_FILES['userfile']['type'] != '') { $namefile = addslashes($_FILES['userfile']['name']); $typefile = $_FILES['userfile']['type']; $tempname = $_FILES['userfile']['tmp_name']; $filesize = $_FILES['userfile']['size']; $destdirf = $_POST['dir']; $errormsg = $_FILES['userfile']['error']; move_uploaded_file($tempname, $destdirf.$namefile); echo("uploaded"); echo("name: ".$namefile."<br>"); echo("tempname: ".$tempname."<br>"); echo("filesize: ".$filesize."<br>"); echo("type of file: ".$typefile."<br>"); echo("destdir: ".$destdirf."<br>"); echo("error: ".$errormsg); } else { echo "Mogelijke aanval gespot<br>"; }
} Is het dus mogelijk om zoiets als A, B, C, D ipv userfile neer te zetten? ['userfile', 'A', 'B'] lukt niet.. ps: ik ben nog steeds een beetje newbie met PHP, be gentle |
ikke_ook | dinsdag 22 februari 2005 @ 14:51 |
quote: Nee ik had me vergist. Het zou wel moeten werken zoals jij t hebt. |
Wouta | dinsdag 22 februari 2005 @ 16:55 |
Hoi,
Ik heb voor het eerst een functie-tje geschreven in PHP en ik vraag me eigelijk af of ik het wel goed heb gedaan. De functie doet wel wat ik wil maar toch heb ik het idee dat ik teveel code ofzo heb.
1 2 3 4 5 6 7 8 9 10 11 12 | <?php
function datum_vertaal($weekdag,$dagnr,$maandnr) {
$dag=array('zondag','maandag','dinsdag','woensdag','donderdag','vrijdag','zaterdag'); $maand=array('maand','januari','februari','maart','april','mei','juni','juli','augustus','september','oktober','november','december');
$uitkomst = "$dag[$weekdag] $dagnr $maand[$maandnr]"; return $uitkomst; } ?> |
|
Johan-Derksen | dinsdag 22 februari 2005 @ 17:13 |
quote: Dat is kut, want het werkt niet ... 
Als iemand interesse heeft om zich er in te verdiepen, dan kan hij toegang krijgen tot de ftp om ff mee te gluren en te proberen... Naastenliefde is welkom, at the moment  |
ikke_ook | dinsdag 22 februari 2005 @ 17:55 |
quote:Op dinsdag 22 februari 2005 16:55 schreef Wouta het volgende:Hoi, Ik heb voor het eerst een functie-tje geschreven in PHP en ik vraag me eigelijk af of ik het wel goed heb gedaan. De functie doet wel wat ik wil maar toch heb ik het idee dat ik teveel code ofzo heb. [ code verwijderd ] Lijkt me niet dat het veel korter kan, ik zou het ook zo ongeveer doen in ieder geval  |
DutchBlood | woensdag 23 februari 2005 @ 17:03 |
quote:Op dinsdag 22 februari 2005 16:55 schreef Wouta het volgende:Hoi, Ik heb voor het eerst een functie-tje geschreven in PHP en ik vraag me eigelijk af of ik het wel goed heb gedaan. De functie doet wel wat ik wil maar toch heb ik het idee dat ik teveel code ofzo heb. [ code verwijderd ] Niet slecht inderdaad, in de regel zou je beter niet te veel dubbele qoutes gebruiken. Dus:
1 2 3 4 5 6 7 8 | function datum_vertaal($weekdag,$dagnr,$maandnr) {
$dag=array('zondag','maandag','dinsdag','woensdag','donderdag','vrijdag','zaterdag'); $maand=array('maand','januari','februari','maart','april','mei','juni','juli','augustus','september','oktober','november','december');
$uitkomst = $dag[$weekdag] . $dagnr . $maand[$maandnr]; return $uitkomst; } |
Alhoewel het in dit geval denk ik niets uitmaakt. |
Swetsenegger | woensdag 23 februari 2005 @ 20:17 |
quote: ik vind tegenwoordig php designer erg prettig. |
SuperRembo | woensdag 23 februari 2005 @ 21:36 |
quote: Ziet er veelbelovend uit. 
Maar ik ga 'm zelf toch niet gebruiken. Veel wizards die output geven die je zelf sneller typt (voor een hyperlink ) Wat heb ik aan een xhtml template met <body bgcolor="#FFFFFF" ... ? De bebugfunctie klinkt leuk, maar erg veel nuttige info heb ik er zo snel niet uit kunnen halen. |
Swetsenegger | woensdag 23 februari 2005 @ 21:38 |
quote:Op woensdag 23 februari 2005 21:36 schreef SuperRembo het volgende:[..] Ziet er veelbelovend uit.  Maar ik ga 'm zelf toch niet gebruiken. Veel wizards die output geven die je zelf sneller typt (voor een hyperlink  ) Wat heb ik aan een xhtml template met <body bgcolor="#FFFFFF" ... ?  De bebugfunctie klinkt leuk, maar erg veel nuttige info heb ik er zo snel niet uit kunnen halen. Ehmz, ik heb hm nog nooit output zien geven. Soms geeft hij een hint. Maar de filebrowser is wel handig.  |
markiemark | donderdag 24 februari 2005 @ 00:31 |
heb ff een php functietje geschreven.. wat vinden jullie er van? het is om een database datum uit een datetime veld om te vormen naar een leesbare datum:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php function convert_date($date) { $datum = $date; $jaar = substr($datum, 0, 4); $maand = substr($datum, 5, 2); $maand = number_format($maand); $maand = $maand - 1; $maanden = array("Januari", "Februari", "Maart", "April", "Mei", "Juni", "Juli", "Augustus", "September", "Oktober", "November", "December"); $maand = $maanden[$maand]; $dag = substr($datum, 8, 2); $dag = number_format($dag); $uur = substr($datum, 11, 2); $minuut = substr($datum, 14, 2); $datum = $dag." ".$maand." ".$jaar." ".$uur.":".$minuut; echo $datum; } ?> |
|
SuperRembo | donderdag 24 februari 2005 @ 07:48 |
quote:Op donderdag 24 februari 2005 00:31 schreef markiemark het volgende:heb ff een php functietje geschreven.. wat vinden jullie er van? het is om een database datum uit een datetime veld om te vormen naar een leesbare datum: [ code verwijderd ] Misschien is het handig om er commentaar bij te zetten met de input die je verwacht 
Het kan ook met een paar standaard functies van php:
1 2 3 4 5 6 | // datum uit database omzetten naar timestamp $timestamp = strtotime($dbdate); // taal instellen setlocale (LC_TIME, 'dutch'); // of 'nl_NL' , afhankelijk van de server // datum en tijd printen in de standaard vorm van de ingestelde taal echo strftime("%c"); |
In MySql kan je ook een DateTime veld omzetten naar een timestamp, zodat je 'm niet in php hoeft om te zetten van string naar timestamp.
1 | SELECT UNIX_TIMESTAMP(MyDate) AS MyTimestamp FROM MyTable |
|
dnzl | donderdag 24 februari 2005 @ 11:28 |
Ik ga binnekort beginnen aan een vrij groot project (voor mijn doen).
Via een formulier moet er data (tekst, getallen, checkboxes, radiobuttons) in mySQL worden toegevoegt.
Wat ik me afvraag: wat is nou de juiste manier om geposte data in mySQL toe te voegen.
Ik deed het zelf altijd zo (bij kleinere)
1 2 3 4 5 6 7 | form.php <input class="configs" type="text" name="serv_model">
input.php $serv_model=$_POST['serv_model']
INSERT (kolomnaam) VALUES ('$serv_model') |
Ik zie er tegen op om op deze manier grotere formulieren te maken, dus graag tips over hoe dit op de beste, stabielste manier moet lukken |
DutchBlood | vrijdag 25 februari 2005 @ 09:34 |
quote:Op donderdag 24 februari 2005 11:28 schreef dnzl het volgende:Ik ga binnekort beginnen aan een vrij groot project (voor mijn doen). Via een formulier moet er data (tekst, getallen, checkboxes, radiobuttons) in mySQL worden toegevoegt. Wat ik me afvraag: wat is nou de juiste manier om geposte data in mySQL toe te voegen. Ik deed het zelf altijd zo (bij kleinere) [ code verwijderd ] Ik zie er tegen op om op deze manier grotere formulieren te maken, dus graag tips over hoe dit op de beste, stabielste manier moet lukken Als het echt een groot formulier zou worden zou je al je velden in een array kunnen gooien. Dan kun je dynamisch je formulier en query's opbouwen.
Dus zoiets:
1 2 3 4 5 6 7 8 | <?php $velden = array(); $velden[] = array('input type','input naam');
foreach($velden as $veld) { echo '<input type="'.$veld[0].'" name="'.$veld[1].'" />'; } ?> |
Let wel dat je uitzonderingen moet maken tijdens de foreach loop voor radiobuttons etc. |
Swetsenegger | vrijdag 25 februari 2005 @ 23:55 |
Als ik een tabel heb met daarin een kolom prijzen hoe sorteer ik dan op laagste prijs eerst dmv een sql query? |
SuperRembo | zaterdag 26 februari 2005 @ 00:14 |
Of snap ik de vraag niet?
Was er niet ook een MySql voor dummies? |
Swetsenegger | zaterdag 26 februari 2005 @ 10:35 |
quote: Is het werkelijk zo simpel. Ik dacht dit al (de tabel bestaat nog niet) maar twijfelde  |
DutchBlood | zaterdag 26 februari 2005 @ 18:32 |
quote:Op zaterdag 26 februari 2005 10:35 schreef Swetsenegger het volgende:[..] Is het werkelijk zo simpel. Ik dacht dit al (de tabel bestaat nog niet) maar twijfelde  Zorg wel dat het veld van je prijzen numerie(Int, Float, etc) is, anders sorteerst ie ze op 'alfabetische' volgorde. |
SuperRembo | zaterdag 26 februari 2005 @ 19:00 |
quote:Op zaterdag 26 februari 2005 18:32 schreef DutchBlood het volgende:[..] Zorg wel dat het veld van je prijzen numerie(Int, Float, etc) is, anders sorteerst ie ze op 'alfabetische' volgorde. Voor prijzen/bedragen is het type DECIMAL erg geschikt. Je hebt dan een vast aantal decimalen, dan blijft de precisie behouden. |
Pauluzz_U5 | zondag 27 februari 2005 @ 10:34 |
Hallo allemaal Ik heb een filmsite gemaakt, alleen heb het volgende probleem:
In mijn table "acteurs" van een film heb ik dit staan(dit voorbeeld is uit Ocians 12 ): Brad Pitt als Rusty Ryan, Catherine Zeta-Jones als Isabel Lahiri, George Clooney als Danny Ocean, Ed Kross als Bank Officer, Julia Roberts als Tess Ocean, Andy Garcia als Terry Benedict, Casey Affleck als Virgil Malloy, Scott Caan als Turk Malloy, Bernie Mac als Frank Catton, Don Cheadle als BAsher Tarr, Matt Damon als Linus Coldwell, Carl Reiner als Saul Bloom, Eddie Jemison als Livingston Dell, Elliott Gould alsd Reuben Tishkoff, Bruce Willis als "Himself"
Zoals je ziet zijn dit veel namen in een string. Ik wilde mijn script zo gaan aanpassen dat hij elke acteur (dus het gedeelte voor als) ging selecteren, daar een variable van maakt en dat ook doet met de naam van de gene die de acteur/actrice speelt. Dit oplopend, dus $1 = "Brad Pitt", $1.5 = "Rusty Ryan", $2 = "Catherina Zita-Jones" , $2.5 = "Isabel Lahiri", enz
Is dit mogelijk met php?
Alvast bedankt |
Swetsenegger | zondag 27 februari 2005 @ 10:44 |
quote:Op zondag 27 februari 2005 10:34 schreef Pauluzz_U5 het volgende:Hallo allemaal Ik heb een filmsite gemaakt, alleen heb het volgende probleem: In mijn table "acteurs" van een film heb ik dit staan(dit voorbeeld is uit Ocians 12 ): Brad Pitt als Rusty Ryan, Catherine Zeta-Jones als Isabel Lahiri, George Clooney als Danny Ocean, Ed Kross als Bank Officer, Julia Roberts als Tess Ocean, Andy Garcia als Terry Benedict, Casey Affleck als Virgil Malloy, Scott Caan als Turk Malloy, Bernie Mac als Frank Catton, Don Cheadle als BAsher Tarr, Matt Damon als Linus Coldwell, Carl Reiner als Saul Bloom, Eddie Jemison als Livingston Dell, Elliott Gould alsd Reuben Tishkoff, Bruce Willis als "Himself" Zoals je ziet zijn dit veel namen in een string. Ik wilde mijn script zo gaan aanpassen dat hij elke acteur (dus het gedeelte voor als) ging selecteren, daar een variable van maakt en dat ook doet met de naam van de gene die de acteur/actrice speelt. Dit oplopend, dus $1 = "Brad Pitt", $1.5 = "Rusty Ryan", $2 = "Catherina Zita-Jones" , $2.5 = "Isabel Lahiri", enz Is dit mogelijk met php? Alvast bedankt explode |
SuperRembo | zondag 27 februari 2005 @ 10:52 |
quote: En array!  |
Pauluzz_U5 | zondag 27 februari 2005 @ 10:54 |
Donders bedankt , ff checke of het werkt  |
Keksi | zondag 27 februari 2005 @ 14:10 |
Helleuh,
vraagje: ik heb uit een tabel het veld Ingepakt gehaald. De waarde van dit veld wordt gezet in $Ingepakt. De waarde bestaat uit 1 of 0. Meer smaken zijn er niet. Nu wil ik dat er i.p.v. een 0 of 1 een checkbox wordt neergezet die al dan niet is aangevinkt.
echo "<tr><td align=center>$Ingepakt</td>"; if ($ingepakt = 1){ echo "<td><input type=checkbox name=Ingepakt value=$ingepakt></td>";} else { echo "<td><input type=checkbox name=Ingepakt checked=true value=$Ingepakt></td>";} echo "</tr>";
Is de code: alleen om de een of andere reden doet het IF statement het niet. Ben geen ster in PHP dus wat moet ik veranderen het wel te laten werken? Heb het volgende geprobeerd:
if ($Ingepakt == 1) if ($Ingepakt == "1") if ($Ingepakt = "1") if ($Ingepakt = 1)
Maar geen van die 4 werkt...
Thnx |
Pauluzz_U5 | zondag 27 februari 2005 @ 14:33 |
Swetsenegger en SuperRembo, ontiegelijk bedankt , hier ben ik echt fucking blij mee  Het heeft me nog wel een uur gekost voordat ik alles draaiend kreeg, maar toch  |
Jump | zondag 27 februari 2005 @ 14:38 |
quote:Op zondag 27 februari 2005 14:10 schreef Keksi het volgende:Helleuh, vraagje: ik heb uit een tabel het veld Ingepakt gehaald. De waarde van dit veld wordt gezet in $Ingepakt. De waarde bestaat uit 1 of 0. Meer smaken zijn er niet. Nu wil ik dat er i.p.v. een 0 of 1 een checkbox wordt neergezet die al dan niet is aangevinkt. echo "<tr><td align=center>$Ingepakt</td>"; if ($ingepakt = 1){ echo "<td><input type=checkbox name=Ingepakt value=$ingepakt></td>";} else { echo "<td><input type=checkbox name=Ingepakt checked=true value=$Ingepakt></td>";} echo "</tr>"; Is de code: alleen om de een of andere reden doet het IF statement het niet. Ben geen ster in PHP dus wat moet ik veranderen het wel te laten werken? Heb het volgende geprobeerd: if ($Ingepakt == 1) if ($Ingepakt == "1") if ($Ingepakt = "1") if ($Ingepakt = 1) Maar geen van die 4 werkt... Thnx variabelen zijn hoofdleter gevoelig, ik zie $ingepakt in $Ingepakt
$ingepakt = 1 is de waarde 1 toekennen, om te vergelijken gebruik je ==
1 2 3 4 5 6 7 8 9 | <?php echo "<tr><td align=center>" . $ingepakt . "</td>"; if ($ingepakt == 1) { echo '<td><input type="checkbox" name="ingepakt"></td>'; } else { echo '<td><input type="checkbox" name="ingepakt" checked></td>'; } echo "</tr>"; ?> |
|
Pauluzz_U5 | zondag 27 februari 2005 @ 14:40 |
het probleem weet ik denk ik al, het zit namelijk zo dat een variable niet meer werkt buiten de functie. Dus echo "<tr><td align=center>$Ingepakt</td>"; moet binnen de functie. Verder kan het ook aan de hoofdlettergevoeligheid liggen, omdat je namelijk $ingepakt en $Ingepakt hebt. Anders zou ik het ook niet weten. Succes verder  |
MouseInteractive | zondag 27 februari 2005 @ 14:40 |
quote:Op zondag 27 februari 2005 14:10 schreef Keksi het volgende:Helleuh, vraagje: ik heb uit een tabel het veld Ingepakt gehaald. De waarde van dit veld wordt gezet in $Ingepakt. De waarde bestaat uit 1 of 0. Meer smaken zijn er niet. Nu wil ik dat er i.p.v. een 0 of 1 een checkbox wordt neergezet die al dan niet is aangevinkt. echo "<tr><td align=center>$Ingepakt</td>"; if ($ingepakt = 1){ echo "<td><input type=checkbox name=Ingepakt value=$ingepakt></td>";} else { echo "<td><input type=checkbox name=Ingepakt checked=true value=$Ingepakt></td>";} echo "</tr>"; Denk eraan dat je de variabele $Ingepakt met een hoofdletter I definieert. Dus roep die variabele dan ook met een hoofdletter I aan.
Dit zou moeten werken:
1 2 3 4 5 6 7 8 | <?php echo "<tr><td align=center>$Ingepakt</td>"; if ($Ingepakt == 1){ echo "<td><input type=checkbox name=Ingepakt value=$Ingepakt></td>";} else { echo "<td><input type=checkbox name=Ingepakt checked=true value=$Ingepakt></td>";} echo "</tr>"; ?> |
 |
MouseInteractive | zondag 27 februari 2005 @ 14:41 |
quote:Op zondag 27 februari 2005 14:38 schreef Jump het volgende:[..] variabelen zijn hoofdleter gevoelig, ik zie $ingepakt in $Ingepakt $ingepakt = 1 is de waarde 1 toekennen, om te vergelijken gebruik je == [ code verwijderd ] He verdorie, ben je me net voor  |
Keksi | zondag 27 februari 2005 @ 15:08 |
Gossskeriebel! En daar ben je dan een half uur mee bezig en maar niet snappen dat het werkt...
nou ja goed, mannen (daar ga ik maar even vanuit) hartstikke bedankt. Ik zal regelmatig terugkomen ben ik bang... |
MouseInteractive | zondag 27 februari 2005 @ 15:31 |
quote: Maakt niet uit, daar is dit topic ook voor bedoeld. |
Keksi | zondag 27 februari 2005 @ 15:40 |
quote: Daad bij het woord voegend... en dan ga ik weer kijken of ik het zelf allemaal kan oplosen (ga toch maar ook een PHP boek halen, desnoods een Deense... (woon in DK)). Maar goed...
Ik heb 2 bestanden: functions.php en inpakhok.php. Functions bevat ondermeer een functie Tijdnotatie. Deze functie krijgt 1 argument mee en geeft er 3 terug.
inpakhok.php moet de functie Tijdnotatie in functions.php aanroepen en dan 1 argument meegeven en er 3 terugkrijgen die gepresenteerd moeten worden in een tabel...
Ik heb alleen echt geen idee hoe ik dit moet oplossen! En weten jullie ook een goed PHP boek (ook met geavanceerde functies)? |
DutchBlood | zondag 27 februari 2005 @ 16:14 |
quote:Op zondag 27 februari 2005 15:40 schreef Keksi het volgende:[..] Daad bij het woord voegend... en dan ga ik weer kijken of ik het zelf allemaal kan oplosen (ga toch maar ook een PHP boek halen, desnoods een Deense... (woon in DK)). Maar goed... Ik heb 2 bestanden: functions.php en inpakhok.php. Functions bevat ondermeer een functie Tijdnotatie. Deze functie krijgt 1 argument mee en geeft er 3 terug. inpakhok.php moet de functie Tijdnotatie in functions.php aanroepen en dan 1 argument meegeven en er 3 terugkrijgen die gepresenteerd moeten worden in een tabel... Ik heb alleen echt geen idee hoe ik dit moet oplossen! En weten jullie ook een goed PHP boek (ook met geavanceerde functies)? fuctie.php: function defunctie($arg) { // doe iets met $arg; return $dedingendiejewilreturnen; }
inpakhok.php require_once('functie.php'); $arg = defunctie($variabele); echo $arg;
Schematisch dus. |
ikke_ook | zondag 27 februari 2005 @ 21:34 |
@Dutchblood(en de rest eigenlijk ook) Wanneer gebruik je nou precies include/include_once, en wanneer require/require_once? Ik heb net als hierboven een file functie.php en ik gebruik hem op dezelfde manier met een include en dat werkt ook. En ik gebruik een session.inc om verbinding te maken met de database en daarvoor gebruik ik include_once. Je moet mij dus niet vragen waarom ik welke gebruik, ik gebruik deze omdat ze werken  Maar ik vroeg me dus af wat je wanneer het beste kunt gebruiken want als ik phpmanuals lees wordt t me ook niet echt duidelijk. |
Light | zondag 27 februari 2005 @ 23:07 |
quote:Op zondag 27 februari 2005 21:34 schreef ikke_ook het volgende:@Dutchblood(en de rest eigenlijk ook) Wanneer gebruik je nou precies include/include_once, en wanneer require/require_once? Include en require zijn gelijk, op de foutafhandeling na. Wil je een waarschuwing dan gebruik je include, wil je een error dan gebruik je require. Dus voor je databaseconnecties kun je ook require of require_once gebruiken, als het bestand dan niet bestaat dan krijg je (als het goed is iig) een foutmelding. En warnings zet je natuurlijk uit in normale omgeving, die kunnen voor testen wel handig zijn. |
Zoefff | zondag 27 februari 2005 @ 23:39 |
Juist. Het is eigenlijk al te zien aan de namen van de verschillende functies. Wanneer je require gebruikt, móet de desbetreffende pagina geladen worden. Zo niet, dan word het hele script gestopt en krijg je een error. Als je include gebruikt, gaat het script ook verder als de pagina niet bestaat, wat misschien wel wat warnings kan opleveren, maar over het algemeen laad je pagina wel helemaal.
Ik gebruik require eigenlijk alleen maar voor m'n database connectie en functie-pagina's, voor de rest gebruik ik altijd include. |
crazy-bert | maandag 28 februari 2005 @ 01:59 |
Ik ben bezig met een login script, maar ik weet niet of wat in gedachte heb wel veilig is.
Je logt in en er wordt gecheckt of alles klopt verder. zoja wordt er aan je cookie een sessionhash toegevoegt (totaal staat er alleen sessionhash en phpsessid in). De gebruikersvar worden dan in een sessie toegevoegt (ook de sessionhash en phpsessid). als je dan een pagina bekijkt wordt gecontroleerd of je ingelogt bent dmv kijken of sessie bestaat en of de $_SESSION['sessionhash'] en ['phpsessid'] klopen met wat er in het cookie staat. klopt deze dan ingelogt, zoniet niet .
mis ik hier iets of??
alvast bedankt |
ikke_ook | maandag 28 februari 2005 @ 13:05 |
Bedankt voor de uitleg hierboven Tis duidelijk! |
ikke_ook | dinsdag 1 maart 2005 @ 20:45 |
Ik heb onderstaande query gemaakt om het eid onder, en het eid boven eid=10 te vinden, terwijl niet alle eids hoeven te bestaan (limit werkt dus niet volgens mij omdat ik niet weet welke rij bij een bepaald eid hoort).
SELECT MAX(eid) as maxeid, MIN(eid) as mineid FROM `excursies` HAVING maxeid < 10 AND mineid > 10 LIMIT 0, 30
Alleen retourneert deze query niks... het komt door die < en > want als ik die omdraai doetie t wel, maar dan heb ik er niks aan... Kan iemand me helpen?
[ Bericht 2% gewijzigd door ikke_ook op 01-03-2005 21:43:58 ] |
SuperRembo | dinsdag 1 maart 2005 @ 21:57 |
Hoe kan 't maximum nou kleiner zijn dan 't minimum?  |
capetonian | dinsdag 1 maart 2005 @ 22:53 |
tvp |
ikke_ook | woensdag 2 maart 2005 @ 09:15 |
quote: Hmm, er zit idd een mooie tegenstelling in Dan doe ik het wel met 2 query's.
hoe kan ik trouwens zoiets oplossen want dit werkt niet :
SELECT name FROM excursies HAVING MAX(eid) of SELECT name, MAX(eid) FROM excursies
Ik wil dus de name hebben die bij het hoogste eid hoort. Hoe doe ik dat?bovenstaande query's werken niet... |
Energie | woensdag 2 maart 2005 @ 12:34 |
<?=hallo;?>
weet iemand nog meer waar je zulke snelkoppeling dingen kan vinden? |
SuperRembo | woensdag 2 maart 2005 @ 13:12 |
quote:Op woensdag 2 maart 2005 09:15 schreef ikke_ook het volgende:[..] Hmm, er zit idd een mooie tegenstelling in  Dan doe ik het wel met 2 query's. hoe kan ik trouwens zoiets oplossen want dit werkt niet : SELECT name FROM excursies HAVING MAX(eid) of SELECT name, MAX(eid) FROM excursies Ik wil dus de name hebben die bij het hoogste eid hoort. Hoe doe ik dat?bovenstaande query's werken niet... 1 2 3 4 5 6 7 8 9 10 11 | SELECT Name, ID FROM MyTable WHERE ID>5 ORDER BY ID ASC LIMIT 1
SELECT Name, ID FROM MyTable WHERE ID<5 ORDER BY ID DESC LIMIT 1 |
|
SuperRembo | woensdag 2 maart 2005 @ 13:14 |
quote:Op woensdag 2 maart 2005 12:34 schreef Energie het volgende:<?=hallo;?> weet iemand nog meer waar je zulke snelkoppeling dingen kan vinden? Huh, wat? |
crazy-bert | woensdag 2 maart 2005 @ 15:06 |
quote:Op maandag 28 februari 2005 01:59 schreef crazy-bert het volgende:Ik ben bezig met een login script, maar ik weet niet of wat in gedachte heb wel veilig is. Je logt in en er wordt gecheckt of alles klopt verder. zoja wordt er aan je cookie een sessionhash toegevoegt (totaal staat er alleen sessionhash en phpsessid in). De gebruikersvar worden dan in een sessie toegevoegt (ook de sessionhash en phpsessid). als je dan een pagina bekijkt wordt gecontroleerd of je ingelogt bent dmv kijken of sessie bestaat en of de $_SESSION['sessionhash'] en ['phpsessid'] klopen met wat er in het cookie staat. klopt deze dan ingelogt, zoniet niet  . mis ik hier iets of?? alvast bedankt iemand? |
ikke_ook | woensdag 2 maart 2005 @ 16:11 |
Bedankt Superrembo, ik was niet zo wakker vanochtend denk ik want dit had ik zelf ook nog wel kunnen bedenken  |
ikke_ook | woensdag 2 maart 2005 @ 22:58 |
Ik wil dat mijn breaks die ik in een inputveld type worden omgezet naar <br> en dat de newlines verdwijnen. Als ik nl2br gebruik dan maakt hij wel netjes breaks van de newlines, maar de newlines blijven eigenlijk ook staan. De html ziet er goed uit met breaks, maar de source niet, daar zie je de newlines namelijk nog wel.
En die wil ik dus weghebben. Hoe kan ik dat oplossen? |
SuperRembo | woensdag 2 maart 2005 @ 23:07 |
quote:Op woensdag 2 maart 2005 22:58 schreef ikke_ook het volgende:Ik wil dat mijn breaks die ik in een inputveld type worden omgezet naar <br> en dat de newlines verdwijnen. Als ik nl2br gebruik dan maakt hij wel netjes breaks van de newlines, maar de newlines blijven eigenlijk ook staan. De html ziet er goed uit met breaks, maar de source niet, daar zie je de newlines namelijk nog wel. En die wil ik dus weghebben. Hoe kan ik dat oplossen? Stel je voor dat iemand die newlines ziet in je source, schande 
$text = str_replace("\n", "<br>", $text); |
ikke_ook | woensdag 2 maart 2005 @ 23:21 |
quote: Haha, nee daar gaat het niet om. Ik geef de tekst mee aan een javascript functie en die werkt niet als er newlines in staan.Maar ik had geen zin om dat helemaal uit te leggen dus ik dacht, ik zeg het zo 
ff proberen hoor! |
ikke_ook | woensdag 2 maart 2005 @ 23:24 |
Het werkt niet... er blijven newlines staan..... |
ikke_ook | woensdag 2 maart 2005 @ 23:26 |
Wordt
1 2 3 4 | Test <br>Enter <br>Break <br>bla |
Terwijl ik wil dat het dit wordt
1 | Test<br>Enter<br>Break<br>bla |
|
SuperRembo | donderdag 3 maart 2005 @ 06:50 |
Aha, ik snap 't.
1 | $text = preg_replace('/(\\r\\n|\\r|\\n)/m', '<br>', $text); |
|
Swetsenegger | donderdag 3 maart 2005 @ 08:42 |
Ik wil even Superrembo, Light, Jump, Dutchblood en alle andere bedanken welke regelmatig de wat minder bedeelde php'ers met raad en daad bijstaan 
Superrembo ook voor z'n bijdrages in Javascript voor Dummies. Bedankt! |
shmoopy | donderdag 3 maart 2005 @ 10:44 |
Done, Swets.  |
Swetsenegger | donderdag 3 maart 2005 @ 11:06 |
quote: Zet dan wel de link erbij  |
Light | donderdag 3 maart 2005 @ 13:18 |
quote: Of net anders:
1 2 3 4 5 | <?php $text = nl2br($text); $text = str_replace('\r','',$text); //Sloop alle \r uit de tekst $text = str_replace('\n','',$text); //En ook de \n ?> |
Zo hoef je geen regexp te gebruiken, da's niet echt nodig ook. |
The_Tankgirl | donderdag 3 maart 2005 @ 14:05 |
Ok, ik heb een leuker uploadscriptje gevonden die de namen van de files verandert in 1,2,3,4 enz.. Nu wil ik dat hij een aparte map aanmaakt, en dat hij de files daarin dumpt. ik doe dat d.m.v. mkdir... De naam van de map geef je zelf op (is een speelscriptje). Het probleem: hij upload de files naar de verkeerde directory (/var/www/html/uploadtest) en renamed ze naar de mapnaam+ een getal(bijvoorbeeld 1). De map met de goede naam wordt wel aangemaakt.. quote:<?
$form = TRUE;
$upload_dir = "/var/www/html/uploadtest/"; $dirName = $upload_dir . $mapnaam; mkdir ($dirName, 0777);
$fname = 1; $upload_path = "/var/www/html/uploadtest/" . $mapnaam;
for ($i=0;$i<10;$i++)
{
list($problem, $error) = upload_file ($upload_path, $fname.".gif", $i);
if (!$problem)
{
$fname++;
}
else
echo $i.": ".$error."<br>";
}
echo "<br>";
echo --$fname." file(s) uploaded";
if ($form)
{
?>
<form enctype="multipart/form-data" action="<?php echo $SELF_PHP; ?>" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="300000000"> mapnaam: <input class="text" name="mapnaam" SIZE=22><br>
0: <input class="file" type="file" name="file[0]"><br>
1: <input class="file" type="file" name="file[1]"><br>
2: <input class="file" type="file" name="file[2]"><br>
3: <input class="file" type="file" name="file[3]"><br>
4: <input class="file" type="file" name="file[4]"><br>
5: <input class="file" type="file" name="file[5]"><br>
6: <input class="file" type="file" name="file[6]"><br>
7: <input class="file" type="file" name="file[7]"><br>
8: <input class="file" type="file" name="file[8]"><br>
9: <input class="file" type="file" name="file[9]"><br>
<input type="submit" value="Submit Images">
</form>
<?
}
function upload_file ($upload_path, $fname, $fileid)
{
$problem = TRUE;
switch ($_FILES['file']['error'][$fileid])
{
case UPLOAD_ERR_FORM_SIZE:
$error = "The uploaded file exceeds the 85kb";
break;
case UPLOAD_ERR_NO_FILE:
$error = "No file was uploaded";
break;
default:
$error = "";
}
//$fname = $_FILES['file']['name'][$fileid];
$dest = $upload_path.$fname;
$tmpfile = $_FILES['file']['tmp_name'][$fileid];
if ($tmpfile)
{
$info = getimagesize($tmpfile);
$ftype = $info['mime'];
if ($ftype != "image/gif" && $ftype != "image/jpeg")
{
$error = "File type not supported";
$problem = TRUE;
}
else
{
if (file_exists($dest))
{
$error = "File already exists. (".$dest.")";
$problem = TRUE;
}
else
{
copy ($tmpfile,$dest);
$problem = FALSE;
}
}
}
return array($problem, $error);
}
?> |
ikke_ook | donderdag 3 maart 2005 @ 15:56 |
@Tankgirl als je [php ] of [code ]ipv [quote ] gebruikt is het allemaal iets leesbaarder, en als je dan ook nog programmeert zoals hieronder wordt het nog duidelijker allemaal!Niet alleen voor ons, maar vooral voor jezelf 
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 | <? $form = TRUE; $upload_dir = "/var/www/html/uploadtest/"; $dirName = $upload_dir . $mapnaam; mkdir ($dirName, 0777); $fname = 1; for ($i=0;$i<10;$i++){ list($problem, $error) = upload_file ($dirName, $fname.".gif", $i); if (!$problem){ $fname++; }else{ echo $i.": ".$error."<br>"; } } echo "<br>"; echo --$fname." file(s) uploaded";
if ($form){
?>
<form enctype="multipart/form-data" action="<?php echo $SELF_PHP; ?>" method="POST"> <input type="hidden" name="MAX_FILE_SIZE" value="300000000">
mapnaam: <input class="text" name="mapnaam" SIZE=22><br>
0: <input class="file" type="file" name="file[0]"><br>
1: <input class="file" type="file" name="file[1]"><br>
2: <input class="file" type="file" name="file[2]"><br>
3: <input class="file" type="file" name="file[3]"><br>
4: <input class="file" type="file" name="file[4]"><br>
5: <input class="file" type="file" name="file[5]"><br>
6: <input class="file" type="file" name="file[6]"><br>
7: <input class="file" type="file" name="file[7]"><br>
8: <input class="file" type="file" name="file[8]"><br>
9: <input class="file" type="file" name="file[9]"><br>
<input type="submit" value="Submit Images">
</form>
<?
}
function upload_file ($upload_path, $fname, $fileid) { $problem = TRUE; switch ($_FILES['file']['error'][$fileid]){ case UPLOAD_ERR_FORM_SIZE: $error = "The uploaded file exceeds the 85kb"; break; case UPLOAD_ERR_NO_FILE: $error = "No file was uploaded"; break; default: $error = ""; } //$fname = $_FILES['file']['name'][$fileid]; $dest = $upload_path.$fname; $tmpfile = $_FILES['file']['tmp_name'][$fileid]; if ($tmpfile){ $info = getimagesize($tmpfile); $ftype = $info['mime']; if ($ftype != "image/gif" && $ftype != "image/jpeg"){ $error = "File type not supported"; $problem = TRUE; }else{ if (file_exists($dest)){ $error = "File already exists. (".$dest.")"; $problem = TRUE; }else{ copy ($tmpfile,$dest); $problem = FALSE; } } } return array($problem, $error); } ?> |
Volgens mij miste er trouwens ook een accolade, dat kun je op deze manier heel makkelijk controleren. Waarom gebruik je trouwens niet move_uploaded_file ipv copy?
[ Bericht 30% gewijzigd door ikke_ook op 03-03-2005 16:04:48 ] |
ikke_ook | donderdag 3 maart 2005 @ 16:08 |
regel 74, $dest = $upload_path.$fname; moet $dest = $upload_path."/".$fname; zijn denk ik.... |
ikke_ook | donderdag 3 maart 2005 @ 16:22 |
Bedankt nog maar een keertje superrembo
@Light, die van jou werkt niet, en die van superrembo wel.. |
Light | donderdag 3 maart 2005 @ 17:23 |
Ik heb dan ook helemaal niets getest. Al was het maar omdat ik daar hier de mogelijkheden niet voor heb  |
SuperRembo | donderdag 3 maart 2005 @ 18:15 |
quote:Op donderdag 3 maart 2005 13:18 schreef Light het volgende:[..] Of net anders: [ code verwijderd ] Zo hoef je geen regexp te gebruiken, da's niet echt nodig ook. Werkt niet:
1 2 3 | $text = nl2br($text); $text = str_replace('\r','',$text); //Sloop alle \r uit de tekst $text = str_replace('\n','',$text); //En ook de \n |
Werkt wel:
1 2 3 | $text = nl2br($text); $text = str_replace("\r",'',$text); //Sloop alle \r uit de tekst $text = str_replace("\n",'',$text); //En ook de \n |
Zoek de verschillen  |
ikke_ook | donderdag 3 maart 2005 @ 19:24 |
ik zie t, maar waarom moet het met dubbele quotes? en kun je dit uitleggen? '/(\\r\\n|\\r|\\n)/m' ik snap die \\r\\n | \\r | \\n maar de rest eigenlijk niet, en ik heb ook nog nergens een duidelijke uitleg gevonden voor die preg/reg dingen gezien, ik heb ze ook wel s gezien in een functie voor UBB alleen ik snap niet goed wat al die tekentjes doen... (Ik snap dat je t liefst zeg zoek zelf maar, maar ik heb t nog niet goed kunnen vinden dus als je tijd hebt.... ) |
SuperRembo | donderdag 3 maart 2005 @ 19:50 |
quote: In een single-quoted string zijn alleen de ' en de \ speciale tekens. In een double-quoted string zijn veel meer speciale tekens zoals \, ", \n en $. '\n' is dus een string van 2 tekens: een backslash en een n. "\n" is een string van 1 teken: een newline.
PHP: Stringsquote:'/(\\r\\n|\\r|\\n)/m' ik snap die \\r\\n | \\r | \\n maar de rest eigenlijk niet, en ik heb ook nog nergens een duidelijke uitleg gevonden voor die preg/reg dingen gezien, ik heb ze ook wel s gezien in een functie voor UBB alleen ik snap niet goed wat al die tekentjes doen... (Ik snap dat je t liefst zeg zoek zelf maar, maar ik heb t nog niet goed kunnen vinden dus als je tijd hebt....  ) Regular expressions zijn lastige dingen. RegExp Tutorial PHP: Pattern Syntax Wikipedia:Regular expression |
ikke_ook | donderdag 3 maart 2005 @ 21:30 |
ah super, daar zal ik mij eens even op storten. Waneer gebruik je trouwens een str_replace en wanneer een regexp? Stel bij mijn bovenstaand geval is 1 van de 2 dan sneller of efficienter? En als je bijvoorbeeld smileys wil vervangen bij een gastenboek oid?welke is dan het "beste"?
(Ik snap dat er gevallen zijn dat str_replace niet werkt en regexp wel, maar afgezien daarvan)
Je kunt wel een eigen forum beginnen als helpdesk Rembo |
Jump | donderdag 3 maart 2005 @ 21:52 |
Nog een uitleg over reguliere expressies dat ik op school gekregen heb: http://images.internix.be(...)ere%20expressies.ppt
is wel directe link naar .ppt. best doel opslaan als gebruiken |
Light | donderdag 3 maart 2005 @ 22:32 |
quote:Op donderdag 3 maart 2005 21:30 schreef ikke_ook het volgende:ah super, daar zal ik mij eens even op storten. Waneer gebruik je trouwens een str_replace en wanneer een regexp? Stel bij mijn bovenstaand geval is 1 van de 2 dan sneller of efficienter? En als je bijvoorbeeld smileys wil vervangen bij een gastenboek oid?welke is dan het "beste"? str_replace gebruik je als je een bekende string door een andere string wilt vervangen. Dus de smiles in het gastenboek kun je met een str_replace doen. Een regexp is handig als de bron gedeeltelijk onbekend is. Als je dus een bold-tag wilt maken dan kun je beter een regexp gebruiken. Je kunt dan controleren of de begintag [ b] en de eindtag [ /b] aanwezig zijn, zonder dat je weet wat er precies tussenstaat. Wat er bij een vaste sting sneller is zou ik zo niet weten, dan moet je gaan benchmarken. Waarschijnlijk wint str_replace omdat zoeken naar een gegarandeerd bekende string nou eenmaal efficienter kan dan zoeken naar een string die mogelijk gedeeltelijk variabel is.
Overigens biedt een functie als preg_replace veel meer mogelijkheden. Je kunt het ook voor je smiles gebruiken en dan met arrays gaan spelen. |
ikke_ook | donderdag 3 maart 2005 @ 22:49 |
bedankt beiden! |
The_Tankgirl | vrijdag 4 maart 2005 @ 09:41 |
quote:Op donderdag 3 maart 2005 15:56 schreef ikke_ook het volgende:@Tankgirl als je [php ] of [code ]ipv [quote ] gebruikt is het allemaal iets leesbaarder, en als je dan ook nog programmeert zoals hieronder wordt het nog duidelijker allemaal!Niet alleen voor ons, maar vooral voor jezelf  [ code verwijderd ] Volgens mij miste er trouwens ook een accolade, dat kun je op deze manier heel makkelijk controleren. Waarom gebruik je trouwens niet move_uploaded_file ipv copy? Yes hij doet het! Ik zal kijken of ik die copy kan veranderen in move_uploaded_file, ik ben nog niet zo lang bezig met php |
The_Tankgirl | vrijdag 4 maart 2005 @ 10:36 |
oh nog een probleempje, hij upload de files wel, maar hij geeft van tevoren (voordat ik ga uploaden) al deze error aan:
1 | Warning: mkdir(/var/www/html/uploadtest/): File exists in /var/www/html/uploadtest/upload11.php on line 18 |
even de nieuwe code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 | <?php $form = TRUE;
$upload_dir = "/var/www/html/uploadtest/"; $dirName = $upload_dir . $mapnaam; mkdir ($dirName, 0777);
$fname = 1; $upload_path = "/var/www/html/uploadtest/" . $mapnaam;
for ($i=0;$i<10;$i++)
{
list($problem, $error) = upload_file ($upload_path, $fname.".gif", $i);
if (!$problem)
{
$fname++;
}
else
echo $i.": ".$error."<br>";
}
echo "<br>";
echo --$fname." file(s) uploaded";
if ($form)
{
<form enctype="multipart/form-data" action="php echo $SELF_PHP; " method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="300000000"> mapnaam: <input class="text" name="mapnaam" SIZE=22><br>
0: <input class="file" type="file" name="file[0]"><br>
1: <input class="file" type="file" name="file[1]"><br>
2: <input class="file" type="file" name="file[2]"><br>
3: <input class="file" type="file" name="file[3]"><br>
4: <input class="file" type="file" name="file[4]"><br>
5: <input class="file" type="file" name="file[5]"><br>
6: <input class="file" type="file" name="file[6]"><br>
7: <input class="file" type="file" name="file[7]"><br>
8: <input class="file" type="file" name="file[8]"><br>
9: <input class="file" type="file" name="file[9]"><br>
<input type="submit" value="Submit Images">
</form>
}
function upload_file ($upload_path, $fname, $fileid)
{
$problem = TRUE;
switch ($_FILES['file']['error'][$fileid])
{
case UPLOAD_ERR_FORM_SIZE:
$error = "The uploaded file exceeds the 85kb";
break;
case UPLOAD_ERR_NO_FILE:
$error = "No file was uploaded";
break;
default:
$error = "";
}
//$fname = $_FILES['file']['name'][$fileid];
$dest = $upload_path."/".$fname;
$tmpfile = $_FILES['file']['tmp_name'][$fileid];
if ($tmpfile)
{
$info = getimagesize($tmpfile);
$ftype = $info['mime'];
if ($ftype != "image/gif" && $ftype != "image/jpeg")
{
$error = "File type not supported";
$problem = TRUE;
}
else
{
if (file_exists($dest))
{
$error = "File already exists. (".$dest.")";
$problem = TRUE;
}
else
{
move_uploaded_file ($tmpfile,$dest);
$problem = FALSE;
}
}
}
return array($problem, $error);
} ?> |
|
ikke_ook | vrijdag 4 maart 2005 @ 11:19 |
Waarom heb je overal een witregel tussen staan?Dan moet ik zoveel scrollen....  En
1 2 3 | $upload_dir = "/var/www/html/uploadtest/"; $dirName = $upload_dir . $mapnaam; mkdir ($dirName, 0777); |
wat staat er in de variabele $mapnaam??Het lijkt erop dat je hem leeg laat en dat gaat niet werken want dan maakt hij de map &upload_dir aan, en die bestaat al blijkbaar. |
The_Tankgirl | vrijdag 4 maart 2005 @ 12:40 |
Ja die witregels komen tijdens het verwerken van het bericht ertussen, snap er ook niks van. Ik krijg het ook niet normaal  $mapnaam verwijst naar het formulier waarmee je zelf de map bepaalt:
1 2 | <input type="hidden" name="MAX_FILE_SIZE" value="300000000"> mapnaam: <input class="text" name="mapnaam" SIZE=22><br> |
|
SuperRembo | vrijdag 4 maart 2005 @ 13:12 |
Open een goed geconfigureerde server zal dit script niet werken.
Als je een form met POST verstuurd hebt, dan kan je gegevens opvragen met $_POST['fieldname'], niet met $fieldname. Je kunt controleren of een script met POST verstuurd is met $_SERVER['REQUEST_METHOD']=='POST'.
$SELF_PHP bestaat niet, dat was $PHP_SELF, maar tegenwooordig gebruik je $_SERVER['PHP_SELF'].
Je moet so wie so controleren of $mapnaam wel een geldeige mapnaam is. Er mogen geen /,\, :, *, ? in staan, spaties en . lijkt me ook niet handig. En hij mag natuurlijk niet leeg zijn.
Als je een jpeg upload, dan wordt ie ook als .gif opgeslagen  De mime-type van een jpeg kan "image/jpeg" zijn, maar ook "image/pjpeg".
[ php ]tags op FOK zijn waardeloos.  |
Swetsenegger | zondag 6 maart 2005 @ 22:53 |
Ik heb een tabel, met daarin waardes als:
22500 23000 23500 24000 etc.
Wanneer ik via een form 23830 inkrijg moet ik * uit de tabel halen waar de waarde 23500 is. hoe rond ik die 23830 af op het eerste 500-tal eronder?
*denkt* ik kan natuurlijk altijd vanaf het derde getal in de string gaan vervangen met '500'. Iemand een beter idee? Misschien een query die dit snapt? |
Jump | zondag 6 maart 2005 @ 23:02 |
select * from `tabel`where `waarde`<= '23830' order by `waarde`DESC limit 1 ?
dus aflopend ordenen, enkel waarden die kleiner zijn en dan limit 1 toepassen. query zal hopelijk wel juist zijn  |
Swetsenegger | zondag 6 maart 2005 @ 23:07 |
quote:Op zondag 6 maart 2005 23:02 schreef Jump het volgende:select * from `tabel`where `waarde`<= '23830' order by `waarde`DESC limit 1 ? dus aflopend ordenen, enkel waarden die kleiner zijn en dan limit 1 toepassen. query zal hopelijk wel juist zijn  die gaan we ff proberen. Mjah, inderdaad redelijk slim  |
SuperRembo | zondag 6 maart 2005 @ 23:07 |
1 2 3 4 5 | SELECT * FROM MyTable WHERE MyValue <= 123 ORDER BY MyValue DESC LIMIT 1 |
of
1 | $y = floor($x / 500) * 500; |
't hangt er nog een beetje van af of je < of <= bedoelt.
[ Bericht 2% gewijzigd door SuperRembo op 06-03-2005 23:10:24 (DESC dus) ] |
Swetsenegger | zondag 6 maart 2005 @ 23:19 |
quote:Op zondag 6 maart 2005 23:07 schreef SuperRembo het volgende:[ code verwijderd ] of [ code verwijderd ] 't hangt er nog een beetje van af of je < of <= bedoelt. kleiner of gelijk aan (vanaf 23500, vanaf 24000, etc) |
wonderer | maandag 7 maart 2005 @ 01:43 |
wat doet if(waarde === value) eigenlijk? (drie = dus ipv 2). Ik zag het staan bij de PHPBB update... |
SuperRembo | maandag 7 maart 2005 @ 07:39 |
Dat is de identical operator. Die geeft true als de waarden EN de typen overeen komen.
Om dit soort ellende te voorkomen:
1 2 3 4 5 6 7 8 9 10 11 | var_dump(0 == "a"); // 0 == 0 -> true var_dump("1" == "01"); // 1 == 1 -> true
switch ("a") { case 0: echo "0"; break; case "a": // never reached because "a" is already matched with 0 echo "a"; break; } |
|
The_Tankgirl | maandag 7 maart 2005 @ 13:49 |
quote:Op vrijdag 4 maart 2005 13:12 schreef SuperRembo het volgende:Open een goed geconfigureerde server zal dit script niet werken. Als je een form met POST verstuurd hebt, dan kan je gegevens opvragen met $_POST['fieldname'], niet met $fieldname. Je kunt controleren of een script met POST verstuurd is met $_SERVER['REQUEST_METHOD']=='POST'. $SELF_PHP bestaat niet, dat was $PHP_SELF, maar tegenwooordig gebruik je $_SERVER['PHP_SELF']. Je moet so wie so controleren of $mapnaam wel een geldeige mapnaam is. Er mogen geen /,\, :, *, ? in staan, spaties en . lijkt me ook niet handig. En hij mag natuurlijk niet leeg zijn. Als je een jpeg upload, dan wordt ie ook als .gif opgeslagen  De mime-type van een jpeg kan "image/jpeg" zijn, maar ook "image/ pjpeg". [ php ]tags op FOK zijn waardeloos.  He bedankt voor de tips, ik heb ze gelijk verwerkt! Dat van die *.gif probleem heb ik nog niet opgelost Dat hernamen is achteraf gezien ook niet zo handig, want als je blabla.gif bijvoorbeeld in veld 3 stopt, wordt hij alsnog hernoemd naar 1.gif.. dus zal dat ook moeten veranderen. zo ideaal is dit script dus ook niet |
SuperRembo | maandag 7 maart 2005 @ 14:35 |
Waarom hou je niet de originele bestandsnaam?
Een andere oplossing kan zijn om een bestandsnaam zonder extensie mee te geven aan upload_file(). Die functie plakt er dan een extensie aan afhankelijk van de mime-type. |
Swetsenegger | maandag 7 maart 2005 @ 23:03 |
Tot op heden had ik een upload script van foto's en files, welke na upload de files 'moved' naar een folder. In sommige gevallen maakte ik een database waarin de naam en locatie van het bestand stond, en op die manier kon ik dan ook die bestanden via CMS weer verwijderen (record uit de database lezen. unlink bestand, record deleten)
Anyway, nu moet ik MEERDERE bestanden/foto's koppelen aan 1 record. dan is deze methode redelijk omslachtig, dus ik wil eigenlijk de bestanden gewoon in de db opslaan. Nu heb ik al begrepen dat dit in een zogenaamd 'blob' filed moet.
Zijn er daarbij specifieke dingen waar ik op moet letten?
-edit- Wat ik eigenlijk wil weten. Kan ik een uploaded file gewoon in een variabele zetten en vervolgens die variable gewoon inserten in de tabel?
[ Bericht 11% gewijzigd door Swetsenegger op 07-03-2005 23:08:46 ] |
SuperRembo | maandag 7 maart 2005 @ 23:41 |
Gewoon behandelen als een (lange binary) string. Moet lukken. |
dnzl | dinsdag 8 maart 2005 @ 10:22 |
Ik wil het volgende bereiken; meerdere rijen in een database in 1 keer wijzigen (via een form). Maar de waarde is wordt bij het laden weergegeven als waarde in de database. Deze moet dus worden overschreven.
overzicht.php
1 2 3 | <td> <input name="status" type="text" class="configs" value=<? echo $row["status"]; ?>> </td> |
Dit is een overzicht met meerdere rijen. Hoe kan ik nou op een simpele manier die waarde veranderen in de database? Dus: waardes wijzigen van meerdere rijen in een mySQL database in 1 klap  |
ikke_ook | dinsdag 8 maart 2005 @ 11:01 |
Ik snap je vraag niet eigenlijk... Ja je kunt meerdere rijen met 1 query updaten als je de rijen die je wil wijzigen maar op een of andere manier kan identificeren.
Maar ik zie maar 1 veld in je overzicht.php ... moeten alle rijen de status krijgen die daar staat ingevuld? |
dnzl | dinsdag 8 maart 2005 @ 11:27 |
Ik heb een aantal waardes die gewoon via
1 2 3 | <? echo $row["naam"]; ?> |
worden weergegeven maar, degene die ik wil updaten komen dan in een textfield (meerdere rijen). Mocht ik nu een verandering willen aanbrengen (in die waarde in dat textfield) dan moet ik dat kunnen doen en dan via de submit button een query aanspreken.
De rijen zijn overigens te identificeren met een uniek ID. |
SuperRembo | dinsdag 8 maart 2005 @ 11:42 |
quote: Lijkt me handig als je die dan ook in je form door geeft.
How do I create arrays in a HTML <form>? |
Swetsenegger | dinsdag 8 maart 2005 @ 13:55 |
Vraagje. Ik heb een tabel met allemaal decimale waarden erin. Hoe krijg ik nu de laagste waarde uit de TABEL?
Uit een kolom is redelijk eenvoudig met MIN, maar ik wil dus de laagste waarde uit de tabel en alles van de rij met de laagste waarde terug krijgen. |
SuperRembo | dinsdag 8 maart 2005 @ 15:23 |
Met sql bepaal je de laagste waarde per kolom. Met php bepaal je de laagste waarde van de array die je dan terug krijgt. |
Swetsenegger | woensdag 9 maart 2005 @ 14:03 |
Ik kan het niet vinden in de mysql manual. is een BLOB field gelimiteerd tot 65.535 bytes?
Alles wat ik in een blob field prop gaat goed tot files van 63,9KB alles erboven wordt max 63,9KB. (63,99 * 1024 = 65535)
Ik neem dus aan dat BLOB 16 bits is? TINYBLOB 8 BLOB 16 MEDIUMBLOB 32 LARGEBLOB 64 |
ikke_ook | woensdag 9 maart 2005 @ 17:26 |
Ik heb een niet zo heel erg php vraagje maar misschien dat jullie het toch weten  Ik wil een beveiligde directory opzetten op mijn server, maar daar moet ik een .htaccess bestand voor aan maken, maar die kan ik niet zomaar maken (ik draai win2k) Is er een programmaatje ofzo waarmee dit wel lukt? Of kan ik t makkelijkst even een php scriptje maken de zo'n file maakt? (of werkt dat ook niet?) |
ikke_ook | woensdag 9 maart 2005 @ 17:47 |
nog maar een vraag als ik toch bezig ben 
1 2 3 4 | $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/plain; charset=iso-8859-1\r\n"; $headers .= "From: mij <postmaster@domeinnaam.nl>\r\n"; $headers .= "Reply-To: postmaster@domeinnaam.nl\r\n"; |
Bovenstaande verstuur ik mbv mail(), in outlook express komt er een goed bericht aan, maar bij gmail print hij de header in het bericht.. en staat er "unknown sender" Wat doe ik fout? |
DutchBlood | woensdag 9 maart 2005 @ 18:28 |
quote:Op woensdag 9 maart 2005 17:47 schreef ikke_ook het volgende:nog maar een vraag als ik toch bezig ben  [ code verwijderd ] Bovenstaande verstuur ik mbv mail(), in outlook express komt er een goed bericht aan, maar bij gmail print hij de header in het bericht.. en staat er "unknown sender" Wat doe ik fout? Weet je zeker dat het aan de client ligt en niet aan de ontvangde mail server? Linux/Windows verschillen misschien? |
ikke_ook | woensdag 9 maart 2005 @ 18:36 |
nee weet ik niet... Ik zie nu trouwens dat als ik het bericht naar een ander account in mijn outlook express stuur, het ook niet goed gaat... Dus misschien heb je wel gelijk, nu nog een oplossing  |
ikke_ook | woensdag 9 maart 2005 @ 18:40 |
1 | $headers .= "Bcc: ".$bcc."\r\n"; |
Dit heb ik er nog bij gezet nu en dat voert hij wel uit... (dat deel van de header staat dus niet in het bericht, "MIME-version" zet hij trouwens ook goed in de header en niet in het bericht.... |
#ANONIEM | woensdag 9 maart 2005 @ 21:32 |
Ik heb mijn site op DDS staan, maar daar moet ik dokken om PHP te gebruiken. En dat terwijl ik wel erg graag een bulletin board wil, weet iemand een alternatief? (ik wist ff niet zo snel waar te posten...) |
Swetsenegger | donderdag 10 maart 2005 @ 20:50 |
quote:Op maandag 14 februari 2005 15:46 schreef Burning_RefleX het volgende:[..] set_time_limit(0) Dit zorgt dat de execution time weg gaat, dus geen limiet. Je kan ipv. 0 ook 60 neerzetten, dit is het aantal seconden dat het script mag lopen. (standaard: 30) Late reactie  Maar, werkt dit op ELKE server? Of kan de hoster deze overrule optie uit hebben staan? |
DutchBlood | donderdag 10 maart 2005 @ 21:49 |
quote:Op donderdag 10 maart 2005 20:50 schreef Swetsenegger het volgende:[..] Late reactie  Maar, werkt dit op ELKE server? Of kan de hoster deze overrule optie uit hebben staan? De hoster kan de optie inderdaad uit hebben staan. |
Swetsenegger | donderdag 10 maart 2005 @ 22:25 |
quote: Dat zou ik in phpinfo terug moeten kunnen vinden natuurlijk Iemand enig idee hoe die optie heet?
Andere vraag. Ik ben weer op zoek naar een reguliere expressie  In een tekst veld kan iemand op de volgende manier een link maken naar lokale pages:
[page=contact]contactformulier[/page]
nu van ik dat af met een str_replace maar dat zou ik dan voor elke lokale pagina moeten doen.
mooier is natuurlijk een regexp welke alles na page= en voor de eerstvolgende ] vind en vervolgens de volledige [page=contact] vervangt door <a href="gevonden patroon.php"> die [/page] vervang ik dan vervolgens gewoon met een str_replace.
Maar....
ik kom er niet uit. feitelijk moet de regexp natuurlijk TWEE patronen herkennen: [page=naam] [page=naam]
$text=preg_replace("/([page=([a-z]+)+])/i",'<a href="http://\1">\1</a>',$text); is iig niet goed... hij herkent niet alleen [page=naam] niet, sterker nog.... er wordt niets meer geparsed  |
Light | donderdag 10 maart 2005 @ 22:55 |
quote:Op donderdag 10 maart 2005 22:25 schreef Swetsenegger het volgende:[..] Dat zou ik in phpinfo terug moeten kunnen vinden natuurlijk  Iemand enig idee hoe die optie heet? set_time_limit() has no effect when PHP is running in safe mode. There is no workaround other than turning off safe mode or changing the time limit in the php.ini.
Dat wordt dus zoeken naar "safe_mode".
En met reguliere expressies spelen heb ik nu helaas de tijd niet voor. |
SuperRembo | donderdag 10 maart 2005 @ 23:12 |
quote:Op donderdag 10 maart 2005 22:25 schreef Swetsenegger het volgende:$text=preg_replace("/([page=([a-z]+)+])/i",'<a href="http://\1">\1</a>',$text); is iig niet goed... hij herkent niet alleen [page=naam] niet, sterker nog.... er wordt niets meer geparsed  Je moet niet vergeten dat [ een speciaal teken is in een regexp, die moet je dus escapen. Net als ], /, ?, enz.
Deze kan je denk ik wel makkelijk ombouwen naar wat je nodig hebt:
1 | $text = preg_replace('/\[url=(.+)\](.+)\[\/url\]/', '<a href="\1">\2</a>', $text ); |
|
Swetsenegger | donderdag 10 maart 2005 @ 23:14 |
quote:Op donderdag 10 maart 2005 22:55 schreef Light het volgende:[..] set_time_limit() has no effect when PHP is running in safe mode. There is no workaround other than turning off safe mode or changing the time limit in the php.ini. Dat wordt dus zoeken naar "safe_mode". safe_mode Off Off Mooi, dat bespaart me een probleem van een script time-outquote:En met reguliere expressies spelen heb ik nu helaas de tijd niet voor. Ik kan best op je wachten hoor Ow gij Goeroe der reguliere expressies  Ik heb onze hele url parser conversatie net nog doorgelezen, maar kom er niet uit in dit geval. Nu ben ik ook redelijk ziek dus ik zal het morgen nog eens proberen  |
Swetsenegger | donderdag 10 maart 2005 @ 23:18 |
quote:Op donderdag 10 maart 2005 23:12 schreef SuperRembo het volgende:[..] Je moet niet vergeten dat [ een speciaal teken is in een regexp, die moet je dus escapen. Net als ], /, ?, enz. Deze kan je denk ik wel makkelijk ombouwen naar wat je nodig hebt: [ code verwijderd ]  Ik HAD de laatste inderdaad ge escaped, maar de eerste niet... dom dom dom. Ga ff naar je expressie kijken (morgen... denk ik )
-edit- En nu ik hem zie staan is hij zo simpel  [url= dan ALLE tekens mogelijk vervolgens weer alle tekens mogelijk en afsluitend [/url]
Wederom bedankt SuperRembo 
[ Bericht 21% gewijzigd door Swetsenegger op 11-03-2005 09:05:12 ] |
Swetsenegger | vrijdag 11 maart 2005 @ 10:19 |
1 2 | $text = preg_replace("/(www(\.[-A-Za-z0-9]+)+\.[A-Za-z]{2,4}(\/\~?[-A-Za-z0-9\.\/?%&=#] ?)/i",'<a href="http://\1" target="_new">\1</a>',$text); $text = preg_replace('/\[url=(.+)\](.+)\[\/url\]/', '<a href="\1">\2</a>', $text ); |
www.test.nl wordt netjes een link door de bovenste regexp. Maar dan gaat het dus mis bij [ url = Ik moet er dus voor zorgen dat de bovenste regexp geen www.naam.nl gaat converteren naar een link als er [ url = voor staat.
1 | $text = preg_replace("/(^[^\[url=]www(\.[-A-Za-z0-9]+)+\.[A-Za-z]{2,4}(\/\~?[-A-Za-z0-9\.\/?%&=#] ?)/i",'<a href="http://\1" target="_new">\1</a>',$text); |
dacht ik, maar dan doettie helemaal niets meer 
Dit werkt 
1 | $text = preg_replace("/[^\[url=http:\/\/](www(\.[-A-Za-z0-9]+)+\.[A-Za-z]{2,4}(\/\~?[-A-Za-z0-9\.\/?%&=#] ?)/i",'<a href="http://\1" target="_new">\1</a>',$text); |
[ Bericht 11% gewijzigd door Swetsenegger op 11-03-2005 10:26:33 ] |
SuperRembo | vrijdag 11 maart 2005 @ 13:10 |
Je doet veel te moeilijk 
1 2 3 4 5 6 7 8 9 10 11 | $regexps = array( '#(?<!\[url=)(https?://.*?)(?=\s)#i' => '<a href="\1">\1</a>', '#(?<!\[url=)(www\..*?)(?=\s)#i' => '<a href="http://\1">\1</a>', '#\[url=(https?://.*?)\](.*?)\[/url\]#i' => '<a href="\1">\2</a>', '#\[url=(.*?)\](.*?)\[/url\]#i' => '<a href="http://\1">\2</a>', );
foreach ($regexps as $search=>$replace) { $text = preg_replace($search, $replace, $text); } |
|
Keksi | vrijdag 11 maart 2005 @ 17:15 |
Reagerend op het hierbovenstaande: okay dan....
Goed nog eens een vraag. Wat me niet helemaal duidelijk is is het verschil tussen " en ' bij PHP.
Bij een bepaalde functie worden 3 waarden gegenereerd, $dag $maand en $jaar. Dat wil verbouwen tot 1 variabele ($datum) met de volgende layout: dag-maand-jaar (ook incl de streepjes). Hoe doe ik dat?
Alvast bedankt! |
SuperRembo | vrijdag 11 maart 2005 @ 17:26 |
Het belangrijkste verschil tussen 'single-quoted' en "double-quoted" strings is dat $variabelen in doublequoted strings worden geparsed.
1 2 3 4 | $datum = "$dag-$maand-$jaar";// dit werkt $datum = '$dag-$maand-$jaar';// dit geeft geen foutmelding, maar geeft niet het resultaat dat je wil $datum = $dag."-".$maand."-".$jaar;// dit werkt $datum = $dag.'-'.$maand.'-'.$jaar;// dit werkt |
Zie verder php.net over strings. |
ikke_ook | vrijdag 11 maart 2005 @ 17:56 |
1 2 3 4 | $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/plain; charset=iso-8859-1\r\n"; $headers .= "From: mij <postmaster@domeinnaam.nl>\r\n"; $headers .= "Reply-To: postmaster@domeinnaam.nl\r\n"; |
Kun je hier eens naar kijken SuperR? Als ik dit op mijn eigen serverdraai komen de mailtjes vaak wel goed over, alleen als ik dit bij mijn hostingprovider draai, dan komt de header in het bericht te staan... waar kan dat aan liggen? Zijn er verschillende interpretaties hiervan ofzo?En is er dan iets wat altijd goed werkt? Bedankt! |
SuperRembo | vrijdag 11 maart 2005 @ 18:10 |
Ik mail nooit vanuit php, daar weet ik niet vanaf  |
ikke_ook | vrijdag 11 maart 2005 @ 18:16 |
huh wat???JIJ weet t niet?? Wat moet ik nu??!!! |
SuperRembo | vrijdag 11 maart 2005 @ 18:40 |
Hoe mail je vanaf een windows bak? Ik heb hier win2k met apache  quote:Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() |
DutchBlood | vrijdag 11 maart 2005 @ 19:14 |
quote: Een smtp server instellen in je php.ini? |
SuperRembo | vrijdag 11 maart 2005 @ 19:20 |
Oja, daar kan je natuurlijk gewoon de mailserver van je provider voor gebruiken. Ik dacht dat ik zelf een smtp server moest draaien. |
SuperRembo | vrijdag 11 maart 2005 @ 19:32 |
Ik heb dit voorbeeld uit de php manual geprobeerd
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 | Example 487. Sending complex email. copy to clipboard <?php /* recipients */ $to = "mary@example.com" . ", " ; // note the comma $to .= "kelly@example.com";
/* subject */ $subject = "Birthday Reminders for August";
/* message */ $message = ' <html> <head> <title>Birthday Reminders for August</title> </head> <body> <p>Here are the birthdays upcoming in August!</p> <table> <tr> <th>Person</th><th>Day</th><th>Month</th><th>Year</th> </tr> <tr> <td>Joe</td><td>3rd</td><td>August</td><td>1970</td> </tr> <tr> <td>Sally</td><td>17th</td><td>August</td><td>1973</td> </tr> </table> </body> </html> ';
/* To send HTML mail, you can set the Content-type header. */ $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
/* additional headers */ $headers .= "To: Mary <mary@example.com>, Kelly <kelly@example.com>\r\n"; $headers .= "From: Birthday Reminder <birthday@example.com>\r\n"; $headers .= "Cc: birthdayarchive@example.com\r\n"; $headers .= "Bcc: birthdaycheck@example.com\r\n";
/* and now mail it */ mail($to, $subject, $message, $headers); ?> |
Het werkt goed vanaf windows+apache (lokaal) en vanaf m'n website (*nix+apache). De mail komt overal hetzelfde aan (hotmail, gmail, demon). |
ikke_ook | vrijdag 11 maart 2005 @ 20:44 |
bij mij doet hotmail en naar een emailadres bij een andere hostingprovider t goed, alleen naar gmail dan doet hij t dus niet goed, en naar een ander emailadres ook niet... in die gevallen zet hij de header in t bericht.. Althans, vanaf mn website, vanaf lokaal doet hij het wel goed....... |
Keksi | vrijdag 11 maart 2005 @ 23:23 |
Leuk spul dit, dat PHP...
Volgende vraag: hoe kan ik iets wegschrijven naar m'n database? Het wil maar niet lukken.
Stel ik vraag via een query gegevens op uit de database, die pleur ik in een tabel. Als ik op een knop druk wil ik dat de waarden in die tabel weer worden wegggeschreven naar de database.
En oh ja hoe kan ik met een select-option geval een nieuwe pagina tonen? Dus je hebt
1 2 3 4 | <select name="Selectperiod" size="1"> <option value="vandaag">Alleen vandaag</option> <option selected value="week">Tussen nu en een week</option> </select> |
Dat als er wordt gekozen voor vandaag het formulier inpakhok_vandaag.php wordt geladen bij een week dat er het formulier inpakhok_week.php wordt geladen in frame 'content'.
Bedankt alvast, |
Heliospan | zaterdag 12 maart 2005 @ 00:50 |
Wegschrijven doe je met het INSERT-commando:
1 2 | INSERT INTO `tabel` (cel1, cel2, cel3) VALUES ('waarde1', 'waarde2', 'waarde3') |
In PHP wordt dat zoiets als dit:
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php // Verbinden met database
$db_host = "localhost"; $db_user = "***"; $db_pass = "***"; $db_name = "***";
$db = mysql_connect ($db_host, $db_user, $db_pass) or die ('Databasefout: ' . mysql_error()); mysql_select_db ($db_name, $db);
mysql_query("INSERT INTO `tabel` (cel1, cel2, cel3) VALUES ('waarde1', 'waarde2', 'waarde3')") or die(mysql_error()); ?> |
Als je al waarden uit de db hebt gehaald:
1 2 3 4 5 6 | <?php $query = mysql_query("SELECT * FROM `tabel` WHERE bla = 'blaat' LIMIT 1"); $result = mysql_fetch_assoc($query);
mysql_query("INSERT INTO `tabel` (cel1, cel2, cel3) VALUES ('".$result['waarde1']."', '".$result['waarde2']."', '".$result['waarde3']."')") or die(mysql_error()); ?> |
Ik weet niet precies welke tabel je bedoelt, de HTML <table> of een MySQL-tabel? Met iets meer info kan ik een uitgebreider voorbeeldje posten 
Je tweede probleem kan makkelijk opgelost worden door GET ipv POST te gebruiken:
1 2 3 4 5 6 7 8 | <?php // content.php if($_GET['Selectperiod'] == "vandaag") { if(file_exists('inpakhok_vandaag.php')) include('inpakhok_vandaag.php'); } else { if(file_exists('inpakhok_week.php')) include('inpakhok_week.php'); } ?> |
1 2 3 4 5 6 7 8 | <!-- pagina.html -->
<form action="content.php" target="content"> <select name="Selectperiod" size="1" onChange="this.form.submit();"> <option value="vandaag">Alleen vandaag</option> <option value="week">Tussen nu en een week</option> </select> </form> |
Ik hoop dat er niet te veel fouten in zitten, ik heb even niet de mogelijkheid om het te testen. |
Swetsenegger | zaterdag 12 maart 2005 @ 09:15 |
quote: Neenee, dit zijn regexps die van [ url = text ] andere tekst [ /url ] uitgaan.
Mijn eerste regexp parst gewoon urls die je intikt. Net zoals hier op fok wanneer ik www.nu.nl intik |
SuperRembo | zaterdag 12 maart 2005 @ 09:53 |
quote:Op zaterdag 12 maart 2005 09:15 schreef Swetsenegger het volgende:[..] Neenee, dit zijn regexps die van [ url = text ] andere tekst [ /url ] uitgaan. Mijn eerste regexp parst gewoon urls die je intikt. Net zoals hier op fok wanneer ik www.nu.nl intik Jajaja Probeer ze eens.
Input:
1 2 3 4 | Test 1: http://foo.com lorum ipsum Test 2: www.foo.com lorum ipsum Test 3: [url=http://foo.com]Foo[/url] lorum ipsum Test 4: [url=foo.com]Foo[/url] lorum ipsum |
Output:
1 2 3 4 | Test 1: <a href="http://foo.com">http://foo.com</a> lorum ipsum Test 2: <a href="http://www.foo.com">www.foo.com</a> lorum ipsum Test 3: <a href="http://foo.com">Foo</a> lorum ipsum Test 4: <a href="http://foo.com">Foo</a> lorum ipsum |
|
gieling | zaterdag 12 maart 2005 @ 12:32 |
Goedendag allen 
Ik wil mijn mailscriptje een beetje uitbreiden. Normaal konden mensen alleen het onderwerp v/d mail zelf intypen, maar nu wil ik ook een optie dat ze gewoon de naam van het 'object' waar ze net vandaan zijn gekomen (staat linkje bij voor contact) direct kunnen 'aanvinken'.
Nou is dat laatste niet zo'n probleem, gebeurt gewoon met radio buttons. Maar hoe zorg ik, dat als (zeg maar radio button 2==zelf vraag intypen) radiobutton 2 wordt aangevinkt de gevens uit het text-veld worden meegezonden?
Vrij lastig te omschrijven, maar hopelijk begrijpen jullie het  |
ikke_ook | zaterdag 12 maart 2005 @ 13:24 |
Kun je niet beter een checkbox gebruiken ipv een radiobutton?Je vraag klinkt alsof je dat wil namelijk 
1 2 3 | if($_POST['checkbox'] == 'on'){ $message .= "object waar ik net vdanaan kwam is : ".$_POST['text_vak_bij_checkbox']; } |
Zoiets? |
ikke_ook | zaterdag 12 maart 2005 @ 13:25 |
-dubbel- |
gieling | zaterdag 12 maart 2005 @ 14:30 |
quote:Op zaterdag 12 maart 2005 13:24 schreef ikke_ook het volgende:Kun je niet beter een checkbox gebruiken ipv een radiobutton?Je vraag klinkt alsof je dat wil namelijk  [ code verwijderd ] Zoiets? Ik wil juist dat óf dat het onderwerp de naam van het object is waar ze net vandaan kwamen óf dat ze zelf een vraag als ondwerp kunnen invoeren. |
Roonaan | zaterdag 12 maart 2005 @ 14:33 |
Je kan toch gewoon die textarea prefillen en als ze iets anders willen, doen ze dat wel toch? |
gieling | zaterdag 12 maart 2005 @ 14:36 |
quote:Op zaterdag 12 maart 2005 14:33 schreef Roönaän het volgende:Je kan toch gewoon die textarea prefillen en als ze iets anders willen, doen ze dat wel toch? Zou idd ook kunnen ja! Maar is het überhaupt mogenlijk? Want hoe zorg je dat als een checkbox is aangevinkt de value van de textbox wordt verzonden... |
ikke_ook | zaterdag 12 maart 2005 @ 14:40 |
Dat heb ik daarboven toch neer gezet? als je al die dingen in 1 form zet, dan komen al die waardes in je _POST array terecht... En dan kun je toch controleren of die checkbox aangevinkt is en dan de tekst meesturen? |
Roonaan | zaterdag 12 maart 2005 @ 14:42 |
quote:Op zaterdag 12 maart 2005 14:36 schreef gieling het volgende:[..] Zou idd ook kunnen ja! Maar is het überhaupt mogenlijk? Want hoe zorg je dat als een checkbox is aangevinkt de value van de textbox wordt verzonden... Die checkbox valt dan toch weg? |
gieling | zaterdag 12 maart 2005 @ 16:13 |
quote: Ja maar los daarvan: zou het kunnen?quote:Op zaterdag 12 maart 2005 14:40 schreef ikke_ook het volgende:Dat heb ik daarboven toch neer gezet? als je al die dingen in 1 form zet, dan komen al die waardes in je _POST array terecht... En dan kun je toch controleren of die checkbox aangevinkt is en dan de tekst meesturen? Ehh.. ik snap het niet helemaal, je bedoelt dus dat ik jou stukje code 2x moet doen 1x voor textbox en 1x keer voor de object_naam waar de bezoeker net vandaan kwam? |
ikke_ook | zaterdag 12 maart 2005 @ 16:31 |
ja het kan, met <textarea>tekst bladiebla komt allemaal in tekstvak</textarea> of met <input value="tekst in tekstvak"></input> |
ikke_ook | zaterdag 12 maart 2005 @ 16:35 |
Ik heb mijn mail functie ook aan de praat SuperR (en de rest die er over nadacht ) Als je de header maakt met aan ieder eind van de regel \n ipv \r\n dan werkt hij wel....
[ Bericht 17% gewijzigd door ikke_ook op 12-03-2005 16:46:57 ] |
SuperRembo | zaterdag 12 maart 2005 @ 16:44 |
quote:Op zaterdag 12 maart 2005 16:35 schreef ikke_ook het volgende:Ik heb mijn mail functie ook aan de praat SuperR (en de rest die er over nadacht  ) Als je de header maakt met aan ieder eind van de regel \n ipv \n\r dan werkt hij wel.... Als je er echt "\n\r" had staan dan was dat fout. "\r\n" zou wel moeten werken. |
ikke_ook | zaterdag 12 maart 2005 @ 16:46 |
Ik probeerde dat te editten maar fok liep te klieren, er moet ook \r\n staan hoor  Ik las net ergens op internet iets over \r\n en mail headers, en t lost het probleem echt op.. |
ikke_ook | zaterdag 12 maart 2005 @ 17:01 |
1 2 3 4 5 6 7 8 9 10 11 12 | function makeRandomPassword() { $str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; $i = 0; while ($i <= 7) { $num = rand(0,61); $tmp = substr($str, $num, 1); $pass .= $tmp; $i++; } return $pass; } |
Deze password generator genereert nogal vaak : GRd8w66o Hoe is dit ooit mogelijk? Ik roep deze functie steeds opnieuw aan door : $newpass = makeRandomPassword() (Eigenlijk niet alleen bovenstaand wachtwoord, maar wel vaker een zelfde wachtwoord 2x achter elkaar) |
SuperRembo | zaterdag 12 maart 2005 @ 17:42 |
Draai je soms een hele ouwe PHP (< 4.2.0)  Want die deed nog geen automatische seed.
Ik krijg trouwens allemaal verschillende passwords. (Win2k, apache, php 4.3.9) |
Heliospan | zaterdag 12 maart 2005 @ 17:52 |
Toevoeging: http://nl3.php.net/manual/nl/function.srand.php  |
Heliospan | zaterdag 12 maart 2005 @ 18:10 |
quote:Op zaterdag 12 maart 2005 16:13 schreef gieling het volgende:[..] Ja maar los daarvan: zou het kunnen? [..] Ehh.. ik snap het niet helemaal, je bedoelt dus dat ik jou stukje code 2x moet doen 1x voor textbox en 1x keer voor de object_naam waar de bezoeker net vandaan kwam? Als je een formpje als deze hebt:
1 2 3 4 5 6 7 | <form action="formhandler.php" method="post"> <input type="radio" name="sel_titel" value="een"> Titel: <input type="text" name="titel1"><br/> <input type="radio" name="sel_titel" value="twee"> <input type="text" name="titel2" value="Naam van object waar je net vandaan komt"><br/> <input type="submit"> </form> |
En je dit in je formhandlerscript zet:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <?php if(!empty($_POST)) {
switch($_POST['sel_titel']) {
case "een": $titel = $_POST['titel1']; break;
case "twee": $titel = $_POST['titel2']; break;
default: $titel = ""; break;
}
mail($to, $titel, $inhoud, $headers);
} ?> |
Doet het toch wat je wilt? (die formhandler.php is uiteraard nog niet compleet ) |
Swetsenegger | zaterdag 12 maart 2005 @ 21:14 |
quote:Op zaterdag 12 maart 2005 09:53 schreef SuperRembo het volgende:[..] Jajaja  Probeer ze eens. Input: [ code verwijderd ] Output: [ code verwijderd ] Getest, de gezamelijk Fok URL parser doet het beter 
1 2 3 | $text = preg_replace("/([A-Za-z0-9._-]+@[-A-Za-z0-9]+(\.[-A-Za-z0-9]+)*)/i",'<a href="mailto:\1">\1</a>',$text); $text = preg_replace("/[^\[url=http:\/\/](www(\.[-A-Za-z0-9]+)+\.[A-Za-z]{2,4}(\/\~?[-A-Za-z0-9\.\/?%&=#] ?)/i",'<a href="http://\1" target="_new">\1</a>',$text); $text = preg_replace('/\[url=(.+)\](.+)\[\/url\]/', '<a href="\1" target="_new">\2</a>', $text ); |
parst zo'n beetje alles, zelfs deze: www.nl.pwc.com/extweb/Bn/Taxnews.nsf/Public/WI06212 waar fok van over z'n nek gaat 
[ Bericht 2% gewijzigd door Swetsenegger op 12-03-2005 21:20:02 ] |
SuperRembo | zaterdag 12 maart 2005 @ 22:31 |
quote: Huh Wat gaat er dan mis met mijn regexps?quote: Die regexps zijn te ingewikkeld (er zitten overbodige en onhandige constructies in). Ze halen spaties weg voor een link. En ik kan er geen link mee maken naar een .museum domein. En het gaat mis met 2 links op 1 regel.
Nu jij weer  |
Swetsenegger | zaterdag 12 maart 2005 @ 22:47 |
quote: De helft wordt niet goed geparsed en zodra ik een 'kale' url en een '[ url=' url in dezelfde tekst heb verneukt hij het compleet.
-edit-

Dat de helft niet mee geparst wordt, net als hier op fok, ok. Maar dit is wel ernstig  quote:Die regexps zijn te ingewikkeld (er zitten overbodige en onhandige constructies in). Ze halen spaties weg voor een link. Nee hoor nog nooit meegemaakt dat er een spatie voor de url weg is. Of het moet zijn door die laatste toevoeging. ff induikenquote:En ik kan er geen link mee maken naar een .museum domein.  quote:En het gaat mis met 2 links op 1 regel. Nee....
[ Bericht 8% gewijzigd door Swetsenegger op 12-03-2005 22:59:37 ] |
SuperRembo | zaterdag 12 maart 2005 @ 23:10 |
Kijk en vergelijk
1e output is van mijn regexps, 2e output is van jouw regexps. Ik heb alleen voor de duidelijkheid de target="_new" weggehaald. |
Swetsenegger | zaterdag 12 maart 2005 @ 23:15 |
quote: Ja? Inderdaad haalt hij 'nu' een spatie weg, komt denk ik door die laatste toevoeging van [url=http:// NIET mee parsen.
verder doettie het perfect.
Ik heb graag een betere parser, en die van jou doet het erg goed, behalve dan die complete verneuking met die lange url, dat is echt killing  |
SuperRembo | zaterdag 12 maart 2005 @ 23:20 |
quote:Op zaterdag 12 maart 2005 23:15 schreef Swetsenegger het volgende:Ik heb graag een betere parser, en die van jou doet het erg goed, behalve dan die complete verneuking met die lange url, dat is echt killing  In m'n testformpje doet ie dat zonder problemen. Een url zonder tag moet beginnen met www of http:// en en moet een spatie na staan. |
Swetsenegger | zaterdag 12 maart 2005 @ 23:22 |
Mijn excuses, nogmaals getest en hij werkt perfect...  Waar ik nu net de fout in ging weet ik niet, maar...  |
Swetsenegger | zaterdag 12 maart 2005 @ 23:24 |
quote:Op zaterdag 12 maart 2005 23:20 schreef SuperRembo het volgende:[..] In m'n testformpje doet ie dat zonder problemen. Een url zonder tag moet beginnen met www of http:// en en moet een spatie na staan. Dan was het denk ik de spatie. Wat gebeurt er dan als hij helemaal aan het eind van de string staat? Het is toch zeker spatie OF einde string? |
SuperRembo | zaterdag 12 maart 2005 @ 23:25 |
ha |
SuperRembo | zaterdag 12 maart 2005 @ 23:27 |
quote:Op zaterdag 12 maart 2005 23:24 schreef Swetsenegger het volgende:[..] Dan was het denk ik de spatie. Wat gebeurt er dan als hij helemaal aan het eind van de string staat? Het is toch zeker spatie OF einde string? Nee als er niets achter staat dan wordt ie helemaal niet geparst. Je kan er zelf ff een spatie achter plakken en achteraf trimmen. Zal er nog eens naar kijken. |
Swetsenegger | zaterdag 12 maart 2005 @ 23:30 |
quote:Op zaterdag 12 maart 2005 23:27 schreef SuperRembo het volgende:[..] Nee als er niets achter staat dan wordt ie helemaal niet geparst. Je kan er zelf ff een spatie achter plakken en achteraf trimmen. Zal er nog eens naar kijken. Is gewoon 'einde string' niet handiger? In tekst mag je er wel vanuitgaan dat er een spatie komt. Of een punt (welke hij mee parst zag ik, mits er na die punt een spatie komt)
Ik zie zo snel ff twee nadelen welke die andere parser niet heeft. Hij parst de punt na www.fok.nl. mee en einde string (spatie nodig) |
SuperRembo | zaterdag 12 maart 2005 @ 23:37 |
Die punt is idd wel irritant  |
Swetsenegger | zaterdag 12 maart 2005 @ 23:38 |
quote: Ja die is naar. mbt de spatie
na de \s een I $ zou toch moeten werken?
-edit- zo dus
1 2 3 4 | '#(?<!\[url=)(https?://.*?)(?=\s|$)#i' => '<a href="\1">\1</a>', '#(?<!\[url=)(www\..*?)(?=\s|$)#i' => '<a href="http://\1">\1</a>', '#\[url=(https?://.*?)\](.*?)\[/url\]#i' => '<a href="\1">\2</a>', '#\[url=(.*?)\](.*?)\[/url\]#i' => '<a href="http://\1">\2</a>', |
-edit- Ja dus 
[ Bericht 28% gewijzigd door Swetsenegger op 12-03-2005 23:45:17 ] |
SuperRembo | zaterdag 12 maart 2005 @ 23:49 |
Kut. Ik zie nu dat 't mis gaat met http://www.foo.com. Die wordt dubbel geparsed. |
Swetsenegger | zaterdag 12 maart 2005 @ 23:50 |
quote: een keer zonder http en een keer met zeker?

[ Bericht 9% gewijzigd door Swetsenegger op 12-03-2005 23:55:44 ] |
SuperRembo | zondag 13 maart 2005 @ 00:10 |
Dat laatste heb ik gefixed http://superrembo.com/test/ubblink.php
Die punt komt later misschien nog een keer. |
Swetsenegger | zondag 13 maart 2005 @ 09:54 |
quote: Ok, dus de spatie is gefixed (was eigenlijk alleen een porbleem bij einde string) Het dubbele parsen (ook met [ url = ?) is gefixed...
Punt is niet zo bezwaarlijk, want volgens mij opent hij in 9 van de tien gevallen toch de correcte pagina wel ondanks de punt 
Kan je de gefixte code plaatsen? Want dan is het wel een super parser! |
SuperRembo | zondag 13 maart 2005 @ 11:24 |
Nou ok dan.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | $regexps = array( // http://foo.net => [url=http://foo.net]http://foo.net[/url] '#(?<!\[url=)(http://.*?)(?=\s|$)#i' => '[url=\1]\1[/url]',
// www.foo.net => [url=www.foo.net]http://www.foo.net[/url] '#(?<!\[url=)(?<!http://)(www\..*?)(?=\s|$)#i' => '[url=http://\1]\1[/url]',
// [url=http://foo.net]Foo[/url] => <a href="http://foo.net">Foo</a> '#\[url=(https?://.*?)\](.*?)\[/url\]#i' => '<a href="\1">\2</a>',
// [url=foo.net]Foo[/url] => <a href="http://foo.net">Foo</a> '#\[url=(.*?)\](.*?)\[/url\]#i' => '<a href="http://\1">\2</a>', );
foreach ($regexps as $search=>$replace) { $text = preg_replace($search, $replace, $text); } |
|
Swetsenegger | zondag 13 maart 2005 @ 11:33 |
quote: -edit- dat was commentaar swets 
Snappum al, je zet alles om naar [ url= en die parse je vervolgens.
slim... |
SuperRembo | zondag 13 maart 2005 @ 11:35 |
quote: Jee zeg Geen syntax highlighting en meteen lost  |
Swetsenegger | zondag 13 maart 2005 @ 12:02 |
1 | '#(?<!\[url=)(http://.*?)(?=\s|$|"\.\s"|"\.$")#i' => '[url=\1]\1[/url]', |
Is dit 'm niet? (geen tijd om te testen) |
Swetsenegger | zondag 13 maart 2005 @ 12:03 |
quote: 
 zaggut inderdaad pas met highlighting  |
SuperRembo | zondag 13 maart 2005 @ 12:23 |
quote: Dit kan wel.
Een url zonder tag moet beginnen met http:// of www. Een url houd op bij een spatie of het einde van de string string Als er aan het eind leestekens staan (.,?:;()< of >) dan worden die niet meegenomen in de url.
Misschien is ie niet helemaal sluitend, maar hij is zo wel practisch.
1 2 3 4 5 6 7 8 9 10 11 12 13 | $regexps = array( // http://foo.net => [url=http://foo.net]http://foo.net[/url] '#(?<!\[url=)(http://.*?)(?=[.,?:;()<>]*(\s|$))#i' => '[url=\1]\1[/url]',
// www.foo.net => [url=www.foo.net]http://www.foo.net[/url] '#(?<!\[url=)(?<!http://)(www\..*?)(?=[.,?:;()<>]*(\s|$))#i' => '[url=http://\1]\1[/url]',
// [url=http://foo.net]Foo[/url] => <a href="http://foo.net">Foo</a> '#\[url=(https?://.*?)\](.*?)\[/url\]#i' => '<a href="\1">\2</a>',
// [url=foo.net]Foo[/url] => <a href="http://foo.net">Foo</a> '#\[url=(.*?)\](.*?)\[/url\]#i' => '<a href="http://\1">\2</a>', ); |
|
Swetsenegger | zondag 13 maart 2005 @ 17:26 |
Ik had gewoon deze:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | $regexps = array( // http://foo.net => [url=http://foo.net]http://foo.net[/url] \'#(?<!\\[url=)(http://.*?)(?=\\s|$|(\\.\\s)+|(\\.$)+)#i\' => \'[url=\\1]\\1[/url]\',
// www.foo.net => [url=www.foo.net]http://www.foo.net[/url] \'#(?<!\\[url=)(?<!http://)(www\\..*?)(?=\\s|$|(\\.\\s)+|(\\.$)+)#i\' => \'[url=http://\\1]\\1[/url]\',
// [url=http://foo.net]Foo[/url] => <a href=\"http://foo.net\">Foo</a> \'#\\[url=(https?://.*?)\\](.*?)\\[/url\\]#i\' => \'<a href=\"\\1\">\\2</a>\',
// [url=foo.net]Foo[/url] => <a href=\"http://foo.net\">Foo</a> \'#\\[url=(.*?)\\](.*?)\\[/url\\]#i\' => \'<a href=\"http://\\1\">\\2</a>\', );
foreach ($regexps as $search=>$replace) { $text = preg_replace($search, $replace, $text); } |
|
SuperRembo | zondag 13 maart 2005 @ 17:57 |
Handig al die \\\\\\\\ 
Er zitten weer rare constructies in je regexps 
Dit
1 | (?=\\\\s|$|(\\\\.\\\\s)+|(\\\\.$)+) |
komt overeen met
wat dan weer makkelijk uit te breiden is naar
1 | (?=[.,?:;()<>]*(\\\\s|$)) |
|
SuperRembo | zondag 13 maart 2005 @ 17:58 |
O kut, die backslashes komen door een foute instelling van de server. Heeft breuls weer lopen kloten 
Magic quotes zullen wel aan staan denk ik. Verschikkelijke klote feature van php/mysql. |
Swetsenegger | zondag 13 maart 2005 @ 20:05 |
quote:Op zondag 13 maart 2005 17:58 schreef SuperRembo het volgende:O kut, die backslashes komen door een foute instelling van de server.  Heeft breuls weer lopen kloten  Magic quotes zullen wel aan staan denk ik. Verschikkelijke klote feature van php/mysql. LOL, ja magic quotes moeten ze er direct uitslopen. die van jou is beter, want ik hield alleen rekening met de punt. |
Swetsenegger | zondag 13 maart 2005 @ 20:10 |
Ok, dillema.
Ik ben een site aan het bouwen voor een makelaar. Hierop moet hij natuurlijk nieuwe woningen kunnen plaatsen. Per woning komen er 5 foto's in 2 formaten (thumb en iets groter)
Ik ga er in ieder geval 2 tabellen van maken, 1 met de omschrijving, adres, prijs etc van de woning en dan een tabel foto's.
Maar... hoe ga ik het doen. upload ik de originele foto's, zet ik die in een BLOB (1 foto per row) en laat ik php resizen bij het uitlezen van de tabel... voordeel: lekker snel 5 foto's uploaden. nadeel, trager aan de zichtbare kant.
OF upload ik de foto's, resize ik in twee formaten en zet ik deze twee formaten per row in twee blob's (1 foto per row in 2 sizes).
voordeel, snelheidswinst aan de zichtbare kant nadeel, vertraging bij uploaden.
OF resize ik de foto's en maak 10 blobs per row voordeel snelheidswinst zichtbare kant en eenvoudiger scripten voor de zichtbarekant nadeel, upload proces grote tabellen
vergeet ik iets? |
Heliospan | maandag 14 maart 2005 @ 00:30 |
Ik ben bezig met een site die luistergedrag van mensen met een bepaalde Winamp-plugin opslaat, en er interessante statistieken van maakt.
Dit is de query die ik gebruik om de laatst beluisterde nummers van een gebruiker te krijgen:1 2 3 4 5 6 7 8 9 10 | SELECT h.hits_timestamp, n.nummer_id, n.nummer_titel, a.artiest_id, a.artiest_naam, b.album_id, b.album_titel, u.user_id, u.user_name FROM hits h, nummer n, artiest a, album b, user u WHERE n.nummer_id = h.hits_nummer_id AND a.artiest_id = n.nummer_artiest_id AND b.album_id = n.nummer_album_id AND u.user_id = h.hits_user_id AND u.user_name LIKE '".$var['user_name']."' ORDER BY h.hits_id DESC LIMIT 0,25 |
Ik heb aparte tabellen voor artiesten ('artiest'), nummers('nummer'), cd's ('album') en gebruikers ('user'). Elke keer dat iemand een nummer luistert wordt in de 'hits'-tabel een rij toegevoegd met daarin een link naar de 'nummer'-tabel. Omdat er ook een timestamp bijzit is dit een hele handige manier om verschillende soorten gegevens te krijgen, bijvoorbeeld alleen de beluisterde muziek van laatste week of in een bepaalde periode.
Bovenstaande is handig bij mijn vraag, denk ik. Ik wil toplijsten kunnen krijgen van artiesten en nummers per user. Voor nummers is dat wel te doen denk ik, ik tel (COUNT) alle zelfde nummer_id's en sorteer ze aflopend. Maar de artiesten zitten dus in een andere tabel, waarnaar gelinkt wordt vanuit de 'nummer'-tabel. Hoe tel ik nummers die van dezelfde artiest zijn bij elkaar? Voorbeeldquery zou ook mooi zijn  |
Light | maandag 14 maart 2005 @ 01:24 |
Volgens mij krijg je dan zoiets, iig voor 1 user.
1 2 3 4 5 6 7 | SELECT COUNT(a.artiest_id), a.artiest_id, a.artiest_naam, u.user_id, u.user_name FROM hits h, nummer n, artiest a, user u WHERE n.nummer_id = h.hits_nummer_id AND a.artiest_id = n.nummer_artiest_id AND u.user_id = h.hits_user_id AND u.user_name LIKE '".$var['user_name']."' GROUP BY u.user_id |
Code is niet getest overigens. |
Heliospan | maandag 14 maart 2005 @ 02:54 |
Bedankt voor je hulp! Op die manier krijg ik em nog niet helemaal aan de praat, maar je hebt me zeker op de goede weg geholpen. Dit werkt volgens mij:
1 2 3 4 5 6 7 8 9 | SELECT COUNT(h.hits_nummer_id) AS artnum, a.artiest_id, a.artiest_naam, u.user_id FROM hits h, nummer n, artiest a, user u WHERE n.nummer_id = h.hits_nummer_id AND a.artiest_id = n.nummer_artiest_id AND u.user_id = h.hits_user_id AND u.user_id = '".$var['user_id']."' GROUP BY a.artiest_naam ORDER BY artnum DESC LIMIT 0, 25 |
|
rickmans | maandag 14 maart 2005 @ 07:56 |
quote:Op zondag 13 maart 2005 20:10 schreef Swetsenegger het volgende:Ok, dillema. Ik ben een site aan het bouwen voor een makelaar. Hierop moet hij natuurlijk nieuwe woningen kunnen plaatsen. Per woning komen er 5 foto's in 2 formaten (thumb en iets groter) Ik ga er in ieder geval 2 tabellen van maken, 1 met de omschrijving, adres, prijs etc van de woning en dan een tabel foto's. Maar... hoe ga ik het doen. upload ik de originele foto's, zet ik die in een BLOB (1 foto per row) en laat ik php resizen bij het uitlezen van de tabel... voordeel: lekker snel 5 foto's uploaden. nadeel, trager aan de zichtbare kant. OF upload ik de foto's, resize ik in twee formaten en zet ik deze twee formaten per row in twee blob's (1 foto per row in 2 sizes). voordeel, snelheidswinst aan de zichtbare kant nadeel, vertraging bij uploaden. OF resize ik de foto's en maak 10 blobs per row voordeel snelheidswinst zichtbare kant en eenvoudiger scripten voor de zichtbarekant nadeel, upload proces grote tabellen vergeet ik iets? afbeeldingen wil je op zich niet in een DB zetten, tenzij je er hele goede redenen voor hebt. Wat je imho beter kan doen is zorgen dat de images een unique filename hebben en de filename opslaan in de database. |
Swetsenegger | maandag 14 maart 2005 @ 08:51 |
quote:Op maandag 14 maart 2005 07:56 schreef rickmans het volgende:[..] afbeeldingen wil je op zich niet in een DB zetten, tenzij je er hele goede redenen voor hebt. Wat je imho beter kan doen is zorgen dat de images een unique filename hebben en de filename opslaan in de database. Aangezien er heel veel verloop is, is het een stuk eenvoudiger om ze in DB te zetten dan bij elke wijziging EN een record te verwijderen EN 10 afbeeldingen te unlinken.
Waarom zou je het niet in DB doen? |
rickmans | maandag 14 maart 2005 @ 20:51 |
Zie de volgende artikelen:
http://www.sitepointforums.com/showthread.php?s=&threadid=38728 http://www.zend.com/zend/trick/tricks-sept-2001.php En zich dekt deze quote de afweging die je zou kunnen/ moeten makenquote:One of the classic "right" applications where images should be stored in the database is when the filesystem overhead outweighs the database query overhead.
We built an image database for icons and "smilies" and other very small images. This site gets about 2,000,000 requests a day for these images. The database delivers them without blinking. The file system version was so overloaded that the consultant's answer to the problem was a $250,000 storage device to put a couple dozen spindles under the I/O.
We told the customer that we would do the project for free if performance did not improve to a satisfactory level (one of my designers was absolutely certain the database design would outperform the filesystem version). We were paid $50k for 2 weeks work and the customer was thrilled with the results.
It's all about what tools are appropriate for the application at hand. Op zich is het deleten van een record en het deleten van een aantal images niet echt de moeite, zeker niet als je dit in een kleine procedure/ functie heb vastgelegd, dan is het een kwestie van eenmalig schrijven en vervolgens netjes aanroepen. |
Swetsenegger | maandag 14 maart 2005 @ 21:35 |
quote: Ja ik had ook op yapf een goede "don't" gevonden. Op zich maakt het geen ruk uit eigenlijk. Ik zal toch die resize functie moeten schrijven, ik moet alleen bij deleten een unlink functie extra hebben .
Sowieso was mijn originele gedachte iets te simpel kwam ik net achter en zit de structuur van 5 foto's in 2 formaten gekoppeld aan 1 object welke je vervolgens ook nog eens stuk voor stuk moeten kunnen updaten toch iets ingewikkelder in elkaar  |
dnzl | donderdag 17 maart 2005 @ 11:04 |
Ik probeer een select query te maken die alle velden weergeeft wanneer "permission" groter is dan 1 maar het mag ook 0 zijn (kortom gebruikers met 1 mogen niet worden weergegeven.
Kan iemand me hiermee helpen, hoe formuleer ik dit?
1 | mysql_query("SELECT * FROM users WHERE permission = '!1' ORDER BY username"); |
PS: mooie meiden Swets  |
ikke_ook | donderdag 17 maart 2005 @ 11:14 |
Bijna goed zo:
1 | mysql_query("SELECT * FROM users WHERE permission != 1 ORDER BY username"); |
Geen quotes om een integer zetten, en dat vraagteken ff voor het = teken zetten  |
danko | donderdag 17 maart 2005 @ 13:07 |
kheb een phpBB forum met de Last-Visit mod geinstalleerd. deze mod zet een Unix Timestamp in de db als een lid op het forum komt. Ik wil kijke hoeveel users er de afgelope week op het forum zijn geweest (de actieve users dus) door de db uit te laten lezen met iets van 'WHERE user_lastvisit > $timestamp-one-week-ago'
ik wil dus weten hoe ik van de huidige timestamp een timestamp kan maken van een week geleden? ik heb verschillende dinge geprobeerd maard dat mocht niet bater. er kwam wel iets uit maar het klopte niet aangezien hij dan dinge van 2 maande geleden of maar van 3 dagen uit las. |
Heliospan | donderdag 17 maart 2005 @ 14:41 |
Unix Timestamps werken in seconden. Aangezien in een week 3600*24*7 = 604800 seconden zitten kun je het op deze manier doen:
WHERE user_lastvisit > ' " . (time() - 604800) . " ' |
ikke_ook | donderdag 17 maart 2005 @ 14:41 |
met de functies mktime(), en time() Moet dat wel lukken!Ik heb ff geen tijd voor meer uitleg. |
ikke_ook | donderdag 17 maart 2005 @ 14:41 |
dat kan natuurlijk ook heliospan  |
danko | donderdag 17 maart 2005 @ 15:23 |
yup, alleen geeft ie dan 12 users terwijl het er 13 zijn... kan het zijn dat ie op 0 begint te telle als ik 'SELECT COUNT(user_id)' gebruik in de sql syntax? |
Heliospan | donderdag 17 maart 2005 @ 22:59 |
Nee. |
Jump | donderdag 17 maart 2005 @ 23:07 |
quote:Op donderdag 17 maart 2005 15:23 schreef danko het volgende:yup, alleen geeft ie dan 12 users terwijl het er 13 zijn... kan het zijn dat ie op 0 begint te telle als ik 'SELECT COUNT(user_id)' gebruik in de sql syntax? nee, maar wat dan als er effectief 0 rijen zijn? dan kunne het er 0 of 1 zijn  |
danko | vrijdag 18 maart 2005 @ 01:34 |
mijn fout. er stond ook nog een regel in de syntax die users met 0 posts uit sluit. omdat er 1 user was die nog niks had gepost kwam ik op 12 ipv 13 users. domdomdom...
het werkt nu, in ieder geval bedankt! |
wonderer | vrijdag 18 maart 2005 @ 02:01 |
Meer een MySQL kwestie, maar... Als ik een tabel heb met een bepaald veld dat meer dan eens voor kan komen. Bijvoorbeeld ik heb drie keer rood, vier keer groen en een keer blauw... hoe kan ik het makkelijkste een lijstje met rood: 3 grooen: 4 blauw: 1 maken?
Ik weet in principe niet dat dit alle kleuren zijn. Iets met count en group by? |
Heliospan | vrijdag 18 maart 2005 @ 02:47 |
1 2 3 4 | SELECT kleur, COUNT(kleur) AS tel FROM tabel GROUP BY kleur ORDER BY tel DESC |
Ik denk dat dit wel moet werken  |
wonderer | vrijdag 18 maart 2005 @ 03:15 |
quote: JAAAA! Ik had die count intussen uitgevogeld, maar ik zat dus met die order by... en $row[COUNT(uri)] werkte wel maar zag er nogal dom uit. Nooit gerealiseerd dat je dus AS kan doen...
Muchos bedankios!  |
Heliospan | vrijdag 18 maart 2005 @ 03:16 |
Graag gedaan 
als je nog meer vragen hebt; ik kan niet slapen  |
KillAuthority | vrijdag 18 maart 2005 @ 10:49 |
hey ik heb een inlog script en wil op de volgende pagina "Welkom 'voornaam' 'achternaam' " laten weergeven. Maar alleen.. hoe moet dan de filter eruit komen te zien? ik heb al het een en het ander geprobeerd maar het werkt nog niet. Alleen bij GEEN filter geef ie de namen weer bij alle andere filters geeft ie niets weer.. 
[ Bericht 2% gewijzigd door KillAuthority op 18-03-2005 11:02:54 ] |
Roonaan | vrijdag 18 maart 2005 @ 11:18 |
filters? |
KillAuthority | vrijdag 18 maart 2005 @ 11:21 |
ja of hoe je het ook wilt noemen. ik heb dus een username ingevoerd en die wordt (hopelijk) meegezonden en ik wil dus op de volgende pagina aangeven dat ie uit de database het username moet filteren en dus de voornaam en achternaam die bij die username hoort weergeeft |
Roonaan | vrijdag 18 maart 2005 @ 11:34 |
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 | $voornaam = ''; $acthernaam = '';
$query = sprintf( 'SELECT `voornaam`, `achternaam`'. ' FROM `tabel`'. ' WHERE `username` = "%s"'. ' LIMIT 1' ,mysql_real_escape_string($_POST['username']) );
$query_result = mysql_unbuffered_query($query);
while($data = mysql_fetch_assoc($query_result)) { $voornaam = $data['voornaam']; $achternaam = $data['achternaam']; }
if(empty($voornaam) && empty($achternaam)) echo "Welkom";
elseif(empty($voornaam)) printf("Welkom mr/mevr %s", htmlspecialchars($achternaam));
elseif(empty($achternaam)) printf("Welkom %s", htmlspecialchars($voornaam));
else printf("Welkom %s %s", htmlspecialchars($voornaam), htmlspecialchars($achternaam)); |
|
SuperRembo | vrijdag 18 maart 2005 @ 11:44 |
Het lijkt me handiger om dat in de session op te slaan. Dan hoef je de database daar niet elke keer mee lastig te vallen. Bij het inloggen haal je het uit de database en zet je 't in de session. Bij 't uitloggen gooi je 't weer weg. |
Roonaan | vrijdag 18 maart 2005 @ 11:49 |
quote:Op vrijdag 18 maart 2005 11:44 schreef SuperRembo het volgende:Het lijkt me handiger om dat in de session op te slaan. Dan hoef je de database daar niet elke keer mee lastig te vallen. Bij het inloggen haal je het uit de database en zet je 't in de session. Bij 't uitloggen gooi je 't weer weg. Hangt er vanaf hoe vaak je de voor/achternaam wilt gebruiken. Als het zeg maar de autoredirect pagina is, die volgt op de login POST form, is het logisch om ze niet in de session op te slaan als je de namen verder niet regelmatig gebruikt. Veelal wordt in zulke zaken toch de username gebruikt als algemeen communicatie middel. |
KillAuthority | vrijdag 18 maart 2005 @ 11:52 |
<?php session_start();
$_SESSION['voornaam']=$_POST['voornaam']; $_SESSION['achternaam']=$_POST['achternaam']; ?>
dan op de volgende pagina
<?php session_start();
echo "Welkom ".$_SESSION['voornaam']." ".$_SESSION['achternaam'].""; ?>
zoiets? dit werkt trouwens niet: Note: Undefined index: voornaam in .....
ik wil het 1 malig gebruiken |
Juggernaut | vrijdag 18 maart 2005 @ 11:55 |
1 2 3 | <?php echo "welkom ". $_SESSION['voornaam'] . " " . $_SESSION['achternaam']; ?> |
|
KillAuthority | vrijdag 18 maart 2005 @ 11:59 |
Notice: Undefined index: voornaam in c:\Inetpub\wwwroot\php\login.php on line 13 dus ik moet nog een correcte code hebben die die voornaam en achternaam verstuurd |
SuperRembo | vrijdag 18 maart 2005 @ 12:36 |
quote: Dan kan je beter naar Roonaan luisteren  |
ikke_ook | vrijdag 18 maart 2005 @ 12:58 |
Als we het toch over $_SESSION hebben.. Is het veilig om $_SESSION['ingelogd'] op 1 te zetten als je inlogd, en dan de rest van de tijd alleen te kijken of die variabele true is, en aan de hand daarvan te oordelen of je ingelogd bent? Ik kan ook wel steeds het cookie controleren, maar stel dat het cookie net verloopt als je iets aan het invoeren bent(gastenboek bijv) dan kan dat heel vervelend zijn.... |
Swetsenegger | vrijdag 18 maart 2005 @ 13:05 |
quote:Op vrijdag 18 maart 2005 12:58 schreef ikke_ook het volgende:Als we het toch over $_SESSION hebben.. Is het veilig om $_SESSION['ingelogd'] op 1 te zetten als je inlogd, en dan de rest van de tijd alleen te kijken of die variabele true is, en aan de hand daarvan te oordelen of je ingelogd bent? Ik kan ook wel steeds het cookie controleren, maar stel dat het cookie net verloopt als je iets aan het invoeren bent(gastenboek bijv) dan kan dat heel vervelend zijn.... http://www.yapf.net/faq.php?cmd=100&itemid=190
Erg goede site trouwens |
Juggernaut | vrijdag 18 maart 2005 @ 13:12 |
quote:Op vrijdag 18 maart 2005 11:59 schreef KillAuthority het volgende:Notice: Undefined index: voornaam in c:\Inetpub\wwwroot\php\login.php on line 13 dus ik moet nog een correcte code hebben die die voornaam en achternaam verstuurd je sessie is dus niet ingevuld. Check het maar met isset()
1 2 3 4 5 6 7 8 | <?php if(isset($_SESSION['voornaam'])){ echo "woei"; } else { echo "jeuk aan m'n naad!"; } ?> |
|
KillAuthority | vrijdag 18 maart 2005 @ 13:22 |
ik ben eergisteren begonnen met PHP dus als het in beetje makkelijkere taal kan, danku  |
ikke_ook | vrijdag 18 maart 2005 @ 13:30 |
Handig swets. Alleen ik snap 1 ding nog steeds niet helemaal. Hoe zit dat met een sessionid dat je krijgt?Is dat ieder bezoek hetzelfde? Ik heb het nu zo dat hij een cookie maakt waarin ik een md5string+userid zet. Deze wordt bij een bezoek gecontroleerd. Als deze bestaat dan zet hij $_SESSION['ingelogd'] op true. de rest van de pageviews ziet hij dus steeds dat $_SESSION['ingelogd'] true is en dat je dus ingelogd bent. Ik doe dus geen IP-controle, want volgens mij is je sessie toch gewoon weg als je je browser afsluit?
En hoe zit dat met cookie controle, wordt de cookie inhoud iedere keer meegestuurd?of moet er een keer extra contact worden gemaakt als ik vraag of er iets in $COOKIE staat?
Hopelijk is mn verhaal een beetje duidelijk....... |
Juggernaut | vrijdag 18 maart 2005 @ 13:38 |
ik doe op m'n forumsoftware ongeveer hetvolgende: 1. inloggen 2. sessie aanmaken en opslaan in een sessietabel in mysql 3 sessie ook opslaan in cookie 4 bij elke opvraag van pagina cookie nakijken en kijken of de opgeslagen sessie in m'n tabel zit 5 als dat zo is dan is gebruiker ingelogd. |
KillAuthority | vrijdag 18 maart 2005 @ 13:52 |
en hoe ziet het eruit als je die sessie variabele aanmaakt? |
Roonaan | vrijdag 18 maart 2005 @ 13:54 |
quote: Op zich wel. Hij vergeet alleen in zijn hele verhaal één belangrijk punt. Verscheiden engelse en amerikaanse hosters rouleren ip's gedurende de sessies. Op het moment dat jij dus alles op IP's gaat fixeren, gaat het geheid mis, en krijgen je bezoekers problemen zoals spontaan uitgelogd zijn, etc etc. Eventueel zou je wel kunnen fixeren op de eerste twee/drie delen van het IP, omdat elke access provider vaak wel zijn eigen range heeft, maar dit is te beperkt om een goede security te handhaven. |
wonderer | vrijdag 18 maart 2005 @ 14:37 |
Er is kortom geen redelijk eenvoudige maar veilige manier om mensen te laten inloggen? Hoe doet PHPBB het eigenlijk? |
Roonaan | vrijdag 18 maart 2005 @ 15:43 |
quote:Op vrijdag 18 maart 2005 14:37 schreef wonderer het volgende:Er is kortom geen redelijk eenvoudige maar veilige manier om mensen te laten inloggen? Hoe doet PHPBB het eigenlijk? ? Waar haal je dat vandaan? Ik zei alleen in een onderonsje met Swetsenegger dat er haken en ogen zitten aan het stug fixeren op ip. Met het gebruik van sessie variabelen zoals in het yapz stuk verder staat is verder niets mis hoor. |
wonderer | vrijdag 18 maart 2005 @ 15:49 |
quote:Op vrijdag 18 maart 2005 15:43 schreef Roönaän het volgende:[..] ? Waar haal je dat vandaan? Ik zei alleen in een onderonsje met Swetsenegger dat er haken en ogen zitten aan het stug fixeren op ip. Met het gebruik van sessie variabelen zoals in het yapz stuk verder staat is verder niets mis hoor. Yeah, sessie variabelen... Iemand ingelogd laten is alweer wat lastiger. Ik moet toch es kijken, want de manier waarop ik het nou doe, is alleen veilig zolang niemand weet wat ik doe  |
ikke_ook | vrijdag 18 maart 2005 @ 20:54 |
Wat is eigenlijk de beste/handigste/mooiste/snelste manier om een datum+tijd in een tabel op te slaan?Dus bijvoorveeld de tijd dat iemand een post doet op t forum. Ik doe het nu door een timestamp te maken met date("U") en die dan in de tabel te zetten. Maar volgens mij moeten er handiger en mooiere manieren zijn Op deze timestamp moet ik namelijk altijd nog een functie los laten die er een mooi format van maakt.. |
Swetsenegger | vrijdag 18 maart 2005 @ 21:31 |
quote:Op vrijdag 18 maart 2005 15:49 schreef wonderer het volgende:[..] Yeah, sessie variabelen... Iemand ingelogd laten is alweer wat lastiger. Ik moet toch es kijken, want de manier waarop ik het nou doe, is alleen veilig zolang niemand weet wat ik doe  Mjah, ik denk dat veiligheid voor een eigen siteje met een CMSje zwaar overrated is. Wie probeert er nou de website van Bakker Piet te hacken? Als je daar in de login checked of combinatie username en password in de usertabel bestaat en bij een zoja een sessie login=1 en je cheked dat op elke page lijkt me dat veilig genoeg eigenlijk.
zolang je maar geen un-encrypted passwords in sessies of cookies zet. |
sylvesterrr | vrijdag 18 maart 2005 @ 21:35 |
quote:Op vrijdag 18 maart 2005 20:54 schreef ikke_ook het volgende:Wat is eigenlijk de beste/handigste/mooiste/snelste manier om een datum+tijd in een tabel op te slaan?Dus bijvoorveeld de tijd dat iemand een post doet op t forum. Ik doe het nu door een timestamp te maken met date("U") en die dan in de tabel te zetten. Maar volgens mij moeten er handiger en mooiere manieren zijn  Op deze timestamp moet ik namelijk altijd nog een functie los laten die er een mooi format van maakt.. http://dev.mysql.com/doc/mysql/en/datetime.html http://dev.mysql.com/doc/mysql/en/date-and-time-functions.html |
ikke_ook | vrijdag 18 maart 2005 @ 22:01 |
quote: Weet ik Ik vroeg ook niet voor niks om de beste/snelste/mooiste/handigste  |
ikke_ook | zondag 20 maart 2005 @ 00:39 |
Omdat hier zoveel slimme mensen stel ik mijn -niet echte php- vraag hier. Als ik browse met firefox dan krijg ik iedere hit op een pagina op mijn server de volgende error in mijn error log :
[Sun Mar 20 00:15:46 2005] [error] [client 131.155.212.*] File does not exist: c:/program files/apache group/apache/htdocs/favicon.ico
Deze foutmelding krijg ik niet als ik IE gebruik, en ik verwijs ook nergens in een pagina naar die favicon, dat weet ik zeker.... |
Breuls | zondag 20 maart 2005 @ 00:42 |
FireFox zoekt uit zichzelf altijd naar de favicon, daar kun je niks aan doen. En een echte error is het niet. Gewoon een 404, niets om je druk om te maken.  |
Breuls | zondag 20 maart 2005 @ 00:45 |
quote:Op vrijdag 18 maart 2005 22:01 schreef ikke_ook het volgende:[..] Weet ik  Ik vroeg ook niet voor niks om de beste/snelste/mooiste/handigste  Welke methode de beste is hangt helemaal af van je eisen, dus je zult in de docs moeten kijken wat voor data er in de diverse formaten wordt opgeslagen, hoeveel bytes zo'n veldje inneenmt, of het snel op te halen en voor je PHP code te parsen is, etc.
Ikzelf gebruik altijd de unix timestamp. Die wordt door MySQL en door PHP ondersteund, en is lekker compact in het opslaan (al zullen andere formaten dat intern vast ook zijn).
[ Bericht 1% gewijzigd door Breuls op 20-03-2005 01:15:18 ] |
ikke_ook | zondag 20 maart 2005 @ 00:52 |
Ah tnx voor de info. Ik was na al de optimalisatie topics van de afgelopen tijd toch al van plan om eens wat testjes te doen om te kijken hoeveel tijd bepaalde acties kosten, dus dan kan ik de timestamp ook wel ff mee testen  |
Heliospan | zondag 20 maart 2005 @ 22:27 |
Ik heb een luisterstatistiekenscript (scrabblewoord), waarvan ik elke dag de nieuwe waarden in de database dump naar mijn thuiscomputer. Daar draait een script op dat voor elke nieuwe artiest een query naar Google wordt gedraaid (via de Google API). Uit de 10 beschrijvingen wil ik het goede hoofdlettergebruik (case sensitivty) voor de artiest/groep uitvinden.
Voor de groep "Triptych" zijn de resultaten:quote:Triptych is a new fast-paced puzzler that will keep you coming back for more. ... Linux Patch v1.16 - Install into your original Triptych folder. --- ... triptych - A painting or carving that has three side-by-side parts, panels, or canvases. ... "Triptych" can even be used as a synonym for "trilogy.". ... --- http://www.triptych-online.com/--- .. Get the Most Popular Sites for "triptych". 2 entries found for triptych. trip·tych Audio pronunciation of "triptych" ( P ) Pronunciation Key (tr p t k) n. ... --- triptych records - independent electronic music. --- Powered by Blogger Site Meter © 2000-04 by Triptych Cryptic. TC: In the jibba-jabba business since March 28, 2000. --- 1050 East 13th Avenue Vancouver, BC, V5T 2L8 tel: 604-731-4430 / fax: 604-408-5927 email: info@triptych-theatricals.ca. Welcome to Triptych Theatricals! ... --- Triptych Conservation Services and Products- for the preservation and conservation of cultural property, specialising in library and archive material. ... --- Triptych has now entered its fourth stage of evolution since first opening in 1998. ... We invite you to enjoy ?Triptych Internet Showroom?! ... --- ... If it does not redirect you within 10 seconds, please click here to see exciting new Triptych Cryptic content: http://members.cox.net/triptychcryptic/blog.html. ... Voor deze resultaten wil ik de verschillende spellingen van 'triptych' in een array hebben. Als meer dan een ingesteld aantal resultaten een bepaalde case sensitivity hebben is dit de waarschijnlijke spelling (om de meeste crap weg te filteren, hoewel deze artiest onbekend is en het niet zo'n goed voorbeeld is ). Mijn vraag: hoe krijg ik deze waarden in een array?
$res['triptych']['TRIPTYCH'] = 0 $res['triptych']['triptych'] = 4 $res['triptych']['Triptych'] = 8
bijvoorbeeld  |
SuperRembo | zondag 20 maart 2005 @ 22:43 |
Doe een iets van
1 | preg_match_all('/triptych/i', $text, $matches) |
en tel de gevonden varianten in $matches. |
Jump | zondag 20 maart 2005 @ 22:49 |
SuperRembo: open jij volgende deel? al geopend OP kan je kopieren uit: http://fok.internix.be/OP/php.txt |
Jump | zondag 20 maart 2005 @ 22:54 |
Volgende deel: [PHP] voor dummies - Deel 6 |