Ik gebruik ook een datetime veld, maar die waarde haal ik er altijd uit als een UNIX_TIMESTAMP, anders kun je er niet mee rekenenquote:Op woensdag 2 november 2005 22:12 schreef Swetsenegger het volgende:
nooit een unix timestamp gebruiken, gebruik gewoon DATETIME van mysql. Kan je tenminste mee rekenen.
DATETIME veld staat als 09-14-2004 21:46:28 dacht ik.
kwestie van dus TOCH je datum eruit trekken, exploden en op de juiste manier weer aan elkaar plakken. Dat lijkt me de snelste oplossing
Als je een dag eerder wilt hebben kan je beter gewoon DATESUB van mysql gebruiken.quote:Op woensdag 2 november 2005 22:15 schreef ikke_ook het volgende:
[..]
Ik gebruik ook een datetime veld, maar die waarde haal ik er altijd uit als een UNIX_TIMESTAMP, anders kun je er niet mee rekenenIk snap niet zo goed wat jij bedoelt.
Die gaat fout met data in het formaat dd-mm-jjjj, met jjjj-mm-dd werkt het wel. Het was ook mijn eerste idee, maar ik ging het nog even testenquote:Op woensdag 2 november 2005 22:13 schreef Ro�a� het volgende:
gewoon strtotime gebruiken?
Inderdaadquote:Op woensdag 2 november 2005 22:21 schreef Light het volgende:
Die gaat fout met data in het formaat dd-mm-jjjj, met jjjj-mm-dd werkt het wel. Het was ook mijn eerste idee, maar ik ging het nog even testen
Maar als je nou een server in de VS hebt staan krijg je wel een verkeerde datum terug, en als je hem als timestamp uit de database haalt kun je er een formaat van maken naar eigen wens. Maar ik zal dat DATESUB eens bekijken want het klinkt wel handigquote:Op woensdag 2 november 2005 22:20 schreef Swetsenegger het volgende:
[..]
Als je een dag eerder wilt hebben kan je beter gewoon DATESUB van mysql gebruiken.
scheelt een hoop PHP gereken
quote:Op woensdag 2 november 2005 22:23 schreef sh4dow het volgende:
[..]
InderdaadDat werkt niet, zie: http://195.241.108.27/scripts/convert/time.php
![]()
Iemand enig idee hoe ik dat kan omwisselen?
| 1 2 3 4 | $datum = '14-09-2004 21:46:28'; print preg_replace('/(\d{2})-(\d{2})-(\d{4})/', '\\3-\\2-\\1', $datum); ?> |
| 1 2 | $out = preg_replace('/(\d+)-(\d+)-(\d+)/', '$3-$2-$1', $in); |
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | include_once("config.php"); include("gastenboek.php"); for($i=0;$i<count($Bericht);$i++){ $time = $Bericht[$i][4]; $time = preg_replace('/(\d{2})-(\d{2})-(\d{4})/', '\\3-\\2-\\1', $time); $tijd = strtotime($time); $query = "INSERT INTO gastenboek_nieuw (naam, woonplaats, email, website, bericht, datum) VALUES ('".$Bericht[$i][0]."','".$Bericht[$i][3]."','".$Bericht[$i][1]."', '".$Bericht[$i][2]."','".$Bericht[$i][5]."','".$tijd."')"; mysql_query($query)or die(mysql_error()); } ?> |
Je kan met mysql de datum ook in elk gewenst formaat zettenmet de DATE_FORMAT functiequote:Op woensdag 2 november 2005 22:24 schreef ikke_ook het volgende:
[..]
Maar als je nou een server in de VS hebt staan krijg je wel een verkeerde datum terug, en als je hem als timestamp uit de database haalt kun je er een formaat van maken naar eigen wens. Maar ik zal dat DATESUB eens bekijken want het klinkt wel handig
| 1 |
Voor mij werken de timestamps alsnog veel sneller omdat MySQL daar een index op kan brouwen (dat gaat niet als je een veld met functies binnen MySQL gaat aanpassen) en ik in PHP vantevoren razendsnel kan bepalen wat een conditie voor de timestamp moet zijn a.d.h.v. de vele functies die daarvoor in PHP beschikbaar zijnquote:Op donderdag 3 november 2005 22:32 schreef Swetsenegger het volgende:
[..]
Je kan met mysql de datum ook in elk gewenst formaat zettenmet de DATE_FORMAT functie
[ code verwijderd ]
Tja, diverse mysql goeroe's vertellen me juist weer NOOIT een timestamp te gebruiken, maar altijd datetime omdat sql sneller is dan php in omzetten.quote:Op vrijdag 4 november 2005 10:34 schreef JeRa het volgende:
[..]
Voor mij werken de timestamps alsnog veel sneller omdat MySQL daar een index op kan brouwen (dat gaat niet als je een veld met functies binnen MySQL gaat aanpassen) en ik in PHP vantevoren razendsnel kan bepalen wat een conditie voor de timestamp moet zijn a.d.h.v. de vele functies die daarvoor in PHP beschikbaar zijnook heb ik dan makkelijker het verschil tussen zomer- en wintertijd onder controle (MySQL geeft met jouw veld twee uur per jaar dubbele waarden terug, bij timestamps niet).
Bovendien ben ik van mening dat het visuele formaat van de tijd in de frontend moet worden bepaald (het liefst de template) in plaats van de backend die de data aanlevert.
Hmm..liever geen javascript.quote:Op donderdag 3 november 2005 21:16 schreef Chandler het volgende:
javascript:history.go(-1);maar das geen PHP maar wel heel erg simpel
Doe eens een phpinfo() in een PHP-script en kijk bij 'gd' of deze ook support heeft voor GIF-afbeeldingen. Mijn gok is namelijk van nietquote:Op vrijdag 4 november 2005 13:48 schreef P0rt0 het volgende:
Mag ik hier misschien hulp vragen mbt een php-script? Ik heb een thumbnail-creator gedownload voor mijn linux bak. Echter bij het aanspreken van ./<flename> gaat ie heel mooi thumbnails maken van jpg's.. maar de gifs slaat ie totaal over.
Nou kom ik er gewoon niet meer uit.. dus als men er oren naar heeft om te helpen.. graag
Browsen is cilentside. PHP is serverside. Als je een pagina terugwilt, zul je dat toch echt door middel van een linkje moeten doen met ofwel het pad ofwel de javascript-code daarvoor gebruiken. Je moet niet alles met PHP willen doen, en aangezien je geen javascript wilt gebruiken zou ik toch echt voor het linkje met het adres gaanquote:Op donderdag 3 november 2005 21:02 schreef H4ze het volgende:
Nu kan ik natuurlijk gewoon een linkje "back" maken en dat het path er gewoon neer planten, maar ik meen me ook te herinneren dat er een hele simpele php code was hiervoor. Ik ben 'm alleen ff kwijt
Aanvullend, tussen GD versie 1.6 en 2.nogwat is er geen gif support geweest.quote:Op vrijdag 4 november 2005 13:54 schreef JeRa het volgende:
[..]
Doe eens een phpinfo() in een PHP-script en kijk bij 'gd' of deze ook support heeft voor GIF-afbeeldingen. Mijn gok is namelijk van niet
Nog meer aanvullend (quote:Op vrijdag 4 november 2005 13:56 schreef Swetsenegger het volgende:
[..]
Aanvullend, tussen GD versie 1.6 en 2.nogwat is er geen gif support geweest.
Op php.net staat welke versies gif support hebben.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 | GD Support enabled GD Version bundled (2.0.28 compatible) FreeType Support enabled FreeType Linkage with freetype FreeType Version 2.1.10 GIF Read Support enabled GIF Create Support enabled JPG Support enabled PNG Support enabled WBMP Support enabled XPM Support enabled XBM Support enabled |
| 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 | # genethumb.sh - Génération de thumbnails mortels de ta mère # (c) 3 Jan 1998: version 0.0.4 by Samuel Hocevar <sam@via.ecp.fr> # 22 May 2000: version 0.0.5 by Samuel Hocevar <sam@via.ecp.fr> # 15 Nov 2000: version 0.0.6 by Samuel Hocevar <sam@zoy.org> # with code from Sven Hartge <hartge@ds9.argh.org> # 13 Dec 2000: version 0.0.7 by Samuel Hocevar <sam@zoy.org> # now compatible with old ImageMagick versions # added --rows option # 27 Apr 2003: version 0.0.8 by Sam Hocevar <sam@zoy.org> # removed all bashisms # now compatible with all ImageMagick versions # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA version=0.0.8 THFILE=index.html THDIR=.xvpics THEXT=png # change this to jpeg or whatever you want THWIDTH=120 # thumbnail width THHEIGHT=90 # thumbnail height THCOLS=5 # change to set table width -- 0 for no tables if [ "$1" != "" ] then THCOLS=$1 fi echo "genethumb.sh v$version -- report bugs to Samuel Hocevar <sam@zoy.org>" echo "usage: genethumb.sh [number of columns]" if [ -w $THFILE ] then echo "saving $THFILE to $THFILE~" mv -f $THFILE $THFILE~ fi if [ ! -d $THDIR ] then echo "creating thumbnail directory $THDIR" mkdir $THDIR fi cat > $THFILE << EOF <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta name="GENERATOR" content="genethumb.sh version $version" /> <meta name="Description" content="thumbnails of $PWD" /> <title>Index of $PWD</title> <style type="text/css"> img { border: 1pt; } body { background: white; color: black; font-family: sans-serif, Arial, Helvetica; font-size: 9pt; margin: 5pt; } h2 { color: black; background: white; font-size: 14pt; } a { text-decoration: none; } td.center { text-align: center; } td.nowrap { white-space: nowrap; } blockquote.center { text-align: center; } </style> </head> <body> <table border="0" width="100%"><tr><td> <h2>Index of $PWD</h2></td> <td align="right">generated by <a href="http://sam.zoy.org/projects/unix/genethumb.html">genethumb.sh</a> version $version </td></tr></table> <hr /> <table cellspacing="5" border="0"> <tr> EOF compteur=0 created=0 find . -type f -maxdepth 1 | sed 's,^\./,,' | while read file do # on vérifie que l'image n'est pas déjà un thumbnail ou une page html, et a # une extension quelconque (à améliorer un peu) case "$file" in *~|*.html|*.htm) echo "* skipping $file" ;; *) failed=0 newfile="$THDIR/tn_$file.$THEXT" echo -n "* $file: " if [ -r "$newfile" ] then echo "thumbnail already exists." else convert -geometry ${THWIDTH}x${THHEIGHT} "$file" "$newfile" >/dev/null 2>&1 if [ ! -r "$newfile" ] then echo "failed creating." failed=1 else echo "done." fi fi if [ "$failed" = "0" ] then created="`expr 0$created + 1`" if [ -e "$newfile.info" ] then read filesize coordinates oldcoords compat < "$newfile.info" fi if expr "$version" ">" "$compat" >/dev/null 2>&1 then read oldcoords filesize << EOF `identify -format '%wx%h %b' "$file" | head -1` EOF coordinates=`identify -format '%wx%h' "$newfile" | head -1` rm -f "$newfile.info" echo $filesize $coordinates $oldcoords $version > "$newfile.info" echo " $newfile.info written." fi j="`echo $file | cut -b1-20`" if [ "$file" != "$j" ] then j="`echo $file | cut -b1-17`..." fi cat >> $THFILE << EOF <td align="center"> <a href="$file"><img alt="$file ($oldcoords)" width="`echo $coordinates | cut -f1 -dx`" height="`echo $coordinates | cut -f2 -dx`" src="$newfile" /><br />$j<br />$oldcoords ($filesize)</a> </td> EOF compteur="`expr 0$compteur + 1`" if [ x"$compteur" = "x$THCOLS" ] then echo " </tr><tr>" >> $THFILE compteur=0 fi fi esac done echo "done." cat >> $THFILE << EOF </tr> </table> </body> </html> EOF |
Zo te zien gebruikt dat script helemaal geen GD, maar ImageMagick, dan zul je dus moeten checken of de ImageMagick versie die je hebt wel gif ondersteuning biedt.quote:Op vrijdag 4 november 2005 15:27 schreef P0rt0 het volgende:
Hierbij de code van het betreffende script
[ code verwijderd ]
Dit is geen php... dus ik vraag me af wat je wil doen met je phpinfo()?quote:Op vrijdag 4 november 2005 15:27 schreef P0rt0 het volgende:
Hierbij de code van het betreffende script
[ code verwijderd ]
| 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 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 | session_start(); // << < 1 2 3 4 5 6 7 8 8 10 > >> class pointer { function setup($arr) { // arr => ("<<", "<", ">", ">") $this->text->_toStart = $arr[0]; $this->text->_toStartBack = $arr[1]; $this->text->_toEnd = $arr[2]; $this->text->_toEndBack = $arr[3]; } function setupDisplay($type = NULL, $number) { switch ($type) { case "number": // 1 2 3 4 5 6 7 8 $this->config->_displayType = 1; break; case "next": // < > $this->config->_displayType = 2; break; case "nextend": if ($number == 0) { // << < > >> $this->config->_displayType = 3; } else { // << < (2) > >> $this->config->_displayType = 4; } break; default; // << < 1 2 3 4 5 6 7 > >> $this->config->_displayType = 0; break; } } function setupText($font, $color, $selectedColor) { $this->config->_displayFont = $font; $this->config->_displayColor = $color; $this->config->_displaySelectedColor = $selectedColor; } function setupPage($page, $idname, $extra) { $this->config->_pageUrl = $page; $this->config->_pageID = $idname; $this->config->_pageExtra = $extra; } function setValues($from, $counter, $total, $maxPages) { $this->config->_pageCurrentID = $from; $this->config->_pageTotal = ceil ($total / $counter)+1; $this->config->_pageMax = $maxPages; } function getText() { $txt = ""; if ($this->config->_pageExtra == "") { $linkAdd = ""; } else { $linkAdd = "&" . $this->config->_pageExtra; } // first << if ($this->config->_displayType == 3 OR $this->config->_displayType == 4) { // current page [1 (2) 3 4 5 6] if ($this->config->_pageCurrentID > 2) { $txt .= '<a href="' . $this->config->_pageUrl . "?" . $this->config->_pageExtra . '">' . $this->text->_toStart . '</a> '; } } // < (previous) if ($this->config->_displayType == 2 OR $this->config->_displayType == 3 OR $this->config->_displayType == 4) { // current page [ 1 (2) 3 4 5 if ($this->config->_pageCurrentID > 1) { $txt .= '<a href="' . $this->config->_pageUrl . "?" . $this->config->_pageID . "=" . ($this->config->_pageCurrentID -1) . $linkAdd . '">' . $this->text->_toStartBack . '</a> '; } } //* if ($this->config->_pageTotal > $this->config->_pageMax) { $start = 1; $end = $this->config->_pageTotal; } else { $mid = $this->config->_pageMax / 2; if ($this->config->_pageCurrentID - $mid > 1) { if ($this->config->_pageCurrentID + $mid > $this->config->_pageTotal) { $start = $this->config->_pageTotal - $this->config->_pageMax; $end = $this->config->_pageTotal; } else { $start = $this->config->_pageCurrentID - $mid; $end = $this->config->_pageCurrentID + $mid; } } else { $start = 1; $end = $this->config->_pageMax; } } for ($x = $start; $x < $end; $x++) { if ($x == $this->config->_pageCurrentID) { // bold text in case of current $txt .= '<a href="' . $this->config->_pageUrl . "?" . $this->config->_pageID . "=" . $x . $linkAdd . '"><strong>' . $x . '</strong></a> '; } else { $txt .= '<a href="' . $this->config->_pageUrl . "?" . $this->config->_pageID . "=" . $x . $linkAdd . '">' . $x . '</a> '; } } // > (next) if ($this->config->_displayType == 2 OR $this->config->_displayType == 3 OR $this->config->_displayType == 4) { // current page [ 1 2 3 4 (5) 6] if (($this->config->_pageCurrentID + 2) <= $this->config->_pageTotal) { $txt .= '<a href="' . $this->config->_pageUrl . "?" . $this->config->_pageID . "=" . ($this->config->_pageCurrentID +1) . $linkAdd . '">' . $this->text->_toEnd . '</a> '; } } // last >> if ($this->config->_displayType == 3 OR $this->config->_displayType == 4) { // current page [1 2 3 (4) 5 6] if (($this->config->_pageCurrentID +3) <= $this->config->_pageTotal) { $txt .= '<a href="' . $this->config->_pageUrl . "?" . $this->config->_pageID . "=" . $this->config->_pageTotal . $linkAdd . '">' . $this->text->_toEndBack . '</a> '; } } return $txt; } } if ($_SERVER['REQUEST_METHOD'] == "POST") { $_SESSION['total'] = $_POST['total']; $_SESSION['counter'] = $_POST['counter']; $_SESSION['pages'] = $_POST['pages']; header("Location: pages.php"); exit(); } if (isSet($_SESSION['total'])) { $total = $_SESSION['total']; $counter = $_SESSION['counter']; $pages = $_SESSION['pages']; ?> <form method="post"> <table> <tr> <td>Total?</td><td><input type="text" name="total" value="<?=$total;?>"></td> <td>Counter</td><td><input type="text" name="counter" value="<?=$counter;?>"></td> <td>Max pages</td><td><input type="text" name="pages" value="<?=$pages;?>"></td> <td><input type="submit" name="add" value="Verander"></td> </tr> </table> </form> <? } else { $_SESSION['total'] = 99; $_SESSION['counter'] = 10; $_SESSION['pages'] = 10; ?> <form method="post"> <table> <tr> <td>Total?</td><td><input type="text" name="total" value="<?=$_SESSION['total'];?>"></td> <td>Counter</td><td><input type="text" name="counter" value="<?=$_SESSION['counter'];?>"></td> <td>Max pages</td><td><input type="text" name="pages" value="<?=$_SESSION['pages'];?>"></td> <td><input type="submit" name="add" value="Verander"></td> </tr> </table> </form> <? } $blaat = new pointer(); $blaat->setup(array("<<", "<", ">", ">>")); $blaat->setupDisplay("numbers", 0); $blaat->setupText("arial", "blue", "darkblue"); $blaat->setupPage("pages.php", "from", "test=23&true=false"); $blaat->setValues($_GET['from'], $_SESSION['counter'], $_SESSION['total'], $_SESSION['pages']); echo $blaat->getText(); echo '<hr>'; $blaat1 = new pointer(); $blaat1->setup(array("<<", "<", ">", ">>")); $blaat1->setupDisplay("next", 0); $blaat1->setupText("arial", "blue", "darkblue"); $blaat1->setupPage("pages.php", "from", "test=23&true=false"); $blaat1->setValues($_GET['from'], $_SESSION['counter'], $_SESSION['total'], $_SESSION['pages']); echo $blaat1->getText(); echo '<hr>'; $blaat2 = new pointer(); $blaat2->setup(array("First", "Previous", "Next", "Last")); $blaat2->setupDisplay("nextend", 0); $blaat2->setupText("arial", "blue", "darkblue"); $blaat2->setupPage("pages.php", "from", "test=23&true=false"); $blaat2->setValues($_GET['from'], $_SESSION['counter'], $_SESSION['total'], $_SESSION['pages']); echo $blaat2->getText(); echo '<hr>'; $blaat3 = new pointer(); $blaat3->setup(array("First", "Previous", "Next", "Last")); $blaat3->setupDisplay("nextend", 0); $blaat3->setupText("arial", "blue", "darkblue"); $blaat3->setupPage("pages.php", "from", "test=23&true=false"); $blaat3->setValues($_GET['from'], $_SESSION['counter'], $_SESSION['total'], $_SESSION['pages']); echo $blaat3->getText(); echo '<hr>'; ?> |
| 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 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 | session_start(); error_reporting(E_ALL); // << < 1 2 3 4 5 6 7 8 8 10 > >> class pointer { function setup($arr) { // arr => ("<<", "<", ">", ">") $this->text->_toStart = $arr[0]; $this->text->_toStartBack = $arr[1]; $this->text->_toEnd = $arr[2]; $this->text->_toEndBack = $arr[3]; } function setupDisplay($type = NULL, $number) { switch ($type) { case "number": // 1 2 3 4 5 6 7 8 $this->config->_displayType = 1; break; case "next": // < > $this->config->_displayType = 2; break; case "nextend": if ($number == 0) { // << < > >> $this->config->_displayType = 3; } else { // << < (2) > >> $this->config->_displayType = 4; } break; default; // << < 1 2 3 4 5 6 7 > >> $this->config->_displayType = 0; break; } } function setupText($font, $color, $selectedColor) { $this->config->_displayFont = $font; $this->config->_displayColor = $color; $this->config->_displaySelectedColor = $selectedColor; } function setupPage($page, $idname, $extra) { $this->config->_pageUrl = $page; $this->config->_pageID = $idname; $this->config->_pageExtra = $extra; } function setValues($from, $counter, $total, $maxPages) { $this->config->_pageCurrentID = $from; $this->config->_pageTotal = ceil ($total / $counter)+1; $this->config->_pageMax = $maxPages; } function getText() { $txt = ""; if ($this->config->_pageExtra == "") { $linkAdd = ""; } else { $linkAdd = "&" . $this->config->_pageExtra; } // first << if ($this->config->_displayType == 3 OR $this->config->_displayType == 4) { // current page [1 (2) 3 4 5 6] if ($this->config->_pageCurrentID > 2) { $txt .= '<a href="' . $this->config->_pageUrl . "?" . $this->config->_pageExtra . '">' . $this->text->_toStart . '</a> '; } } // < (previous) if ($this->config->_displayType == 2 OR $this->config->_displayType == 3 OR $this->config->_displayType == 4) { // current page [ 1 (2) 3 4 5 if ($this->config->_pageCurrentID > 1) { $txt .= '<a href="' . $this->config->_pageUrl . "?" . $this->config->_pageID . "=" . ($this->config->_pageCurrentID -1) . $linkAdd . '">' . $this->text->_toStartBack . '</a> '; } } //* if ($this->config->_pageTotal < $this->config->_pageMax) { $start = 1; $end = $this->config->_pageTotal; } else { $mid = $this->config->_pageMax / 2; if ($this->config->_pageCurrentID - $mid > 1) { if ($this->config->_pageCurrentID + $mid > $this->config->_pageTotal) { $start = $this->config->_pageTotal - $this->config->_pageMax; $end = $this->config->_pageTotal; } else { $start = $this->config->_pageCurrentID - $mid; $end = $this->config->_pageCurrentID + $mid; } } else { $start = 1; $end = $this->config->_pageMax; } } for ($x = $start; $x < $end; $x++) { if ($x == $this->config->_pageCurrentID) { // bold text in case of current $txt .= '<a href="' . $this->config->_pageUrl . "?" . $this->config->_pageID . "=" . $x . $linkAdd . '"><strong>' . $x . '</strong></a> '; } else { $txt .= '<a href="' . $this->config->_pageUrl . "?" . $this->config->_pageID . "=" . $x . $linkAdd . '">' . $x . '</a> '; } } // > (next) if ($this->config->_displayType == 2 OR $this->config->_displayType == 3 OR $this->config->_displayType == 4) { // current page [ 1 2 3 4 (5) 6] if (($this->config->_pageCurrentID + 2) <= $this->config->_pageTotal) { $txt .= '<a href="' . $this->config->_pageUrl . "?" . $this->config->_pageID . "=" . ($this->config->_pageCurrentID +1) . $linkAdd . '">' . $this->text->_toEnd . '</a> '; } } // last >> if ($this->config->_displayType == 3 OR $this->config->_displayType == 4) { // current page [1 2 3 (4) 5 6] if (($this->config->_pageCurrentID +3) <= $this->config->_pageTotal) { $txt .= '<a href="' . $this->config->_pageUrl . "?" . $this->config->_pageID . "=" . $this->config->_pageTotal . $linkAdd . '">' . $this->text->_toEndBack . '</a> '; } } return $txt; } } if (isSet($_GET['from'])) { $from = $_GET['from']; } else { $from = 0; } if ($_SERVER['REQUEST_METHOD'] == "POST") { $_SESSION['total'] = $_POST['total']; $_SESSION['counter'] = $_POST['counter']; $_SESSION['pages'] = $_POST['pages']; header("Location: pages.php"); exit(); } if (isSet($_SESSION['total'])) { $total = $_SESSION['total']; $counter = $_SESSION['counter']; $pages = $_SESSION['pages']; ?> <form method="post"> <table> <tr> <td>Total?</td><td><input type="text" name="total" value="<?=$total;?>"></td> <td>Counter</td><td><input type="text" name="counter" value="<?=$counter;?>"></td> <td>Max pages</td><td><input type="text" name="pages" value="<?=$pages;?>"></td> <td><input type="submit" name="add" value="Verander"></td> </tr> </table> </form> <? } else { $_SESSION['total'] = 99; $_SESSION['counter'] = 10; $_SESSION['pages'] = 10; ?> <form method="post"> <table> <tr> <td>Total?</td><td><input type="text" name="total" value="<?=$_SESSION['total'];?>"></td> <td>Counter</td><td><input type="text" name="counter" value="<?=$_SESSION['counter'];?>"></td> <td>Max pages</td><td><input type="text" name="pages" value="<?=$_SESSION['pages'];?>"></td> <td><input type="submit" name="add" value="Verander"></td> </tr> </table> </form> <? } $blaat = new pointer(); $blaat->setup(array("<<", "<", ">", ">>")); $blaat->setupDisplay("numbers", 0); $blaat->setupText("arial", "blue", "darkblue"); $blaat->setupPage("pages.php", "from", "test=23&true=false"); $blaat->setValues($from, $_SESSION['counter'], $_SESSION['total'], $_SESSION['pages']); echo $blaat->getText(); echo '<hr>'; $blaat1 = new pointer(); $blaat1->setup(array("<<", "<", ">", ">>")); $blaat1->setupDisplay("next", 0); $blaat1->setupText("arial", "blue", "darkblue"); $blaat1->setupPage("pages.php", "from", "test=23&true=false"); $blaat1->setValues($from, $_SESSION['counter'], $_SESSION['total'], $_SESSION['pages']); echo $blaat1->getText(); echo '<hr>'; $blaat2 = new pointer(); $blaat2->setup(array("First", "Previous", "Next", "Last")); $blaat2->setupDisplay("nextend", 0); $blaat2->setupText("arial", "blue", "darkblue"); $blaat2->setupPage("pages.php", "from", "test=23&true=false"); $blaat2->setValues($from, $_SESSION['counter'], $_SESSION['total'], $_SESSION['pages']); echo $blaat2->getText(); echo '<hr>'; $blaat3 = new pointer(); $blaat3->setup(array("First", "Previous", "Next", "Last")); $blaat3->setupDisplay("nextend", 0); $blaat3->setupText("arial", "blue", "darkblue"); $blaat3->setupPage("pages.php", "from", "test=23&true=false"); $blaat3->setValues($from, $_SESSION['counter'], $_SESSION['total'], $_SESSION['pages']); echo $blaat3->getText(); echo '<hr>'; ?> |
Ik denk mbv van $_SERVER['HTTP_REFERER']quote:Op dinsdag 8 november 2005 16:17 schreef Darkomen het volgende:
Hoe kan je uitzoeken met welke zoektermen je pagina word gevonden zoals bijvoorbeeld netstat ook doet?
| 1 |
| 1 2 3 4 5 6 7 8 9 10 | document.write(' <? if ($menu[$i]==1){ $menu[$i]=0; }else{ $menu[$i]=1; } ?> ')</script> |
| 1 2 3 4 | echo 'var foo = ["' . implode('","', $foo) . '"]'' echo 'alert(foo.length); echo '</script> |
Ja dat snap ik dat dat werktquote:Op woensdag 9 november 2005 22:04 schreef SuperRembo het volgende:
Het kan wel, maar niet op die manier. Zo wel:
[ code verwijderd ]
| 1 2 3 4 5 6 7 8 9 10 11 | subitem subsubitem subsubitem subitem hoofditem subitem subsubitem subitem subsubitem subsubitem |
Gewoon in de linkquote:Op woensdag 9 november 2005 22:45 schreef SuperRembo het volgende:
Als je het zonder cookies doet, hoe wil je dan de huidige status van de tree overdragen naar de volgende pagina.
Ja dat geloof ik graag, maar ik heb hier javascript voor dummies ook al een aantal keer mijn javascript cookie code gepost. Niemand ziet een fout. Hij werkt ook prima in FF en Opera.... Maar NIET in IE (expired zodra je de browser sluit)quote:Als ik het goed heb werkt GoT ook met cookies voor de in/uitklap status. En dat werkt prima
| 1 2 3 4 | for (i in fruit) { alert(i + ': ' + fruit[i]); } |
De link komt uit database, dus is maar 1 regeltje code waar ik de links parse aanpassenquote:Op woensdag 9 november 2005 22:59 schreef SuperRembo het volgende:
Ik denk dat het makkelijker is om bij elke keer in- of uitklappen de cookie aan te passen dan om in elke link de menu status door te geven en weer goed af te handelen.
| 1 2 3 4 5 6 7 8 9 10 | if (menu[id]==0){ menu[id]=1; }else{ menu[id]=0; } // uit dan wel inklappen script document,cookie="menu="+menu+";expires="+vervaldatum+"; path=/"; |
waarom kom ik in google dan alleemaal zelf geschreven foreach functies tegen voor javascript?quote:Javascript heeft wel een for-each hoor
[ code verwijderd ]
Hmz, die bestaan ook in javascript? Maar een array in een cookie moet toch kunnen? anders moet ik de array joinen, in een cookie zetten, splitsen als er wat wijzigt.quote:Op woensdag 9 november 2005 23:12 schreef SuperRembo het volgende:
Een array in een cookie? Gewoon join en split gebruiken.
Het gaat trouwens ook fout als je bijvoorbeeld een push functie op de prototype van de array hebt gezet (voor IE5 compatibility). Dan loopt ie namelijk ook over die functie.quote:Ik heb geen idee waarom je moeilijk zou moeten doen om een for-each voor elkaar te krijgen. Het enige dat je ff moet onthouden is dat je de index krijgt, niet het item zelf.
| 1 2 3 4 5 | var s = a.join(','); alert(s); var b = s.split(','); alert(b.length); |
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | $table_name="OBcontacts_temp"; $textfile = $_FILES['file']['tmp_name']; chmod($textfile,0755); $field_terminater=""; $line_terminator="\r\n"; $query = "LOAD DATA INFILE '$textfile' INTO TABLE $table_name (Data) "; if (isset($field_terminater)) { $query .= "FIELDS TERMINATED BY '$field_terminater'"; } if (strlen($line_terminator)>0) { $query .= "LINES TERMINATED BY '". stripslashes($line_terminator)."'"; } $sql_query = $query; $result= mysql_query($sql_query); ?> |
| 1 2 3 4 | php include("test2.php"); ?> |
Ja dat kan volgens mij. Volgens mij zit dat ergens in het $_SERVER array.quote:Op donderdag 10 november 2005 17:43 schreef LeeHarveyOswald het volgende:
Kan ik als ik een pagina include, in de geinclude pagina zien welke pagina dat deed?![]()
Dus bijv.:
Test.php:
[ code verwijderd ]
test2.php zou dan bijv. als output moeten geven 'test.php'. Het liefst nog met achtervoegsels (?ID=12) erbij ook. Maar das geen must![]()
Kan dat?
| 1 2 3 4 5 6 7 8 9 10 | html onzin, en op een gegeven moment iets van: <?php $_SESSION['check1']='check 1 jo'; $_SESSION['check2']='check 2 jo'; ?> <br /> <br /> <?php include('http://haze.stoner.nl/test/print.php'); ?> |
| 1 2 3 4 5 6 7 | Dit is het bestand dat geinclude moet worden, en hiernaast moet ook de session geinclude worden <?php echo $_SESSION['check1']; ?> |
quote:Op donderdag 10 november 2005 21:25 schreef ikke_ook het volgende:
[..]
Ja dat kan volgens mij. Volgens mij zit dat ergens in het $_SERVER array.
-edit-
Ik denk trouwens dat $_SERVER['REQUEST_URI'] het juiste antwoord bevat.
Ah, vertel hem/haar even dat hij zulk "advies" voor zich moet houden en eerst een phpboek moet pakken.quote:Op vrijdag 11 november 2005 14:05 schreef H4ze het volgende:
![]()
Ik geloof dat een klasgenoot 't ooit zo aan mij heeft verteld. Maar thnx iig, het werkt nu.
Ik persoonlijk ben op dit soort oplossingen principieel tegen. Je moet enkel het laatste punt meegeven en dan het pad recursief opbouwen. Dus je geeft:quote:Op woensdag 9 november 2005 22:49 schreef Swetsenegger het volgende:
Gewoon in de link
pagina.php?menu=0-3-5
Als allow_url_fopen() true oplevert dan is het ook mogelijk om bestanden via een URI te includen. Files die niet vanuit het file system geinlcude worden, die kunnen worden geinterpreteerd door de server die de bestanden aanlevert. En als die uitkomst geen geldige php code is dan krijg je problemen.quote:Op zaterdag 12 november 2005 00:11 schreef FuifDuif het volgende:
Een include werkt altijd lokaal, dus inderdaad niet via een URI. Een PHP script is in feite een scriptje welke lokaal wordt geïnterpreteerd en dus werken alle bestandsaanroepen (zoals includes, maar ook de functie move_uploaded_file() etc) ook lokaal.
Dat is niet waar. Check de manual. Het kan wel (mits allow_url_fopen aan staat), maar het is niet aan te raden.quote:Op zaterdag 12 november 2005 00:11 schreef FuifDuif het volgende:
Een include werkt altijd lokaal, dus inderdaad niet via een URI.
Ja, klopt, ik ben inmiddels op de hoogtequote:Op zaterdag 12 november 2005 00:43 schreef SuperRembo het volgende:
[..]
Dat is niet waar. Check de manual. Het kan wel (mits allow_url_fopen aan staat), maar het is niet aan te raden.
[edit]Trage reactie[/edit]
| 1 2 3 | include($_GET['page']); ?> |
Dat lijkt mij logisch. Ik zou ook niet weten waarom je het op die manier zou schrijven. Ik wil zelf altijd maximale controle op de GET en POST data die ik binnen krijg en probeer de client-side vrijheid wat dat betreft zoveel mogelijk te beperken tot het hoogst noodzakelijke. Dat betekent ook dat die data altijd door een strenge controle gaan voordat ze bijvoorbeeld worden opgenomen in een database transactie. Het is een kleine moeite, maar tegenwoordig oh zo belangrijk.quote:Op zaterdag 12 november 2005 00:52 schreef Light het volgende:
Weten dat het kan is ook voldoende. Da's een extra reden om te zorgen dat wat je in een include stopt ook veilig is.
Dus niet:
[ code verwijderd ]
Want zo weet je nooit wat voor code je binnenhaalt.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | $sql = 'SELECT song_id, artist, feat, title FROM `lyriczz` WHERE '; $search_words = explode(' ', $searchstring, 5); $first = true; foreach ($search_words AS $tw) { if ($first == false){ $sql .= 'AND '; $first = false; } $sql .= "(`artist` LIKE '%$tw%') "; $sql .= 'OR'; $sql .= "(`feat` LIKE '%$tw%') "; $sql .= 'OR'; $sql .= "(`title` LIKE '%$tw%') "; } ?> |
| 1 2 3 4 5 | AND jackson is found in field 'artist' OR field 'title' OR field 'feat' AND thriller is found in field 'artist' OR field 'title' OR field 'feat') { echo info } |
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | $search_words = explode(' ', $searchstring, 5); $first = true; foreach ($search_words AS $tw) { if (!$first){ $sql .= 'OR '; $first = false; } $sql .= "(`artist` LIKE '%$tw%') "; $sql .= 'OR'; $sql .= "(`feat` LIKE '%$tw%') "; $sql .= 'OR'; $sql .= "(`title` LIKE '%$tw%') "; } |
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | $search_words = explode(' ', $searchstring, 5); $first = true; foreach ($search_words AS $tw) { if (!$first){ $sql .= 'AND '; $first = false; } $sql .= "((`artist` LIKE '%$tw%') "; $sql .= 'OR'; $sql .= "(`feat` LIKE '%$tw%') "; $sql .= 'OR'; $sql .= "(`title` LIKE '%$tw%')) "; } |
quote:Op zondag 13 november 2005 06:21 schreef kramer65 het volgende:
Beetje laat, maar dan krijg ik de volgende uitkomst:
SELECT song_id, artist, feat, title FROM `lyriczz` WHERE ((`artist` LIKE '%michael%') OR(`feat` LIKE '%michael%') OR(`title` LIKE '%michael%')) ((`artist` LIKE '%jackson%') OR(`feat` LIKE '%jackson%') OR(`title` LIKE '%jackson%')) ORDER BY `artist` ASC LIMIT 0, 1000
Invalid query: You have an error in your SQL syntax near '((`artist` LIKE '%jackson%') OR(`feat` LIKE '%jackson%') OR(`title` LIKE '%jacks' at line 1
Nog ideeen?
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | $search_words = explode(' ', $searchstring, 5); $first = true; foreach ($search_words AS $tw) { if (!$first){ $sql .= 'AND '; } $first = false; $sql .= "((`artist` LIKE '%$tw%') "; $sql .= 'OR'; $sql .= "(`feat` LIKE '%$tw%') "; $sql .= 'OR'; $sql .= "(`title` LIKE '%$tw%')) "; } |
Laat de headers eens zien die de webserver naar de browser stuurt en vice versa, na het setten van de cookie?quote:Op zondag 13 november 2005 08:39 schreef Ro�a� het volgende:
Iemand suggesties waarom IE5.5 session cookies niet opslaat?
googlen en geklooi met de timestamp hebben tot nu toe geen effect gehad op het gedrag
| 1 2 3 4 5 6 7 8 9 10 | Server: xxxxxx X-Powered-By: xxxxxx Set-Cookie: PHPSESSID=17c3828ca1885212dc6c3e89ff843437; domain=http://www.xxxxxx.nl/ Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Content-Length: 1996 Connection: close Content-Type: text/html |
Gegevens staan opgeslagen in $_COOKIE["cookienaam"]quote:Op zondag 13 november 2005 14:00 schreef Chandler het volgende:
Stom vraagje; hoe achterhaal je die cookie gegevens/
Ik krijg toch de indruk dat die session-id cookie niet wordt omdat er geen expire-tijd opzit. De sessie zou dan eindigen op het moment dat je de browser sluit.quote:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | php $tekstvak = "arr[]"; echo "<form action='$PHP_SELF' METHOD='POST'>"; for ($a=0; $a< 3; $a++) { echo "<input type=text name='tekstvak' size=20><br>"; } echo "<input type=submit name='submit' value='Doe'>"; echo "</form>"; for ($a=0; $a< 3; $a++) { echo "$arr[$a]"; } ?> |
bug in de php tagquote:Op zondag 13 november 2005 22:46 schreef FuifDuif het volgende:
Dat "$a<"
Klopt dat wel, wat is dat voor vage constructie?
Moet dat niet gewoon zijn:
for ($a = 0; $a < 4; $a++)
?
| Forum Opties | |
|---|---|
| Forumhop: | |
| Hop naar: | |