Ik heb een scriptje van een site gehaald die vrij gemakkelijk aan te passen zou moeten zijn.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>
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"); ?> |
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); ?> |
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"; ?> |
set_time_limit(0)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.
484 keer connectenquote: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)
Beetje een gok omdat ik niet weet hoe de tabellen in elkaar stekenquote: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 ]
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) |
Ik denk dat de externe database connection een timeout geeft. Daar draait geen php script, en dus heb je niet aan set_time_limit()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)
Je switch is verkeerd.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 ]
Thumb is met een h.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";
Daar is ie weer de PHP manualquote: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?
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); } ?> |
Inderdaad erg vaag want die tekst staat nergens in de code, spooky.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!
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.quote:Iemand een idee wat er fout gaat?
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.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 duidelijkzo nee, wat zijn de verschillen want ik heb heb PHP4 het complete handboek al..
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> |
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 ?
aldus: http://nl3.php.net/manual/nl/keyword.paamayim-nekudotayim.phpquote: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.
Ik heb het al opgelost, ik had geen join nodigquote: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)
Weet je inmiddels welke query's worden uitgevoerd?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
Dan geef ik 't op.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
Geweldig antwoordquote:Op maandag 14 februari 2005 18:55 schreef SuperRembo het volgende:
[..]
Thumb is met een h.
[..]
Daar is ie weer de PHP manual
[ code verwijderd ]
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); } ?> |
1 2 3 4 | <? include('bla.php'); echo $data; ?> |
Staan je gebruikersnaam en password wel in md5 formaat opgeslagen in de database?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
Gedaan en dat werkt dus niet, vandaar dat ik het vroegquote:Op maandag 14 februari 2005 22:21 schreef SuperRembo het volgende:
Lijkt me wel kunnen. Probeer 't eens zou ik zeggen.
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.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)
Een CHAR van 32 moet genoet zijn hoor.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.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!
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')"); ?> |
Waarom zou je de gebruikersnaam in md5 formaat willen opslaan?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?
Omdat hij de query uitvoert met iets als:quote:Op dinsdag 15 februari 2005 11:21 schreef Light het volgende:
[..]
Waarom zou je de gebruikersnaam in md5 formaat willen opslaan?
1 | WHERE gebruikersnaam = '$gebruikersnaam' |
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"); ?> |
Bumpjequote: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;
?>
quote:
quote:Op maandag 14 februari 2005 22:21 schreef SuperRembo het volgende:
Lijkt me wel kunnen. Probeer 't eens zou ik zeggen.
...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
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> |
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"> |
ob_flush(): failed to flush buffer. No buffer to flushquote:
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); } ?> |
1 2 3 4 5 | <? error_reporting(E_ALL); include('bla2.php'); echo $data; ?> |
Je hebt het script zo aangepast dat ie niets meer output. De output buffer blijft dus leeg. Daar geeft ie een notice van.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
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; ?> |
Ik heb je een werkend voorbeeld gegeven. Daar heb je zo mee zitten rotzooien dat 't niet meer werktquote:Op woensdag 16 februari 2005 16:17 schreef Darkomen het volgende:
Ik heb het idee dat je me probeert op te voedenHeel 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.
ob_flush flusht de output buffer. Als je niets in de output buffer zet (geen echo/print), dan is er niets te flushen.quote:Ik heb bijvoorbeeld al veel dingen geprobeerd zoals flush($data); ob_flush($data); maar niets dat me hierbij helpt, zelfs gegoogeld op flush($
Ik doe m'n best om het te begrijpen, maar volgens jou moet ik dus voor flush(), $data echoen?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().
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(); ) ?> |
1 2 3 4 5 6 | <? include('include.php'); echo 'wat html zooi'; echo $data; echo 'nog wat html zooi'; ?> |
HEt script doet een aantal dingen,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
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); } |
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 |
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')"; ?> |
Nee dat hoeft niet persee maar is meestal wel zo gemakkelijk toch?quote:Op woensdag 16 februari 2005 19:35 schreef DutchBlood het volgende:
Wil je per se regular expressions gebruiken?
quote:<?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]");
?>
Verklaar je nader, svpquote:Op donderdag 17 februari 2005 12:04 schreef SuperRembo het volgende:
De grootste fout is je datamodel.
Een hoop werk om te maken, een drama om te onderhouden.![]()
Nou, bv bij date en time:quote:Op donderdag 17 februari 2005 12:22 schreef Chandler het volgende:
[..]
Nee dat hoeft niet persee maar is meestal wel zo gemakkelijk toch?
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 */ } } ?> |
Ik weet niet of het antwoord al is gegeven, maar ik denk dat je mysql_fetch_assoc moet gebruikenquote: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
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); } ?> |
printf() / sprintf() / number_format()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 komenquote: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?
Iemand?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?
1 | $bericht = eregi_replace("\\[img\\]([^\\[] |
Teksten langer dan x-aantal tekens afkorten met substrquote:
Dat doe je gewoon met de title attrubute. Daar is geen javascript voor nodig.quote:Op donderdag 17 februari 2005 20:02 schreef Swetsenegger het volgende:
[..]
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
Klopt, maar een tooltip schuift mooi meequote:Op donderdag 17 februari 2005 20:33 schreef SuperRembo het volgende:
[..]
Dat doe je gewoon met de title attrubute. Daar is geen javascript voor nodig.
1 | DELETE * FROM calls wHERE nsiemp = '$nsiemp' |
1 | DELETE * FROM calls wHERE nsiemp = '$nsiemp' |
$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 gegevenquote: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?
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"; } ?> |
nl2br: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 ]
1 2 3 4 | <?php $content=nl2br($content); echo $content; ?> |
1 | header ("Content-Type: text/plain"); |
1 2 | $handle = popen("/usr/bin/file -b '".addslashes($_GET['download'])."'", "r"); pclose($handle); |
HEt script doet een aantal dingen,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
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); } |
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; } } |
Thnx!quote:Op donderdag 17 februari 2005 20:33 schreef SuperRembo het volgende:
[..]
Dat doe je gewoon met de title attrubute. Daar is geen javascript voor nodig.
In plaats van die array?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
ConTEXT bijvoorbeeld.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
Is het dus mogelijk om zoiets als A, B, C, D ipv userfile neer te zetten? ['userfile', 'A', 'B'] lukt niet..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>";
}
}
Nee ik had me vergist. Het zou wel moeten werken zoals jij t hebt.quote:Op maandag 21 februari 2005 22:57 schreef Johan-Derksen het volgende:
[..]
In plaats van die array?
Of waar bedoel je precies?
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; } ?> |
Dat is kut, want het werkt niet ...quote:Op dinsdag 22 februari 2005 14:51 schreef ikke_ook het volgende:
[..]
Nee ik had me vergist. Het zou wel moeten werken zoals jij t hebt.
Lijkt me niet dat het veel korter kan, ik zou het ook zo ongeveer doen in ieder gevalquote: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: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 ]
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; } |
Ziet er veelbelovend uit.quote:Op woensdag 23 februari 2005 20:17 schreef Swetsenegger het volgende:
[..]
ik vind tegenwoordig php designer erg prettig.
Ehmz, ik heb hm nog nooit output zien geven. Soms geeft hij een hint.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.
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; } ?> |
Misschien is het handig om er commentaar bij te zetten met de input die je verwachtquote: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 ]
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"); |
1 | SELECT UNIX_TIMESTAMP(MyDate) AS MyTimestamp FROM MyTable |
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') |
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.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
![]()
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].'" />'; } ?> |
1 | ORDER BY Prijs DESC |
Is het werkelijk zo simpel. Ik dacht dit al (de tabel bestaat nog niet) maar twijfeldequote:Op zaterdag 26 februari 2005 00:14 schreef SuperRembo het volgende:
[ code verwijderd ]
Of snap ik de vraag niet?
Was er niet ook een MySql voor dummies?
Zorg wel dat het veld van je prijzen numerie(Int, Float, etc) is, anders sorteerst ie ze op 'alfabetische' volgorde.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
Voor prijzen/bedragen is het type DECIMAL erg geschikt. Je hebt dan een vast aantal decimalen, dan blijft de precisie behouden.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.
explodequote: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
variabelen zijn hoofdleter gevoelig, ik zie $ingepakt in $Ingepaktquote: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
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>"; ?> |
Denk eraan dat je de variabele $Ingepakt met een hoofdletter I definieert. Dus roep die variabele dan ook met een hoofdletter I aan.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>";
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>"; ?> |
He verdorie, ben je me net voorquote: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 ]
Maakt niet uit, daar is dit topic ook voor bedoeld.quote:Op zondag 27 februari 2005 15:08 schreef Keksi het volgende:
Ik zal regelmatig terugkomen ben ik bang...
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...quote:Op zondag 27 februari 2005 15:31 schreef MouseInteractive het volgende:
Maakt niet uit, daar is dit topic ook voor bedoeld.![]()
fuctie.php: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)?
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.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?
Hmm, er zit idd een mooie tegenstelling inquote:Op dinsdag 1 maart 2005 21:57 schreef SuperRembo het volgende:
Hoe kan 't maximum nou kleiner zijn dan 't minimum?
quote:Op woensdag 2 maart 2005 09:15 schreef ikke_ook het volgende:
[..]
Hmm, er zit idd een mooie tegenstelling inDan 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 |
Huh, wat?quote:Op woensdag 2 maart 2005 12:34 schreef Energie het volgende:
<?=hallo;?>
weet iemand nog meer waar je zulke snelkoppeling dingen kan vinden?
iemand?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
Stel je voor dat iemand die newlines ziet in je source, schandequote: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?
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 zoquote:Op woensdag 2 maart 2005 23:07 schreef SuperRembo het volgende:
[..]
Stel je voor dat iemand die newlines ziet in je source, schande
$text = str_replace("\n", "<br>", $text);
1 2 3 4 | Test Enter Break bla |
1 2 3 4 | Test <br>Enter <br>Break <br>bla |
1 | Test<br>Enter<br>Break<br>bla |
1 | $text = preg_replace('/(\\r\\n|\\r|\\n)/m', '<br>', $text); |
Of net anders:quote:
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 ?> |
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);
}
?>
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); } ?> |
Werkt niet: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.
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 |
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 |
In een single-quoted string zijn alleen de ' en de \ speciale tekens.quote:Op donderdag 3 maart 2005 19:24 schreef ikke_ook het volgende:
ik zie t, maar waarom moet het met dubbele quotes?
en kun je dit uitleggen?
Regular expressions zijn lastige dingen.quote:'/(\\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....)
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.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"?
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 phpquote: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?
1 | Warning: mkdir(/var/www/html/uploadtest/): File exists in /var/www/html/uploadtest/upload11.php on line 18 |
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); } ?> |
1 2 3 | $upload_dir = "/var/www/html/uploadtest/"; $dirName = $upload_dir . $mapnaam; mkdir ($dirName, 0777); |
1 2 | <input type="hidden" name="MAX_FILE_SIZE" value="300000000"> mapnaam: <input class="text" name="mapnaam" SIZE=22><br> |
die gaan we ff proberen.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
1 2 3 4 5 | SELECT * FROM MyTable WHERE MyValue <= 123 ORDER BY MyValue DESC LIMIT 1 |
1 | $y = floor($x / 500) * 500; |
kleiner of gelijk aan (vanaf 23500, vanaf 24000, etc)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.
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; } |
He bedankt voor de tips, ik heb ze gelijk verwerkt! Dat van die *.gif probleem heb ik nog niet opgelostquote: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.
1 2 3 | <td> <input name="status" type="text" class="configs" value=<? echo $row["status"]; ?>> </td> |
1 2 3 | <? echo $row["naam"]; ?> |
Lijkt me handig als je die dan ook in je form door geeft.quote:Op dinsdag 8 maart 2005 11:27 schreef dnzl het volgende:
De rijen zijn overigens te identificeren met een uniek ID.
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"; |
Weet je zeker dat het aan de client ligt en niet aan de ontvangde mail server? Linux/Windows verschillen misschien?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?
1 | $headers .= "Bcc: ".$bcc."\r\n"; |
Late reactiequote: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)
De hoster kan de optie inderdaad uit hebben staan.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?
Dat zou ik in phpinfo terug moeten kunnen vinden natuurlijkquote:Op donderdag 10 maart 2005 21:49 schreef DutchBlood het volgende:
[..]
De hoster kan de optie inderdaad uit hebben staan.
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.quote:Op donderdag 10 maart 2005 22:25 schreef Swetsenegger het volgende:
[..]
Dat zou ik in phpinfo terug moeten kunnen vinden natuurlijkIemand enig idee hoe die optie heet?
Je moet niet vergeten dat [ een speciaal teken is in een regexp, die moet je dus escapen. Net als ], /, ?, enz.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
1 | $text = preg_replace('/\[url=(.+)\](.+)\[\/url\]/', '<a href="\1">\2</a>', $text ); |
safe_mode Off Offquote: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".
Ik kan best op je wachten hoor Ow gij Goeroe der reguliere expressiesquote:En met reguliere expressies spelen heb ik nu helaas de tijd niet voor.
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 ]
1 2 | $text = preg_replace("/(www(\.[-A-Za-z0-9]+)+\.[A-Za-z]{2,4}(\/\~?[-A-Za-z0-9\.\/?%&=#] $text = preg_replace('/\[url=(.+)\](.+)\[\/url\]/', '<a href="\1">\2</a>', $text ); |
1 | $text = preg_replace("/(^[^\[url=]www(\.[-A-Za-z0-9]+)+\.[A-Za-z]{2,4}(\/\~?[-A-Za-z0-9\.\/?%&=#] |
1 | $text = preg_replace("/[^\[url=http:\/\/](www(\.[-A-Za-z0-9]+)+\.[A-Za-z]{2,4}(\/\~?[-A-Za-z0-9\.\/?%&=#] |
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); } |
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 |
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"; |
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()
Een smtp server instellen in je php.ini?quote:Op vrijdag 11 maart 2005 18:40 schreef SuperRembo het volgende:
Hoe mail je vanaf een windows bak? Ik heb hier win2k met apache![]()
[..]
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); ?> |
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> |
1 2 | INSERT INTO `tabel` (cel1, cel2, cel3) VALUES ('waarde1', 'waarde2', 'waarde3') |
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()); ?> |
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()); ?> |
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> |
Neenee, dit zijn regexps die van [ url = text ] andere tekst [ /url ] uitgaan.quote:Op vrijdag 11 maart 2005 13:10 schreef SuperRembo het volgende:
Je doet veel te moeilijk
[ code verwijderd ]
Jajajaquote: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
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 |
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 |
1 2 3 | if($_POST['checkbox'] == 'on'){ $message .= "object waar ik net vdanaan kwam is : ".$_POST['text_vak_bij_checkbox']; } |
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.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?
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...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?
Die checkbox valt dan toch weg?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...
Ja maar los daarvan: zou het kunnen?quote:
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?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?
Als je er echt "\n\r" had staan dan was dat fout. "\r\n" zou wel moeten werken.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....
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; } |
Als je een formpje als deze hebt: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?
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> |
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); } ?> |
Getest, de gezamelijk Fok URL parser doet het beterquote:Op zaterdag 12 maart 2005 09:53 schreef SuperRembo het volgende:
[..]
JajajaProbeer ze eens.
Input:
[ code verwijderd ]
Output:
[ code verwijderd ]
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\.\/?%&=#] $text = preg_replace('/\[url=(.+)\](.+)\[\/url\]/', '<a href="\1" target="_new">\2</a>', $text ); |
Huhquote:Op zaterdag 12 maart 2005 21:14 schreef Swetsenegger het volgende:
[..]
Getest, de gezamelijk Fok URL parser doet het beter
Die regexps zijn te ingewikkeld (er zitten overbodige en onhandige constructies in).quote:[ code verwijderd ]
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
De helft wordt niet goed geparsed en zodra ik een 'kale' url en een '[ url=' url in dezelfde tekst heb verneukt hij het compleet.quote:Op zaterdag 12 maart 2005 22:31 schreef SuperRembo het volgende:
[..]
HuhWat gaat er dan mis met mijn regexps?
Nee hoorquote:Die regexps zijn te ingewikkeld (er zitten overbodige en onhandige constructies in).
Ze halen spaties weg voor een link.
quote:En ik kan er geen link mee maken naar een .museum domein.
Nee....quote:En het gaat mis met 2 links op 1 regel.
Ja?quote:Op zaterdag 12 maart 2005 23:10 schreef SuperRembo het volgende:
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.
In m'n testformpje doet ie dat zonder problemen.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
Dan was het denk ik de spatie.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.
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.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?
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)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.
Ja die is naar.quote:
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>', |
een keer zonder http en een keer met zeker?quote:Op zaterdag 12 maart 2005 23:49 schreef SuperRembo het volgende:
Kut. Ik zie nu dat 't mis gaat met http://www.foo.com. Die wordt dubbel geparsed.
Ok, dus de spatie is gefixed (was eigenlijk alleen een porbleem bij einde string)quote:Op zondag 13 maart 2005 00:10 schreef SuperRembo het volgende:
Dat laatste heb ik gefixed http://superrembo.com/test/ubblink.php
Die punt komt later misschien nog een keer.
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); } |
-edit-quote:
Jee zegquote:
1 | '#(?<!\[url=)(http://.*?)(?=\s|$|"\.\s"|"\.$")#i' => '[url=\1]\1[/url]', |
quote:Op zondag 13 maart 2005 11:35 schreef SuperRembo het volgende:
[..]
Jee zegGeen syntax highlighting en meteen lost
Dit kan wel.quote:Op zondag 13 maart 2005 12:02 schreef Swetsenegger het volgende:
[ code verwijderd ]
Is dit 'm niet? (geen tijd om te testen)
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>', ); |
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); } |
1 | (?=\\\\s|$|(\\\\.\\\\s)+|(\\\\.$)+) |
1 | (?=[.]?(\\\\s|$)) |
1 | (?=[.,?:;()<>]*(\\\\s|$)) |
LOL, ja magic quotes moeten ze er direct uitslopen.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.
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 |
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 |
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 |
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.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?
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.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.
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.quote: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.
Ja ik had ook op yapf een goede "don't" gevonden.quote:Op maandag 14 maart 2005 20:51 schreef rickmans het volgende:
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 maken
[..]
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.
1 | mysql_query("SELECT * FROM users WHERE permission = '!1' ORDER BY username"); |
1 | mysql_query("SELECT * FROM users WHERE permission != 1 ORDER BY username"); |
nee, maar wat dan als er effectief 0 rijen zijn? dan kunne het er 0 of 1 zijnquote: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?
1 2 3 4 | SELECT kleur, COUNT(kleur) AS tel FROM tabel GROUP BY kleur ORDER BY tel DESC |
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...quote:Op vrijdag 18 maart 2005 02:47 schreef Heliospan het volgende:
[ code verwijderd ]
Ik denk dat dit wel moet 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 | $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)); |
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.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.
1 2 3 | <?php echo "welkom ". $_SESSION['voornaam'] . " " . $_SESSION['achternaam']; ?> |
Dan kan je beter naar Roonaan luisterenquote:Op vrijdag 18 maart 2005 11:52 schreef KillAuthority het volgende:
ik wil het 1 malig gebruiken
http://www.yapf.net/faq.php?cmd=100&itemid=190quote: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....
je sessie is dus niet ingevuld. Check het maar met isset()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
1 2 3 4 5 6 7 8 | <?php if(isset($_SESSION['voornaam'])){ echo "woei"; } else { echo "jeuk aan m'n naad!"; } ?> |
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.quote:Op vrijdag 18 maart 2005 13:05 schreef Swetsenegger het volgende:
[..]
http://www.yapf.net/faq.php?cmd=100&itemid=190
Erg goede site trouwens
? 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.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?
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 doequote: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.
Mjah, ik denk dat veiligheid voor een eigen siteje met een CMSje zwaar overrated is.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
http://dev.mysql.com/doc/mysql/en/datetime.htmlquote: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 zijnOp deze timestamp moet ik namelijk altijd nog een functie los laten die er een mooi format van maakt..
Weet ikquote:Op vrijdag 18 maart 2005 21:35 schreef sylvesterrr het volgende:
[..]
http://dev.mysql.com/doc/mysql/en/datetime.html
http://dev.mysql.com/doc/mysql/en/date-and-time-functions.html
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.quote:Op vrijdag 18 maart 2005 22:01 schreef ikke_ook het volgende:
[..]
Weet ikIk vroeg ook niet voor niks om de beste/snelste/mooiste/handigste
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 isquote: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. ...
1 | preg_match_all('/triptych/i', $text, $matches) |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |