ow, tuurlijk... Daaraan kun je het zien! (van eerdere gesloten dubbeltopic die net wat eerder was, maar zelfde tijd (in minuten) liet zien... (geen verkapte tvp!, maar een ECHTE!quote:Op maandag 2 mei 2005 20:38 schreef devzero het volgende:
Deze was eerder. (zie topic nrs).
verkapte tvp
Splitsen op - en in een array zetten dus is:quote:Op dinsdag 3 mei 2005 00:59 schreef the_disheaver het volgende:
Zo, ff een vraagje...
Heb een bestandje, met informatie gescheiden door "-" en regeleindes.
Wanneer ik het wil lezen, maak ik gebruik van een lus, en explode().
De gegevens moet ik lijkt mij makkelijk in een array kunnen zetten, kan ik de array dan ook sorteren (op naam in alfabetische volgorde)?
(en dan de array weer schrijven naar het bestand, zodat het niet op aanmaak datum gesorteerd wordt (laatst aangemaakt, wordt achteraan geschreven) maar dus op naam)
1 2 3 4 | <?php $blaat = "blaat-lol-grappig-lachen"; // Je array met inhoud $bla = explode("-", $blaat); // Het maken van een array door de -'s te splitsen ?> |
1 2 3 4 | <?php $blaat = array("1","2","blaat","zooi","funny"); // je array sort($blaat); // Je array is gesorteerd ?> |
Dat was het inderdaad die ik zocht, ik was zelf al dicht in de buurt maar haalde het verkeerde van elkaar afquote:Op maandag 2 mei 2005 23:19 schreef markiemark het volgende:
je kunt toch me de funtie image size de grootte van de afbeelding ophalen?
list($width, $height) = getimagesize();
dan heb je dus de breedte en de lengte.
deel de breedte door tweeen. trek daar de helft van de breedte van je watermerk vanaf en voila, je hebt het punt waar je je watermerk wilt plaatsen
wiel + uitvinden + opnieuw?quote:Op dinsdag 3 mei 2005 09:52 schreef Scorpie het volgende:
even een algemeen vraagje, wat voor functies gebruiken jullie in je classes? ik heb nu fetch, insert, update, delete, nog meer dingen die van belang kunnen zijn?
ik snap hem ook nietquote:
Wat is dit voor hopeloos open vraag? Als ik een class Pizza schrijf maak ik daar een functie "BakInOven" op, geen "delete".quote:Op dinsdag 3 mei 2005 09:52 schreef Scorpie het volgende:
even een algemeen vraagje, wat voor functies gebruiken jullie in je classes? ik heb nu fetch, insert, update, delete, nog meer dingen die van belang kunnen zijn?
Het is gewoon een algemene vraag, ik ben net begonnen met classes in PHP en vroeg me af wat de meer doorgewinterde PHP-ers onder ons allemaal voor slimmigheden met classes uithalen, want zoals ik al gemerkt heb is de grens je eigen creativiteit.quote:Op dinsdag 3 mei 2005 14:17 schreef curry684 het volgende:
[..]
Wat is dit voor hopeloos open vraag? Als ik een class Pizza schrijf maak ik daar een functie "BakInOven" op, geen "delete".
Bedoel je niet toevallig DAL-classes?
het makkelijkste is om eerste de $_GET in een variabele te stoppen doorquote:Op dinsdag 3 mei 2005 16:16 schreef Keksi het volgende:
Hoi,
Hoe neem ik een $_Get variabele op in mijn SQL Query? En kan ik checken of wijzigen dat dat ding een integer wordt?
Groet,
1 2 3 | <?php $var = $_GET['jouwstring']; ?> |
1 2 3 | <?php $SQL = "SELECT * FROM TABEL WHERE ID=".$var; ?> |
quote:Op dinsdag 3 mei 2005 14:16 schreef the_disheaver het volgende:
Nu de OP nog aangepast kan worden:
De tekst voor de OP staat ook op Wiki, eigenlijk wel zo handig. http://wiki.fok.nl/index.php/OP/PHP
of gewoon zo:quote:Op dinsdag 3 mei 2005 16:28 schreef Scorpie het volgende:
[..]
het makkelijkste is om eerste de $_GET in een variabele te stoppen door
[ code verwijderd ]
te doen. Hierna kan je dan
[ code verwijderd ]
doen. Succes!!
1 | $query = mysql_query("UPDATE tabel SET id = '".$_GET['id']."';"); |
Misschien handig om zo sql injections te voorkomen en andere fouten tegen te gaan.quote:Op dinsdag 3 mei 2005 16:51 schreef markiemark het volgende:
@Scorpie: waarom eerst in $var zetten?
Is het niet zo dat je je classes inricht naar benodigde functionaliteiten, ipv te bedenken welke functionaliteiten men in het algemeen in een class stouwt? Ik gebruik classes zo vaak als namespaces of factories. Dan heb ik geen updates of deletes nodig. Beetje loze vraagstelling dus ook, omdat er niet zoiets bestaat als "slimmigheden die je met je classes uithaalt' zonder vantevoren vastgesteld te hebben binnen welk domein je class gebruikt moet worden, en wat je nou eigenlijk wil met je class.quote:Op dinsdag 3 mei 2005 16:25 schreef Scorpie het volgende:
[..]
Het is gewoon een algemene vraag, ik ben net begonnen met classes in PHP en vroeg me af wat de meer doorgewinterde PHP-ers onder ons allemaal voor slimmigheden met classes uithalen, want zoals ik al gemerkt heb is de grens je eigen creativiteit.
Het gaat dus niet om naamgevingen van functies e.d, maar meer om de functionaliteiten die jullie erin stoppen
In mijn scripts ga ik er altijd van uit dat in $_GET, $_POST etc ongevalideerde data staat. Die horen niet in query's thuis.quote:Op dinsdag 3 mei 2005 16:51 schreef markiemark het volgende:
[..]
@Scorpie: waarom eerst in $var zetten?
1 2 3 4 5 6 7 8 9 10 11 12 | if (!isset($_GET['id'])) { // id niet opgegeven. foutmelding geven of standaard waarde gebruiken } else { $id = intval($_GET['id']); if ($id <= 0) { // id heeft ongeldige waarde. foutmelding geven of standaard waarde gebruiken } else { // id heeft nu een geldige waarde $sql = "SELECT * FROM MyTable WHERE MyID=$id;" $rs = $db->query($sql); } } |
Ik zou er een setje standaard fucnties van maken. Bijvoorbeeld reguestInt($name, $default=false) { ... }, requestString($name, $default=false) {...}, requestArray($name, $default=false) {...} etc.quote:Op dinsdag 3 mei 2005 20:49 schreef Keksi het volgende:
thnx Rembo! Dit gaan we gebruiken!
Even denken.... snap ik dit? Nee, kan je er iets over uitwijden?quote:Op dinsdag 3 mei 2005 21:02 schreef SuperRembo het volgende:
Ik zou er een setje standaard fucnties van maken. Bijvoorbeeld reguestInt($name, $default=false) { ... }, requestString($name, $default=false) {...}, requestArray($name, $default=false) {...} etc.
1 2 3 4 5 6 7 8 9 10 | function requestInt($name, $default=false) { if (!isset($_REQUEST[$name])) { return $default; } $value = $_REQUEST[$name]; if (!is_numeric($value)) { return $default; } return intVal($value); } |
http://www.phpv.nlquote:Op dinsdag 3 mei 2005 21:03 schreef H4ze het volgende:
Jaa mag ik dan ook aub ff een tvp'tje plaatsen? Superhandige topicreeks dit!Ben op 't moment zelf hard bezig om php onder de knie te krijgen
![]()
goeie site idd!!quote:
Je zou eerst met strtotime() er een unix timestamp van kunnen maken, en die vervolgens met date(); weer netjes formatteren. Zo dus:quote:Op woensdag 4 mei 2005 12:24 schreef saban het volgende:
Ik heb het al eens eerder gevraagt, maar ik kan het niet meer terug vinden, helaas.
Ik gebruik mijn eigen timestamps, voor nu heb ik bijvoorbeeld: 20050504122453
dus: jaar maand dag uur minuut seconde
Maar als ik nou de timestamp wil van vandaag, gister en de dag daarvoor ?
$vandaag = date("Ymd") . "000000";
$gister = ??
$eergister = ??
Iemand enig idee ?
1 2 3 4 5 | $StampGisteren = strtotime('-1 day'); $Gisteren = date('YmD',$StampGisteren).'000000'; $StampEergisteren = strototime('-2 day'); $Eergisteren = date('YmD',$StampEergisteren).'000000'; |
Omdat ik zo ben begonnen en om het nu te veranderen .. teveel records en al teveel scripts ..quote:Op woensdag 4 mei 2005 13:37 schreef markiemark het volgende:
als je zo werkt snap ik niet waarom je dan geen unix timestamp gebruikt?
Of, iets korter:quote:Op woensdag 4 mei 2005 12:24 schreef saban het volgende:
Maar als ik nou de timestamp wil van vandaag, gister en de dag daarvoor ?
$vandaag = date("Ymd") . "000000";
$gister = ??
$eergister = ??
1 2 | $gister = date("Ymd", time() - (3600 * 24)) . "000000"; $eergister = date("Ymd", time() - (3600 * 24 * 2)) . "000000"; |
daarna stond in het boek dat ik de volgende code moest gebruiken om de database aan te spreken:quote:Toon Records 0 - 2 (3 totaal)
SQL-query : [Wijzigen] [Verklaar SQL] [Creëer PHP Code]
SELECT *
FROM `adressen` LIMIT 0, 30
rijen beginnend bij
in horizontaal verticaal modus en herhaal kopregels na cellen
adres_ID achternaam voornaam adres postcode plaats tel_prive
Wijzigen Verwijderen 0 Mulder Willem Hamberuger 40 3991 VH Utrecht 06 4492458
Wijzigen Verwijderen 0 moesta jata veerwagen weg 45 3991 XD Houten 06 44833456
Wijzigen Verwijderen 0 jatata bla 1 3001 FH Utrecht 05845468
rijen beginnend bij
in horizontaal verticaal modus en herhaal kopregels na cellen
(ik heb de username en wachtwoord precies 't zelfde gehouden)quote:<?php
// Dit voorbeeld bouwt een verbinding met MySQL op, telt het
// aantal records in de tabel adressen en geeft dat weer.
$db = mysql_connect("localhost", "phpscripts", "wachtwoord") or die ("Verbinding mislukt");
mysql_select_db("borner", $db);
$SQL_statement = "SELECT * FROM adressen";
$resultset = mysql_query($SQL_statement);
$count_rows = mysql_num_rows($resultset);
echo "Aantal records: " . $count_rows;
mysql_close();
?>
1 2 3 | <?php phpinfo(); ?> |
quote:DocumentRoot "C:/WWWRoot"
ik neem aan dat 't de login / connectie is waar het probleem ligt...quote:Warning: Access denied for user: 'gebruikersnaam@127.0.0.1' (Using password: YES) in d:\phpdev\www\num_rows.php on line 5
Warning: MySQL Connection Failed: Access denied for user: 'gebruikersnaam@127.0.0.1' (Using password: YES) in d:\phpdev\www\num_rows.php on line 5
Verbinding mislukt
dit staat in mijn num_rows.php:quote:$cfg['Servers'][$i]['auth_type'] = 'config'; // Authentication method (config, http or cookie based)?
$cfg['Servers'][$i]['user'] = 'gebruikersnaam'; // MySQL user
$cfg['Servers'][$i]['password'] = 'wachtwoord'; // MySQL password (only needed
ziet iemand de fout?quote:$db = mysql_connect("localhost", "gebruikersnaam", "wachtwoord") or die ("Verbinding mislukt");
mysql_select_db("borner", $db);
Het lijkt erop dat de combinatie van gebruikersnaam en wachtwoord niet geldig is.quote:Op woensdag 4 mei 2005 19:06 schreef TheSeeker_NL het volgende:
ok ik heb het opnieuw geinstalleerd.
het ziet er allemaal goed uit, php info doet 't, phpmyadmin doet 't..... ik heb de phpdev/www map gevonden...
maar als ik nu num_row.php wil runnen..
[..]
ik neem aan dat 't de login / connectie is waar het probleem ligt...
dit staat in mijn config.inc.php:
[..]
dit staat in mijn num_rows.php:
[..]
ziet iemand de fout?
1 2 | $db = mysql_connect("localhost", "gebruikersnaam", "wachtwoord") or die ("Verbinding mislukt"); mysql_select_db("borner", $db); |
Dat heeft niet direct wat met php te maken. Het kan door aan een link target="_blank" toe te voegen. Je kan ook window.open(...) in javascript gebruiken.quote:Op woensdag 4 mei 2005 21:39 schreef Big_Fat_Wombat het volgende:
weet iemand hoe je in php een link/pagina in een nieuw raampje kan openen?![]()
Je kan niet na een request nog bepalen waar de output naar toe moet. Dat moet vooraf bekend zijn.quote:Op woensdag 4 mei 2005 22:12 schreef Big_Fat_Wombat het volgende:
Ik heb nu het volgende... de pagina index.php in de map tpt wil ik dus in een nieuw window geopend hebben, of zit ik helemaal fout te kijken
Nieuw plaatje maken met de nieuwe afmeting.quote:Op woensdag 4 mei 2005 23:17 schreef Darkomen het volgende:
GD Een foto onder een andere foto plakken?
Ik weet dat je met gd, een foto op een ander kan plakken, maar is het ook mogenlijk om een foto onder een ander foto te plakken? dus 2 fotos van 50x50px die dan 1 van 100x50 pixels word?
En heeft iemand dan een voorbleedje?
alvast bedankt
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 | <?php include ("config.inc.php"); $query="SELECT pagina_id, titel FROM pagina_content"; $result = mysql_query($query) or die (mysql_error()); if(!empty($_POST['submit'])) { header("location: edit.php?pagina_id=".$_POST['pagina_id'].""); exit; } ?> <form method="post" action="test.php"> <input type="hidden" name="submit" value="set"> <input type="hidden" name="pagina_id" value="<?php echo($pagina_id); ?>"> <select name="select"> <?php WHILE (list($pagina_id, $titel) = mysql_fetch_row($result)) { echo "<option value='$pagina_id'> $titel </option>"; } ?> </select> <input type="submit" value="GO!"> </form> |
1 2 3 4 5 | if(!empty($_POST['submit'])) { header("location: edit.php?pagina_id=".$_POST['select'].""); exit; } |
1 2 3 4 5 6 7 8 9 10 | <form method="post" action="test.php"> <input type="hidden" name="submit" value="set"> <select name="select"> <?php WHILE (list($pagina_id, $titel) = mysql_fetch_row($result)) { echo "<option value='$pagina_id'> $titel </option>"; } ?> </select> |
Debuggen is een kunstquote:Op donderdag 5 mei 2005 00:03 schreef Kapt.Ruigbaard het volgende:
Dank u![]()
Zo simpel, en ik kijk er totaal overheen![]()
Waarom niet?quote:Op donderdag 5 mei 2005 00:02 schreef SuperRembo het volgende:
Als je het wel op deze maniet wil doen is het niet zo handig om eerst de query te doen en daarna pas te checken of je wil redirecten.
Als je redirect maak je dat menu niet. Dan is het een overbodige query.quote:Op donderdag 5 mei 2005 00:06 schreef Kapt.Ruigbaard het volgende:
[..]
Waarom niet?
De waarden die in het select menu komen moet toch eerst uit de database gehaald worden?
Hmmz daar heb je helemaal gelijk inquote:Op donderdag 5 mei 2005 01:27 schreef the_disheaver het volgende:
Maar wat wanneer iemand meer games wil invoeren, bv 1 vergeten, of zich verteld.
Gebruik een sessie! Zo moeilijk is dat niet.quote:Op donderdag 5 mei 2005 10:37 schreef H4ze het volgende:
[..]
Hmmz daar heb je helemaal gelijk in![]()
Volgens mij kan ik in dit projectje sessies gewoon niet vermijden, dus ik ga eerst nog ff goed doornemen in m'n e-book hoe die precies werken :p De boel in een txtbestandje opslaan klinkt ook wel interessant....ik zal es kijken. Bedankt iig voor je reactie!
ja, daar zat ik ook net aan het denken...een sessie is ook niet meer dan een bestandje aanmaken....quote:Op donderdag 5 mei 2005 10:54 schreef SuperRembo het volgende:
[..]
Gebruik een sessie! Zo moeilijk is dat niet.
Als je het zelf in een tekstbestandje op gaat slaan, dan ben je eigenlijk zelf een sessie-systeem aan 't bouwen.
De query werkt dus nu wel, zal echt wle aan het tijdstip hebben gelegen :|quote:Op woensdag 4 mei 2005 23:17 schreef Darkomen het volgende:
GD Een foto onder een andere foto plakken?
Ik weet dat je met gd, een foto op een ander kan plakken, maar is het ook mogenlijk om een foto onder een ander foto te plakken? dus 2 fotos van 50x50px die dan 1 van 100x50 pixels word?
En heeft iemand dan een voorbleedje?
alvast bedankt
Ook wil de ze query ff niet helpen, kbs wil niet geupdate worden
Zal wel aan het tijdstip liggen (ga mn nest in, den heb ik morgen vast wel een antwoord)
$query = "UPDATE `top_thumbs` SET views = views + 1, kbs = kbs + $filesize WHERE referer='".$_SERVER['HTTP_REFERER']."' AND thumb_id='".$string[0]."' LIMIT 1";
$result = mysql_query($query)or die(mysql_error());
Het voordeel van een sessie is dat die automatisch uniek is en gekoppeld aan de huidige gebruiker. Sessies worden ook automatisch opgeruimd als hij verlopen is (standaard 180 minuten).quote:Op donderdag 5 mei 2005 12:01 schreef the_disheaver het volgende:
[..]
ja, daar zat ik ook net aan het denken...een sessie is ook niet meer dan een bestandje aanmaken....
Ik heb een 106je waar ik best tevreden over ben. En met een kans van 1:22 komt deze langsquote:Op donderdag 5 mei 2005 12:08 schreef Darkomen het volgende:
[..]
PS Superrembo peugeot fan?
Dan moet je over 9 dagen maar eens kijken op peugeotheaven.com
als ik dit doe is het gevolg dat het plaatje zelf ook niet meer in de pagina wordt geladen. Dat is ook niet echt de bedoelingquote:
Ja duh, wat denk je danquote:Op zondag 8 mei 2005 00:59 schreef jagermaster het volgende:
[..]
als ik dit doe is het gevolg dat het plaatje zelf ook niet meer in de pagina wordt geladen. Dat is ook niet echt de bedoeling
tegen deeplinken is het al beveiligd via htaccess. Maar wil als er een url is naar een plaatje bijvoorbeeld http://domein.tld/map/plaatje.png en daar op wordt geklikt dat de bezoeker terecht komt op het php bestand van het plaatje. De naam geving van plaatjes en php bestanden is het zelfde op de extensie na. Is er dus ergens op een site een link naar http://domein.tld/map/plaatje.png en iemand drukt daar op moet de pagina http://domein.tld/map/plaatje.php geladen worden.quote:Op zondag 8 mei 2005 01:31 schreef curry684 het volgende:
[..]
Ja duh, wat denk je danHet tonen van een plaatje is voor Apache gewoon eenzelfde soort request, dus zal ie ook rewriten ja. Als het je puur gaat om dat mensen niet mogen deeplinken kun je een RewriteCond erbij plaatsen die externe referrers alleen redirect.
weet dta ik moeilijk doe, maar is ter bescherming van vele tientallen uren werk. Ga ik niet zomaar weg geven aan 1 van die 10.000 andere (flut)bedrijven waarvan een deel niet eens respect heeft voor andermans werk.quote:Op zondag 8 mei 2005 14:37 schreef curry684 het volgende:
Kun je echt alleen via referrers oplossen, en dan hopen dat men de browser die laat meesturen (mag je in principe nooit op rekenen). Aka, je doet veel te moeilijk volgens mij
Een of andere oetlul heeft dat vroeger verzonnen dat bestanden die geinclude worden, de extensie .inc krijgen. Sindsdien zie je dat overal terug, tot en met in handleidingen en handboeken.quote:Op zondag 8 mei 2005 16:41 schreef noepsoep het volgende:
Wat ik nou nog steeds niet vat bij kant en klare scripts is waarom ze bij config enzo altijd .inc in de bestandsnaam zetten![]()
whyy? of is het maar gewoon zomaar
![]()
1 2 3 4 | Id artikel omschrijving artikel groep artikel prijs 1 Splitter Mouse/Keyboard PS/2AK5345 HP Kabel splitter 3,2725 2 Splitter VGA 3xVGA aansl. AK3182 Kabel splitter 5,8905 3 Splitter Voeding Groot-Klein AK3195 Kabel splitter 2,618 |
Als je zelf even de tabel met de juiste velden aanmaakt met phpMyAdmin, dan kun je vervolgens je .csv bestandje importeren. Selecteer de tabel en klik op "Invoegen tekstbestanden in tabel" in phpMyAdminquote:Op zondag 8 mei 2005 20:52 schreef BaggerUser het volgende:
ik heb een .csv file en daar staat dit in :
[ code verwijderd ]
alleen dan staat er veel mer in maar het gaat om het v.b.
hoe kan ik in mysql een tabel aanmaken met al dezse info erin zonder dit allemala handmatig te doen?
kan dit met phpmyadmin ?
1 2 3 4 5 6 7 8 9 | <?php $db = mysql_connect("localhost", "", "") or die ("Verbinding is gay"); mysql_select_db("borner", $db); $news_SQL = "SELECT * FROM news WHERE news_ID=$news_ID"; $news_result = mysql_query($news_SQL); $news = mysql_fetch_array($news_result); mysql_close(); ?> |
quote:Op maandag 9 mei 2005 13:28 schreef TheSeeker_NL het volgende:
erm... hoe doe ik dat precies?
* TheSeeker_NL is nubje
1 | echo $new_SQL; |
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php $db = mysql_connect("localhost", "", "") or die ("Verbinding is gay"); mysql_select_db("borner", $db); $news_SQL = "SELECT * FROM news ORDER BY news_datetime DESC"; $news_result = mysql_query($news_SQL); while($news = mysql_fetch_array($news_result)) { if (strlen($news['news_main']) >220){ $news['news_main'] = substr($news['news_main'], 0, 180) . "... <a href=nieuws/news.php?news_ID=" . $news['news_ID'] . ">meer</a>"; } ?> |
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 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link rel="stylesheet" type="text/css" href = "file:///C|/test/stylesheet.css" /> </head> <body> <?php $db = mysql_connect("localhost", "", "") or die ("Verbinding is gay"); mysql_select_db("borner", $db); $news_SQL = "SELECT * FROM news ORDER BY news_datetime DESC"; $news_result = mysql_query($news_SQL); while($news = mysql_fetch_array($news_result)) { if (strlen($news['news_main']) >220){ $news['news_main'] = substr($news['news_main'], 0, 180) . " ... <a href=nieuws/news.php?news_ID=". $news['news_ID'] . ">meer</a>"; } ?> <table width="400" border="0" cellspacing="0" cellpadding="0" align="center"> <tr><td><span class="kleiner"><?php echo $news['news_datetime'] ?></span><br><b><?php echo $news['news_header']?></b> </td> </tr> <tr><td><span class="kleiner"><?php echo $news['news_main'] ?></span> </td> </tr> <tr><td><hr width="400" size="1" noshade></td></tr> </table> <?php } mysql_close(); ?> </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 | <body> <?php $db = mysql_connect("localhost", "", "") or die ("Verbinding is gay"); mysql_select_db("borner", $db); $news_SQL = "SELECT * FROM news WHERE news_ID=$news_ID"; $news_result = mysql_query($news_SQL); $news = mysql_fetch_array($news_result); mysql_close(); ?> <table width="400" border="0" cellspacing="0" cellpadding="0" align="center"> <tr><td><span class="kleiner"><?php echo $news['news_datetime'] ?></span><br><b><?php echo $news['news_header']?></b> </td> </tr> <tr><td><span class="kleiner"><?php echo $news['news_main'] ?></span> </td> </tr> <tr><td><hr width="400" size="1" noshade></td></tr> </table> </body> </html> |
en dus niet gewoon lief het nieuwsbericht weergeven en klaar....quote:Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in d:\phpdev\www\borner\nieuws\news.php on line 17
1 | $news_SQL = "SELECT * FROM news WHERE news_ID=$news_ID"; |
1 2 3 4 | $news_ID = -1; if(isset($_REQUEST['news_ID'])) $news_ID = intval($_REQUEST['news_ID']); $news_SQL = "SELECT * FROM news WHERE news_ID="'.$news_ID; |
1 | $news_SQL = "SELECT * FROM news WHERE news_ID=$news_ID"; |
1 | $news_SQL = "SELECT * FROM news WHERE news_ID=".$_GET['news_ID']; |
1 2 | <a href=nieuws/news.php?news_ID=". $news['news_ID'] . ">meer</ a>" |
1 | <a href="url">link</a> |
1 2 3 4 | <?php echo "<a href=\"url\">link</a>"; echo '<a href="url">link</a>'; ?> |
uhhh, je bedoelt niet mij maar een andere user neem ik aanquote:Op maandag 9 mei 2005 18:03 schreef JeRa het volgende:
ikke_ook, zet eens quotes om het URL gedeelte van je link.
[ code verwijderd ]
En in PHP:
[ code verwijderd ]
Voor het gemak aannemen dat je zonder die quotes kan schiet niet echt op als je ooit met URLs te maken krijgt waar spaties in voorkomen...
Fixed!quote:Op maandag 9 mei 2005 19:27 schreef ikke_ook het volgende:
[..]
uhhh, je bedoelt niet mij maar een andere user neem ik aan
1 2 3 | <input type="text" name="bla" value="<? echo"". $_POST['bla']."";?>"> etc. etc. |
1 2 3 4 5 6 7 | $fields['bla'] = ''; $fields['bla2'] = ''; if($_SERVER['REQUEST_METHOD'] == 'POST') { if(isset($_REQUEST['bla'])) $fields['bla'] = $_REQUEST['bla']; } |
1 | <?=htmlspecialchars($fields['bla']);?> |
1 | <?php echo htmlspecialchars($fields['bla']);?> |
Hmm ja daar zit idd wat in ja. Daar ga ik morgen eens mee kijkenquote:Op maandag 9 mei 2005 23:00 schreef Roönaän het volgende:
Gewoon een associatieve array aanmaken met default values. Als je $_SERVER['REQUEST_METHOD'] gelijk is aan POST kan je de default values vervangen door de werkelijke values:
Ah, dat handigheidje van <?= had ik ooit eens vlug gelezen ergens, maar verder niet op gelet. Kan idd wel tijd en typwerk sparen. Bedanktquote:Sowieso is het makkelijker om ipv <? echo te kiezen tussen een van de volgende:
1 <?=htmlspecialchars($fields['bla']);?>
Interessante vraag, daar zou ik het antwoord ook wel op willen wetenquote:Op maandag 9 mei 2005 14:03 schreef ikke_ook het volgende:
Ik wil graag dat er iedere maand een backupfile wordt gemaakt van mijn database die dan naar mijn emailadres wordt gestuurd.
Hoe krijg ik zoiets "gepland"?Lukt dat op een of andere manier met php of moet ik dan meer dingen regelen op de server? En zo ja, wat dan?
dat vergeet je en daarmee heb je niet met een aantal controlpanels alleen de database gebackupd maar de hele site en nog wel op zo'n manier dat je het niet kan openen op je computerquote:Op dinsdag 10 mei 2005 02:02 schreef DionysuZ het volgende:
cronjobs?
of anders iedere keer als je de site bezoekt checken of de laatste backup < maand geleden was, en dan backuppen en mailenmaar das fucked up.
Je kan op je windows bak ook gewoon de taakbeheer gebruiken in combinatie met wget.quote:Op maandag 9 mei 2005 23:36 schreef ikke_ook het volgende:
[..]
Interessante vraag, daar zou ik het antwoord ook wel op willen weten
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php ob_start(); system("mysqldump -h localhost -u username --password=my_password database_name"); $dump = ob_get_contents(); ob_end_clean(); De database dump staat nu in $dump. $fp = fopen("dump.sql", "w"); fputs($fp, $dump); fclose($fp). ?> |
Heb je de rechten om programma's uit te voeren? Staat PHP misschien in de safe mode?quote:Op dinsdag 10 mei 2005 15:17 schreef ikke_ook het volgende:
dat ziet er wel erg simpel uit![]()
Ik krijg m alleen niet aan de praat... $dump is leeg...
1 2 3 | <?php echo system("mysqldump -h localhost -u username --password=my_password database_name"); ?> |
1 2 3 4 5 6 7 8 | $boundary = md5(uniqid(time(),1)); $fp = fopen("plaatje.jpg","rb"); $inhoud .= "--".$boundary."\r\n"; $inhoud .= "Content-Type: image/jpeg;\r\n" ."Content-Transfer-Encoding: base64\r\n" ."Content-ID: ni-img\r\n\r\n" .chunk_split(base64_encode(fread($fp,filesize("plaatje.jpg"))))."\r\n"; |
Volgens mij dit:quote:Op dinsdag 10 mei 2005 17:34 schreef ikke_ook het volgende:
Wat moet mijn content-type zijn als ik een zipfile verstuur?
1 | Content-Type: application/zip |
1 2 3 4 5 | config_name | config_value =========================== allow_html | 0 allow_bbcode | 1 enz... | enz... |
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 | <?php php include ("config.inc.php"); $query="SELECT titel FROM pagina_content WHERE id = '".$_GET['id']."'"; $result = mysql_query($query) or die (mysql_error()); if(!empty($_POST['submit'])) { $query="DELETE FROM pagina_content WHERE id = '".$_POST['id']."'"; mysql_query($query) or die (mysql_error()); header("location: ../../pagina_beheer.php"); exit; } WHILE ($obj = mysql_fetch_object($result)) { echo "Weet u zeker dat u <b>$obj->titel</b> wilt verwijderen?"; } <form method="post" action="cms/pagina/verwijderen.php"> <input type="submit" value="Ja, verwijder" name="submit"> <input type=button value="Nee" onClick="history.go(-1)"> </form> ?> |
Je moet een query uitvoeren om de gegevens te achterhalen. Dit kun je als volgt doen:quote:Op dinsdag 10 mei 2005 20:12 schreef R-Mon het volgende:
Ik heb deze tabel:
[ code verwijderd ]
Weet iemand hoe je dat netjes in variabelen krijgt, zoiets als $allow_html = 0 of $config['allow_html'] = 0? Ik had ooit een scriptje gevonden dat zoiets deed, maar zoals altijd kan ik dat nergens meer vinden.
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php $link = mysql_connect('servernaam', 'gebruikersnaam', 'wachtwoord'); mysql_select_db('databasenaam', $link); $result = mysql_query('SELECT config_name, config_value FROM config'); $config = array(); while ($data = mysql_fetch_assoc($result)) { $config[$data['config_name']] = $data['config_value']; } mysql_close($link); ?> |
Jaaa, dankjewelquote:Op dinsdag 10 mei 2005 20:54 schreef JeRa het volgende:
[..]
Je moet een query uitvoeren om de gegevens te achterhalen. Dit kun je als volgt doen:
[ code verwijderd ]
1 2 | header("HTTP/1.0 403 Forbidden"); die(); |
1 | header("Status: 403 Forbidden"); |
Het is heel simpel: als je 'vriendelijke' HTTP error messages hebt uitstaan, zul je iets moeten outputten om aan te geven dat het forbidden is. Apache moet dat ook doen om de client te informeren dat er iets is wat hij niet mag bereiken.quote:Op dinsdag 10 mei 2005 21:59 schreef Swetsenegger het volgende:
[ code verwijderd ]
De header wordt verstuurd, script stop, maar ik zie een blanco pagina zonder de '403 forbidden' melding.
ook
[ code verwijderd ]
Geeft niet het gewenste resultaat.
Iemand de oplossing?
Op de CLIENT?quote:Op dinsdag 10 mei 2005 22:27 schreef JeRa het volgende:
[..]
Het is heel simpel: als je 'vriendelijke' HTTP error messages hebt uitstaan, zul je iets moeten outputten om aan te geven dat het forbidden is. Apache moet dat ook doen om de client te informeren dat er iets is wat hij niet mag bereiken.
Als die 'vriendelijke' HTTP error messages bij de client wél aanstaan werkt het gewoon op jouw manier.
In IE staat 'Show friendly HTTP error messages' standaard aan, in Firefox krijg je normaal message boxes (ook uit te schakelen via about:config) maar toevallig is die er niet voor een 403 Forbiddenquote:Op dinsdag 10 mei 2005 22:30 schreef Swetsenegger het volgende:
[..]
Op de CLIENT?
Waar stel ik dat dan in op m'n browser?
Anyway, plotseling werkt het
Inderdaad, gevonden onder IE.quote:Op dinsdag 10 mei 2005 22:32 schreef JeRa het volgende:
[..]
In IE staat 'Show friendly HTTP error messages' standaard aan, in Firefox krijg je normaal message boxes (ook uit te schakelen via about:config) maar toevallig is die er niet voor een 403 Forbidden
Dat klopt. Installeer die livehttpheaders maar eens, en bekijk het verschil met pagina's waarbij Apache een 403 levert en eentje waarbij je dat zelf genereert met PHP, het is exact hetzelfde (behalve de visuele inhoud).quote:Op dinsdag 10 mei 2005 22:33 schreef Swetsenegger het volgende:
[..]
In FF krijg je dus standaard 'niets' bij een 403 correct?
Een server waar php en mysql op draait.quote:Op woensdag 11 mei 2005 09:16 schreef 1-of-6Billion het volgende:
Ik onderhoud een site voor een zwemvereniging. Voornamelijk in simpel html. Werkt nog steeds het makkelijkst voor mij. Behalve wanneer het op Persoonlijke records en Clubrecords aankomt. (Nu in pdf en excel-html) Da's dus een drama.
PHP lijkt mij een geschikte mogelijkheid om dit probleem op te lossen. Nou heb ik totaal geen idee hoe ik dit aanpak en wat ik zoal nodig heb.![]()
Wie kan mij (stap-voor-stap) op weg helpen?![]()
Heb nog geen idee hoe te beginnen.quote:Op woensdag 11 mei 2005 10:00 schreef Swetsenegger het volgende:
[..]
Een server waar php en mysql op draait. check
Kennis van PHP hoop ik hier op te doen
That's it.
quote:#!/bin/sh
#####################
#####################
## MYSQL BACKUP ##
## ##
## BACKUP TO FTP ##
#####################
#####################
#####
## De backup maken en tarren
#####
## Pad naar de DB bestand
DIRPATH="/home/turka.nl/backupdb";
## Username van je MYSQL
USER="fok";
## Wachtwoord van je MYSQL
PASS="fokpasswd";
## De dag ophalen
DATE=`/bin/date +'%d-%m-%y'`
## Maak de dump
/usr/bin/mysqldump -h db.fok.nl -u $USER -e --add-drop-table --password=$PASS $USER > $DIRPATH/$DATE.sql
## De dump tarren
/bin/tar -czf $DIRPATH/$DATE.tar.gz $DIRPATH/$DATE.sql
## De niet ingepakte dump verwijderen
/bin/rm $DIRPATH/$DATE.sql
#####
## De backup is gemaakt! We gaan hem nu overzetten naar een externe FTP
#####
## FTP hostname
FTPHOST="ftp.fok.nl";
## Login van FTP
FTPLOGIN="fokking";
## Wachtwoord van FTP
FTPPASSWD="fokkingpasswd";
## In welke map in de FTP moet de bestand gezet worden
FTPPATH="/httpdocs/backup";
## Je bestand uploaden
ncftpput -u $FTPLOGIN -p $FTPPASSWD $FTPHOST "$FTPPATH" "$DIRPATH/$DATE.tar.gz"
## Het bestand op je eigen server verwijderen
/bin/rm -rf $DIRPATH/$DATE.tar.gz
Kan je het ook op z'n nijntjes uitleggen, want ik weet ECHT geen hout van PHP/SQLquote:Op woensdag 11 mei 2005 10:19 schreef hornage het volgende:
En uiteraard kennis van SQL.
Database zou wel zoiets worden als je het simpel wilt houden:
Records(Person, Distance, Slag, PR, CR)
En als je het wat uitgebreider wilt maken:
Person(PersonID, Name, Age, Sex, Club)
Records(RecordID, PersonID, DistanceID, SlagID, Time)
Distance(DistanceID, Distance)
Slag(SlagID, Slag)
Ik wist alleen ff niet meer de engelse term voor slag.
Er wordt hier geen PHP cursus gegevenquote:Op woensdag 11 mei 2005 10:34 schreef 1-of-6Billion het volgende:
[..]
Kan je het ook op z'n nijntjes uitleggen, want ik weet ECHT geen hout van PHP/SQL
Nee, MySQL is geen accessquote:Om te beginnen: Ik kan dergelijke database maken in Access?
De spreekwoordelijke muur waar ik nu dus tegen aanloop. Jammerquote:Op woensdag 11 mei 2005 11:21 schreef Swetsenegger het volgende:
[..]
Er wordt hier geen PHP cursus gegeven
Ga je eerst verdiepen in PHP, lees tutorials op bv www.phpfreakz.nl en kom dan gerichte vragen stellen.
[..]
Nee, MySQL is geen access
Hoe kom je daarbij ?quote:Op woensdag 11 mei 2005 11:22 schreef Swetsenegger het volgende:
Ik heb direkt een IP blacklist gemaakt, maar een beetje spammer heeft zo een ander IP adres natuurlijk.
Niks muur,quote:Op woensdag 11 mei 2005 11:23 schreef 1-of-6Billion het volgende:
[..]
De spreekwoordelijke muur waar ik nu dus tegen aanloop. Jammer![]()
Omdat ik binnen 24 uur 6 spam reacties heb (4 maal van casino 1 en 2 maal van Casino 2) op 4 verschillende IP'squote:
Nou ja, ik "spreek" een paar woorden htmlquote:Op woensdag 11 mei 2005 11:30 schreef Swetsenegger het volgende:
[..]
Niks muur,
je begint gewoon met tutorials te lezen op internet.
Zoek eens op 'PHP' en 'Hello world' op google.
Volgens mij heb je geen ENKELE programmeer ervaring dus je zal echt bij de basis moeten beginnen.
Dit is voldoende voor de basisquote:Op woensdag 11 mei 2005 11:39 schreef 1-of-6Billion het volgende:
[..]
Nou ja, ik "spreek" een paar woorden html
Mijn ervaring is dat ik veel sneller iets leer door het te zien en dan naar smaak aan te passen dan door helemaal "from scratch" te beginnen.![]()
Ik snap dat ik met te weinig kennis teveel wil en dat het dan ook een beetje moeilijk heppele is voor de geachte lezertjes van dit topic![]()
quote:Op woensdag 11 mei 2005 11:30 schreef Swetsenegger het volgende:
beginners deel 1
beginners deel 2
beginners deel 3
1 2 3 4 5 | if($action == "delete"){ $news_SQL_del = "DELETE FROM news WHERE news_ID=$news_ID"; $bool = mysql_query($news_SQL_del); if($bool == 1) echo "<SCRIPT LANGUAGE=JavaScript>window.alert('Het bericht is verwijderd.')</SCRIPT>"; if ($bool <> 1) echo "<SCRIPT LANGUAGE=JavaScript>window.alert('het is een beetje fout gegaan')</SCRIPT>"; |
1 | <a href=news_list.php>Verwijderen</a> |
quote:Op woensdag 11 mei 2005 11:58 schreef TheSeeker_NL het volgende:
Hallo!
Ik ben weer tegen een probleempje aangelopen, de schuld van mijn boek... Het boek is erg vaag nu, en er staat te weinig toegelicht. Ik zal even proberen uit te leggen wat mijn nieuwe probleem is
ik ben nog steeds bezig met nieuwsberichtjes, ik heb ze mooi in een tabel staan, datum, titel, inhoud... en nu wil ik de opties Verwijderen en Bewerken maken... afijn, ik ben nu bezig met Verwijderen.
Nu heb ik dus een hyperlinkje "Verwijderen" gemaakt. Nu zegt het boek dat ik de volgende code in mijn nieuwspagina moet stoppen.
[ code verwijderd ]
nou geen probleem, ik heb dat gedaan. Verder zegt het boek dat ik in de link Verwijderen de parameters news_ID en action=delete door moet geven.
maar hoe zeggen ze er niet eventjes bij....
nu ben ik dus stuck met dit trieste stukje link
[ code verwijderd ]
iemand die mij verder kan helpen?
Bitte!
![]()
1 | <a href=news_list.php?news_id=waarde&action=delete>Verwijderen</a> |
Je haalt ergens de waardes uit je tabel:quote:Op woensdag 11 mei 2005 12:22 schreef TheSeeker_NL het volgende:
erm... sorry to ask... maar hoe ga ik dat precies doen?
(die waarde uit mn db halen?)
1 2 3 4 5 6 7 8 | <?php $query="SELECT * from table"; $result=mysql_query($query); while($row=mysql_fetch_array($result)){ // echo whatever je uit je tabel op het scherm wil hebben print"<a href=\"news_list.php?news_id=$row['id']&action=delete\">Verwijderen</a>"; } ?> |
1 | <a href="news_list.php?news_ID=<?= $news['news_ID'] ?> &action=delete">Verwijderen</a> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | $boundary = md5(time()); //base-64 encode $content = chunk_split(base64_encode($content)); $subject = 'Test email met attachment'; $headers = 'MIME-Version: 1.0' ."\n" . 'Content-type: multipart/mixed; boundary="' .$boundary .'"' ."\n" . 'From: Sender <postmaster@vogelaars.nl>' ."\n" . 'Reply-To: postmaster@vogelaars.nl ' ."\n"; $message = "--" .$boundary ."\n" . "Content-Type: multipart/mixed;\n" . 'Content-Disposition: attachment; filename='.$filename.';' ."\n" . 'Content-transfer-encoding: base64' ."\n" . $content ."\n" . '--' .$boundary .'--'; |
1 2 | $date=mysql_result($result,$i,"fld_date"); $date=date('l F j, Y \a\t G:i',$date); |
Ja.quote:Op woensdag 11 mei 2005 13:48 schreef TheSeeker_NL het volgende:
hey mensen
bestaat er een stukje code dat alle window.alert pop ups voorkomt die je in je code hebt zitten?
dus ze uitschakeld eigenlijk?
(dit is niet specifiek een php vraag, maarja ik vraag het toch maar even)
1 2 3 | if (false) { window.alert('Nee, het is inderdaad geen PHP vraag.'); } |
het is al een beetje roestig voor mij, maar heb zelf ook een heleboel problemen gehad met het versturen van MIME mails met attachments via PHP. Misschien heb je hier iets aan: http://www.theukwebdesign(...)file-attachments.phpquote:Op woensdag 11 mei 2005 12:42 schreef ikke_ook het volgende:
Ik gebruik onderstaand script om een mail met een attachment te versturen.
$content bevat een string. Maar nu is t probleem dat hij een file verstuurt die de eerste 57 tekens van de string niet bevat, en aan het einde voegt hij nog een beetje bras toe...
En hij zet vierkantjes op de plaats waar een newline staat..
help!
[ code verwijderd ]
hehe nee ook dat nog niet, maar ik ben op dit moment aan 2 dingen aan het werken...quote:Op woensdag 11 mei 2005 14:08 schreef Swetsenegger het volgende:
[..]
Heb je nou je delete probleem al opgelost
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 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link rel="stylesheet" type="text/css" href = "file:///C|/test/stylesheet.css" /> </head> <body> <table width="80%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="16%"><b> Datum/Tijd</b></td> <td width="15%"><b>Berichttitel</b></td> <td width="59%"><b>Hoofdtekst</b></td> <td width="10%"><b>Opties</b></td> </tr> </table> <b> <?php $db = mysql_connect("localhost", "", "") or die ("Verbinding is gay"); mysql_select_db("borner", $db); $news_SQL = "SELECT * FROM news ORDER BY news_datetime DESC"; $news_result = mysql_query($news_SQL); while($news = mysql_fetch_array($news_result)) { if (strlen($news['news_main']) >220){ $news['news_main'] = substr($news['news_main'], 0, 180) . " ... <a href=nieuws/news.php?news_ID=".$news['news_ID'] . ">meer</ a>"; } if($action == "delete"){ $news_SQL_del = "DELETE FROM news WHERE news_ID=$news_ID"; $bool = mysql_query($news_SQL_del); if($bool == 1) echo "<SCRIPT LANGUAGE=JavaScript>window.alert('Het bericht is verwijderd.')</SCRIPT>"; if ($bool <> 1) echo "<SCRIPT LANGUAGE=JavaScript>window.alert('het is een beetje fout gegaan')</SCRIPT>"; } ?> </b> <table width="80%" border="1" cellspacing="0" cellpadding="0"> <tr> <td width="16%"><?php echo$news['news_datetime']?></td> <td width="15%"><?php echo $news['news_header']?></td> <td width="59%"><?php echo $news['news_main']?></td> <td width="10%"> <a href=news_list.php?news_ID=""&action=delete>Verwijderen</a></td> </tr> </table> <?php } mysql_close(); ?> </body> </html> |
quote:Op woensdag 11 mei 2005 14:54 schreef TheSeeker_NL het volgende:
(Verwijderen probleem!)
Dit is de code die ik nu heb Swetsenegger....
Waar moet ik die code plaatsen die jij mij gaf een paar reacties hierboven?
please help me
(of iemand anders mag natuurlijk ook helpen haha, shit kon ik maar kopjes koffie donaten aan elke user die met een goede reply aankomt zetten)
[ code verwijderd ]
1 2 3 4 5 6 7 8 | <table width="80%" border="1" cellspacing="0" cellpadding="0"> <tr> <td width="16%"><?php echo$news['news_datetime']?></td> <td width="15%"><?php echo $news['news_header']?></td> <td width="59%"><?php echo $news['news_main']?></td> <td width="10%"> <? print"<a href=\"news_list.php?news_ID=$news['id']&action=delete\">Verwijderen</a>"; ?></td> </tr> </table> |
PLaats line 46 dan evenquote:Op woensdag 11 mei 2005 15:18 schreef TheSeeker_NL het volgende:
Parse error: parse error in d:\phpdev\www\borner\news_list.php on line 46
ik ga even zoeken of er syntax foutjes inzitten, alvast bedankt iig...
1 | <? print"<a href=\"news_list.php?news_ID=$news['id']&action=delete\">Verwijderen</a>"; ?> |
1 | <?php print"<a href="news_list.php?news_ID=$news['news_ID']&action=delete\">Verwijderen</a>"; ?> |
<? print"<a href=\"news_list.php?news_ID={$news['news_ID']}&action=delete\">Verwijderen</a>"; ?>quote:Op woensdag 11 mei 2005 15:29 schreef TheSeeker_NL het volgende:
<?php print"<a href="news_list.php?news_ID=$news['news_ID']&action=delete\">Verwijderen</a>"; ?>
Niet die slashes weghalenquote:Op woensdag 11 mei 2005 15:29 schreef TheSeeker_NL het volgende:
oude:
[ code verwijderd ]
wat ik tot nu toe heb verbeterd:
[ code verwijderd ]
Daarom escapen print"<a href=\" is wel degelijk de juiste syntaxquote:Op woensdag 11 mei 2005 15:31 schreef DionysuZ het volgende:
<a href=\" ipv <a href=" dit geeft uiteraard een foutmelding omdat " het einde van een string betekent.
edit: je had je post al aangepastquote:
1 | if ($_REQUEST["action"] == "delete") |
Welke fout geeft ie dan?quote:Op woensdag 11 mei 2005 15:49 schreef TheSeeker_NL het volgende:
geprobeerd Dio, hij geeft nu die popups dat het fout gegaan is
maar we zitten dus wel warm
1 | $news_SQL_del = "DELETE FROM news WHERE news_ID=$news_ID"; |
1 | $news_SQL_del = "DELETE FROM news WHERE news_ID=".$_REQUEST["news_ID"]; |
Ik vind de code nu ook niet echt uitblinken in duidelijkheid.quote:Op woensdag 11 mei 2005 16:00 schreef TheSeeker_NL het volgende:
haha het werkt dio!
u gaat door voor Het Senseo apperaat
even nieuwe nieuwsberichtjes invoeren en even testen ... maar belangrijker, ik moet even bestuderen wat jullie mij net allemaal verteld hebben... want als ik er nooit wat van ga begrijpen blijf ik zo bezig
hehe, je hebt gelijk...quote:Op woensdag 11 mei 2005 16:07 schreef Swetsenegger het volgende:
[..]
Ik vind de code nu ook niet echt uitblinken in duidelijkheid.
Och, ik ben zelf nog geen jaar geleden begonnen met 'php voor het wereld wijde web' en dat was enorm duidelijkquote:Op woensdag 11 mei 2005 16:10 schreef TheSeeker_NL het volgende:
Ik zit aan de hand van een boek dit te oefenen, zoals in wel meer boeken, staat er altijd een hoop overbodige code in, maar zolang ik niet beter weet doe ik maar zoals het er staat...
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 | <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link rel="stylesheet" type="text/css" href = "file:///C|/test/stylesheet.css" /> </head> <body> <table width="80%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="16%"><b> Datum/Tijd</b></td> <td width="15%"><b>Berichttitel</b></td> <td width="59%"><b>Hoofdtekst</b></td> <td width="10%"><b>Opties</b></td> </tr> </table> <?php $db = mysql_connect("localhost", "", "") or die ("Verbinding is gay"); mysql_select_db("borner", $db); $news_SQL = "SELECT * FROM news ORDER BY news_datetime DESC"; $news_result = mysql_query($news_SQL); while($news = mysql_fetch_array($news_result)) { if (strlen($news['news_main']) >220) {$news['news_main'] = substr($news['news_main'], 0, 180) . " ... <a href=nieuws/news.php?news_ID=".$news['news_ID'] . ">meer</a>";} if ($_REQUEST["action"] == "delete") {$news_SQL_del = "DELETE FROM news WHERE news_ID=".$_REQUEST["news_ID"]; $bool = mysql_query($news_SQL_del);} ?> <table width="80%" border="1" cellspacing="0" cellpadding="0"> <tr> <td width="16%"><?php echo$news['news_datetime']?></td> <td width="15%"><?php echo $news['news_header']?></td> <td width="59%"><?php echo $news['news_main']?></td> <td width="10%"><?php print"<a href=\"news_list.php?news_ID={$news['news_ID']}&action=delete\">Verwijderen</a>"; ?></td> </tr> </table> <?php } mysql_close(); ?> </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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link rel="stylesheet" type="text/css" href = "file:///C|/test/stylesheet.css" /> </head> <body> <table width="80%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="16%"><b> Datum/Tijd</b></td> <td width="15%"><b>Berichttitel</b></td> <td width="59%"><b>Hoofdtekst</b></td> <td width="10%"><b>Opties</b></td> </tr> </table> <?php $db = mysql_connect("localhost", "", "") or die ("Verbinding is gay"); mysql_select_db("borner", $db); if ($_REQUEST["action"] == "delete") { $news_SQL_del = "DELETE FROM news WHERE news_ID=".$_REQUEST["news_ID"]; $bool = mysql_query($news_SQL_del); } $news_SQL = "SELECT * FROM news ORDER BY news_datetime DESC"; $news_result = mysql_query($news_SQL); while($news = mysql_fetch_array($news_result)) { if (strlen($news['news_main']) >220) { $news['news_main'] = substr($news['news_main'], 0, 180) . " ... <a href=nieuws/news.php?news_ID=".$news['news_ID'] . ">meer</a>"; } ?> <table width="80%" border="1" cellspacing="0" cellpadding="0"> <tr> <td width="16%"><?php echo$news['news_datetime']?></td> <td width="15%"><?php echo $news['news_header']?></td> <td width="59%"><?php echo $news['news_main']?></td> <td width="10%"><?php print"<a href=\"news_list.php?news_ID={$news['news_ID']}&action=delete\">Verwijderen</a>"; ?></td> </tr> </table> <?php } mysql_close(); ?> </body> </html> |
Staat er ook een hoofdstuk over netjes coden en over dubuggen in?quote:Op woensdag 11 mei 2005 16:10 schreef TheSeeker_NL het volgende:
[..]
Ik zit aan de hand van een boek dit te oefenen
goeie site! Staat alles duidelijk uitgelegdquote:Op woensdag 11 mei 2005 14:10 schreef DionysuZ het volgende:
[..]
het is al een beetje roestig voor mij, maar heb zelf ook een heleboel problemen gehad met het versturen van MIME mails met attachments via PHP. Misschien heb je hier iets aan: http://www.theukwebdesign(...)file-attachments.php
1 2 | $content = "Hallo dit is een test.\nMet een break, hier en daar een komma, \nsoms wat tekst en verder veel bla."; |
1 | mma,soms wat tekst en verder veel bla.ÓÆÞÝÇxsn|quæßóovÓ§wmÎ |
1 | mysql_close($rDbConn); |
1 | @mysql_close($rDbConn); |
Dat maakt eigenlijk wel uit, je moet rekening houden met het feit dat mysql_close() een geldige link nodig heeft. Als ie dat niet krijgt, betekent dat er óf geen verbinding kon worden gemaakt met de MySQL-server óf dat de verbinding ergens werd verbroken (door een andere mysql_close() wellicht?). In beide gevallen zou je dit moeten kunnen afvangen met een bericht naar de gebruikerquote:Op woensdag 11 mei 2005 18:08 schreef BaggerUser het volgende:
simpele vraag:
op die regel krijg ik soms een foutmelding en dat maakt verder niet uit
ik krijg het als er een verkeerde loginnaam of verkeerde wachtwoord wordt opgegeven het is de 1e close die er in zit en er wordt wel een verbinding opgebouwt anders kan die ook niet weten dat de gebruikersnam niet kloptquote:Op woensdag 11 mei 2005 19:04 schreef JeRa het volgende:
[..]
Dat maakt eigenlijk wel uit, je moet rekening houden met het feit dat mysql_close() een geldige link nodig heeft. Als ie dat niet krijgt, betekent dat er óf geen verbinding kon worden gemaakt met de MySQL-server óf dat de verbinding ergens werd verbroken (door een andere mysql_close() wellicht?). In beide gevallen zou je dit moeten kunnen afvangen met een bericht naar de gebruiker
MySQL verbreekt de verbinding als de naam of het wachtwoord niet klopt.quote:Op woensdag 11 mei 2005 19:35 schreef BaggerUser het volgende:
[..]
ik krijg het als er een verkeerde loginnaam of verkeerde wachtwoord wordt opgegeven het is de 1e close die er in zit en er wordt wel een verbinding opgebouwt anders kan die ook niet weten dat de gebruikersnam niet klopthm shit nu begin i kme er toch aan te irriteren
Hiermee krijg ik dus de laatste 8 reacties wel onderelkaar, maar niet zoals ik het helemaal wil.quote:$SQL = "SELECT id, ber_id, tijd, soort FROM `reacties` GROUP BY ber_id ORDER BY tijd DESC LIMIT 0, 8";
$query = mysql_query($SQL);
while ( $result = mysql_fetch_array ( $query ) ) {
$ber_id = $result['ber_id'];
$soort = $result['soort'];
if ($soort == "nieuws") {
$titel = "onderwerp";
}
if ($soort == "evenementen") {
$titel = "evenement";
}
if ($soort == "recepten") {
$titel = "recept";
}
$SQL2 = "SELECT id, $titel, reacties FROM `$soort` WHERE id = '$ber_id'";
$query2 = mysql_query($SQL2);
while ( $result2 = mysql_fetch_array ( $query2 ) ) {
$id = $result2['id'];
$titel2 = $result2[$titel];
$reacties = $result2['reacties'];
echo "<a href=\"?page=$soort&action=lees&id=$id\">" . "$titel2" . "</a>" . " ($reacties)" . "<br>";
}
}
Als ik hem niet group dan kan ik 4 keer dezelfde reactie onderelkaar krijgen.quote:Op woensdag 11 mei 2005 20:23 schreef ikke_ook het volgende:
waarom doe je die group by ber_id in de bovenste querie?
Ik zou t geloof ik allemaal in een array gooien en dan dat array sorteren.
ah ok, klopt.quote:Op woensdag 11 mei 2005 20:27 schreef saban het volgende:
[..]
Als ik hem niet group dan kan ik 4 keer dezelfde reactie onderelkaar krijgen.
Dus stel ik heb 4 keer op ber_id 2 gereageerd, dan zie je 4 keer onder elkaar ber_id 2, terwijl ik alleen de nieuwste wil zien.
Leg uit ?quote:Op woensdag 11 mei 2005 20:26 schreef ikke_ook het volgende:
Ik zou er volgens mij 1 tabel van maken...
Ik zie het nut nog niet van 4 tabellen.
Ah ok, maar is bericht in de reactie tabel hetzelfde als bericht in recepten (als het id overeenkomt?)quote:Op woensdag 11 mei 2005 20:31 schreef saban het volgende:
[..]
Leg uit ?
Ieder tabel heeft meerdere velden, ik laat alleen zien welke ik nodig heb voor de reacties.
Nieuws bevat bijv ook bron & bronlink, daarin tegendeel recepten en evenementen weer niet.
Nee, tuurlijk is het niet hetzelfde, met bericht bij nieuws en bericht bij reactie bedoelde ik:quote:Op woensdag 11 mei 2005 20:34 schreef ikke_ook het volgende:
[..]
Ah ok, maar is bericht in de reactie tabel hetzelfde als bericht in recepten (als het id overeenkomt?)
Dat zou namelijk dubbele, en nutteloze informatie zijn.
Ik zou het persoonlijk zo maken.
De reacties tabel bevat alle berichten, met als een veld ID, en dat ID wijst naar het id uit de andere tabel(Hierdoor weet je bij welk recept/nieuwsitem het bericht hoort), en dan nog een evenement_id die aangeeft bij welk evenement hij hoort.
Helaas ben ik nog niet zover om te kunnen werken met join's.quote:Op woensdag 11 mei 2005 20:39 schreef ikke_ook het volgende:
ah dat verklaart een hoop, ik zie nu ook dat de tabbellen andere kolomnamen hebben dan wat je hierboven zegt, hij heet reacties ipv berichten, das ook een stuk duidelijker
Heb je al gedacht aan een join ofzo?dan kun je het met 1 query oplossen volgens mij
Mja ik hoop dat iemand ermee kan helpenquote:Op woensdag 11 mei 2005 20:44 schreef ikke_ook het volgende:
ze zijn lastig, ik ben er ook niet zo goed in, maar ik weet zeker dat er hier iemand rondloopt die dat even aan je kan vertellenIk zal ook ff kijken of het mij lukt
Tip, gewoon snel hier vragenquote:Op woensdag 11 mei 2005 20:46 schreef saban het volgende:
[..]
Mja ik hoop dat iemand ermee kan helpen
Ik ben al maanden bezig met mijn project, nog steeds niet af, loop steeds tegen zulke problemen op.
Als ik even doorzet heb 'm hoop ik begin juni af![]()
Anyone ?
Meestal (altijd) wil ik er gewoon zelf uitkomen, leer ik ook weer van mijn fouten, als ik ze altijd door andere laat oplossen leer ik het zelf niet echt.quote:Op woensdag 11 mei 2005 20:48 schreef ikke_ook het volgende:
[..]
Tip, gewoon snel hier vragenNiet te lang met problemen blijven zitten, vaak zijn het simpele foutjes die wij dummies niet zo snel zien
Als ik me het nog goed herinneren met een INNER JOINquote:Op woensdag 11 mei 2005 20:16 schreef saban het volgende:
Hmm, ik loop tegen een probleem op.
Ik heb 4 tabellen; Nieuws, Evenementen, Recepten, Reacties.
Nieuws ziet er zo uit:
id, nieuws, bericht, tijd
Evenementen ziet er zo uit:
id, evenement, bericht, tijd
Recepten ziet er zo uit:
id, recepten, bericht, tijd
Reacties ziet er zo uit:
id, ber_id, soort, bericht, tijd
ber_id staat gekoppeld aan de id van de andere 3 tabellen en soort is altijd nieuws/evenementen/recepten.
Nu wil ik de laatste 8 reacties onder elkaar plaatsen.
quote:What does the premature end of script headers error mean?
99% of the time, this is caused by improper permission settings. Make sure you have the proper permissions set on your script (CHMOD 755).
You should also make sure that you are using a text-only editor such as Notepad or UltraEdit to edit your scripts (on a PC) or SimpleText or BBEdit (on a Mac).
Also be sure to also upload your scripts in ASCII and not binary.
Failure to do so will result in your files not executing properly.
Nu werk je alleen met nieuws & reacties, terwijl ik niet alleen de laatste 8 reacties van nieuws wil, maar de laatste 8 reacties van nieuws/evenementen/recepten.quote:Op woensdag 11 mei 2005 22:56 schreef Kapt.Ruigbaard het volgende:
[..]
Als ik me het nog goed herinneren met een INNER JOIN
Iets als:
SELECT nieuws.id, nieuws.bericht, reacties.id, reacties.bericht
FROM nieuws INNER JOIN reacties.ber_id ON nieuws.id
WHERE...
Geloof ik
Ik neem aan dat reacties.ber_id een FK van nieuws.id is?
1 2 3 4 5 6 | <input name="option" type="radio" value="1" CHECKED>Open <input name="option" type="radio" value="0" >Dicht //Hij is nu dus open. $query = "UPDATE cols SET status = ".$_POST['option']." WHERE colid = 'Mont Ventoux'"; |
Dat checked niet in hoofdletters. En als je ook nog XHTML valid wil coden wordt het zo iets:quote:
1 2 | <input name="option" type="radio" value="1" checked="checked" />Open <input name="option" type="radio" value="0" />Dicht |
OO is een manier om zelfgemaakte functies die je vaak gebruikt maar één keer te schrijven, en die op verschillende plaatsen in je code aan te roepen.quote:Op donderdag 12 mei 2005 20:57 schreef ikke_ook het volgende:
Ik wil mij eens gaan wagen aan Object georienteerd PHP. Ik snap er nog heel weinig van, en ik zie het nut ook niet echt. Dus ik dacht als ik nou iets weet om te programmeren waarbij het heel handig is om dat object georienteerd te doen, dan snap ik t misschien wel beter
Dus de vraag : Wat is nou echt iets wat je handig met OO kunt programmeren?
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 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 | <html> <head> <title>FILMVERSLAGEN</title> <style type="text/css"> body { margin-top: 20px; margin-left: 20px; margin-right: 20px; background-color: #FFFFFF; } body, td, th { font-family: verdana, sans-serif; font-size: 10pt; color: #000000; } img { border: 0px; } form { margin: 0px; } .small { font-size: 8pt; } a:link, a:active, a:visited { color: #336699; text-decoration: none; } a:hover { color: #7F0000; text-decoration: underline; } a.administrator:link, a.administrator:active, a.administrator:visited { color: red; } a.moderator:link, a.moderator:active, a.moderator:visited { color: blue; } input, select, textarea { border: 1px solid silver; background-color: #FFFFFF; font-size: 10pt; } textarea { font-family: verdana, sans-serif; width: 100%; } .main { width: 750px; } a.jemoeder { color: #FFFFCC; } .header { border-collapse: collapse; width: 100%; margin-bottom: 10px; } .header td { padding: 0px; vertical-align: bottom; } .header td.logo { text-align: left; width: 100%; } .header td.namebox { text-align: right; } .header td.namebox .title { font-size: 16pt; font-weight: bold; letter-spacing: 1px; color: #336699; border-bottom: 2px solid #ebd6ad; } .header td.namebox .descr { font-style: italic; padding-top: 2px; } .menu { border: 1px solid #336699; background-image: url(images/menubg.gif); background-repeat: repeat-x; background-color: #E5E5E5; text-align: left; padding-top: 4px; padding-bottom: 4px; margin-bottom: 20px; font-size: 9pt; } .menu a { padding-left: 10px; padding-right: 10px; padding-top: 4px; padding-bottom: 4px; border-right: 1px solid #336699; } .menu a:hover { background-image: url(images/menubg2.gif); background-repeat: repeat-x; background-color: #FFFFFF; text-decoration: none; border-right: 1px solid #336699; } .maintable { border-collapse: collapse; border-left: 1px solid #336699; border-right: 1px solid #336699; border-bottom: 2px solid #336699; width: 100%; margin-bottom: 20px; } .maintable th { color: #EBD6AD; font-weight: bold; background-color: #336699; background-image: url(images/tableheadbg.gif); background-position: top; background-repeat: repeat-x; padding: 6px; padding-top: 3px; padding-bottom: 3px; border-left: 1px solid #336699; border-top: 1px solid #336699; } .maintable td { background-color: #EFEFEF; padding: 6px; text-align: left; border-left: 1px solid #336699; border-top: 1px solid #336699; vertical-align: middle; } .maintable td.forumcat { font-weight: bold; letter-spacing: 1px; background-image: url(images/menubg.gif); background-repeat: repeat-x; background-color: #E5E5E5; } .maintable td.td1 { background-color: #EFEFEF; } .maintable td.td2 { background-color: #E5E5E5; } .linkbar { color: #323232; margin-bottom: 2px; font-size: 8pt; } .copyright { color: #323232; margin-bottom: 20px; font-size: 8pt; } </style> </head> <body> <? //hier wordt geconnect met de database om alle gegevens van de film op te slaan if ($_POST["verzending"] == 1) { mysql_connect('localhost','root',''); mysql_select_db('films'); $query = "INSERT INTO films (id,naam,jaar,ster,acteurs,regis,info,beoordeling) "; $query .= "VALUES ('"; $query .= $_POST["id"] ."', '" ; $query .= $_POST["naam"] ."', '" ; $query .= $_POST["jaar"] ."', '" ; $query .= $_POST["ster"] ."', '" ; $query .= $_POST["acteurs"] ."', '" ; $query .= $_POST["regis"] ."', '" ; $query .= $_POST["info"] ."', '" ; $query .= $_POST["beoordeling"] ."');" ; mysql_query($query) or die(mysql_error()); //hier wordt geconnect met de database om de acteurs die ook zijn ingevoerd in een lange string op te kunnen slaan //if ($_POST["verzending"] == 1) { mysql_connect('localhost','root',''); mysql_select_db('films'); //hier worden de gegevens van alle acteurs in de database opgehaald $resultaat1=mysql_query("SELECT * FROM acteurs"); while(list($id,$naam,$info)=mysql_fetch_row($resultaat1)){ //--- echo "dit is de naam van de acteurs in de database = ".$naam."<BR>"; //hier worden de acteurs die zijn ingevoerd in een string geknipt naar een array $acteurs = $_POST["acteurs"]; $acteurs = str_replace(", ", " als ", $acteurs); $act = explode(" als ", $acteurs); //hier is de forloop die elke acteur 1 x gebruikt binnen deze loop for ($a=0; $a<count($act); $a+=2){ //--- //$a = 0; //while (isset($act[$a])) { //$a = $a+2; $actor = $act[$a]; echo " dit is actor $actor, oftewel $a <BR>";//--------------------------------------------------------------------- //als een naam uit de geknipte string overeen komt met de naam uit de database wordt de database geupdate $resultaat1=mysql_query("SELECT * FROM acteurs"); while(list($id,$naam,$info)=mysql_fetch_row($resultaat1)){ if ($actor == $naam) { $query = 'UPDATE `acteurs` SET `info` = \''.$_POST[naam].'\' WHERE `naam` = \''.$actor. ',' .'\' LIMIT 1;'; mysql_query($query) or die(mysql_error()); echo "$actor bestaat al en wordt geupdate"; }else{ //anders wordt er een nieuwe naam aangemaakt in de database $query = "INSERT INTO acteurs (naam,info) "; $query .= "VALUES ('"; $query .= $actor ."', '" ; $query .= $_POST["naam"] ."');" ; mysql_query($query) or die(mysql_error()); } } } } echo "Klik <a href='index.php'>hier</a> om terug te gaan daar de hoofdpagina"; } else { ?> <form method="POST"> <table width="100%" height="49" border="0" class="maintable"> <tr class="tablehead"> <th height="47" class="tablehead"><font size="+1">Films Invoeren</font></th> </tr> </table> <table width="100%" border="1"> <tr> <td width="22%"><input type="text" size="20" name="naam"></td> <td width="78%">Naam van de Film</td> </tr> <tr> <td><select name="jaar" size="1"> <option>1994</option> <option>1995</option> <option>1996</option> <option>1997</option> <option>1998</option> <option>1999</option> <option>2000</option> <option>2001</option> <option>2002</option> <option>2003</option> <option>2004</option> <option>2005</option> <option>2006</option> </select></td> <td>Year of Release</td> </tr> <tr> <tr> <td><select name="ster" size="1"> <option>0</option> <option>1</option> <option>2</option> <option>3</option> <option>4</option> <option>5</option> <option>0.5</option> <option>1.5</option> <option>2.5</option> <option>3.5</option> <option>4.5</option> </select></td> <td>Ster(ren)</td> </tr> <tr> <td><input type="text" size="20" name="acteurs"></td> <td>Naam van Acteur(s)/Actrice(s)</td> </tr> <tr> <td><input type="text" size="20" name="regis"></td> <td>Naam van Regiseur</td> </tr> </table> <p> </p> <table width="100%" height="126" border="0" class="maintable"> <tr class="tablehead"> <th class="tablehead">Samenvatting van de Film:</th> </tr> <tr> <td><textarea name="info" rows="6" cols="32"></textarea></td> </tr> </table> <p> </p> <table width="100%" height="126" border="0" class="maintable"> <tr class="tablehead"> <th class="tablehead">Beoordeling over de Film:</th> </tr> <tr> <td><textarea name="beoordeling" rows="2" cols="32"></textarea></td> </tr> </table> <table width="100%" border="0"> <tr> <td align="center"><input type="submit" name="verzenden" value="Archiveren"></td> </tr> </table> <p> </p> <p> </p> <p><input type="hidden" name="verzending" value="1"></p> </form> <? } // }4 ?> </td></tr> </table> </body> </html> |
Ja maar dat doe ik nu ook al met die functiesquote:Op donderdag 12 mei 2005 22:05 schreef Ridocar het volgende:
[..]
OO is een manier om zelfgemaakte functies die je vaak gebruikt maar één keer te schrijven, en die op verschillende plaatsen in je code aan te roepen.
Het scheelt typwerk en je code is overzichtelijker.
Je kunt dan de functies in een apart includebestand zetten en deze aanroepen als je ze nodig hebt.
Wat heb je zelf al geprobeerd? Hoe heb je ge-debugged?quote:Op donderdag 12 mei 2005 22:08 schreef Pauluzz_U5 het volgende:
[ code verwijderd ]
Dit is dus mijn script, de bedoeling is dat ik een film toevoeg aan de database en daarbij ook acteurs toevoeg, een voorbeeld van een invulling zou zijn: "fok als forum, Arnold Swets als pipo de clown" en dan zou hij of die 2 toevoegen aan de database, of die 2 (of 1) updaten als ze al reeds in de acteur database staan.
Dit gaat dus fout, blijkbaar, hij voert het niet altijd goed in , en het updaten doet hij helemaal bagger, wie kan mij helpen want ik kijk er nu al wel een paar weken tegenaan en heb van alles geprobeerd.
(p.s. let niet op sommige baggere manieren om php te gebruiken, ik snap wel dat het vast veel kleiner en sneller kan, maar goed)
thanks (ikk_ook ookquote:Op donderdag 12 mei 2005 18:25 schreef DutchBlood het volgende:
[..]
Dat checked niet in hoofdletters. En als je ook nog XHTML valid wil coden wordt het zo iets:
[ code verwijderd ]
Ikke, daar heb je een donders goed punt, ik zal het proberen iets overzichtelijker neer te zetten met voorbeelden en uitkomsten:quote:Op donderdag 12 mei 2005 22:13 schreef ikke_ook het volgende:
[..]
Wat heb je zelf al geprobeerd? Hoe heb je ge-debugged?
probeer tussen resultaten te printen, op die manier kun je misschien zien wat er fout gaat, en wat gaat er fout met updaten?
Ik denk niet dat er hier iemand is die zin heeft om dat allemaal door te gaan lezen en de fout voor jou te gaan zoeken![]()
Dus probeer kleine stukjes code, en als je er dan niet uit komt, post je een klein stukje code, en niet tig regels
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 | //hier wordt geconnect met de database om alle gegevens van de film op te slaan die ik hieronder in met voorbeelden heb aangegeven if ($_POST["verzending"] == 1) { mysql_connect('localhost','root',''); mysql_select_db('films'); $query = "INSERT INTO films (id,naam,jaar,ster,acteurs,regis,info,beoordeling) "; $query .= "VALUES ('"; $query .= $_POST["id"] ."', '" ; //bijv. 1 $query .= $_POST["naam"] ."', '" ; //bijv. Lord of the Rings $query .= $_POST["jaar"] ."', '" ; //bijv. 2004 $query .= $_POST["ster"] ."', '" ; //nvt $query .= $_POST["acteurs"] ."', '" ; //bijv. fok als forum, simon als king Salomo $query .= $_POST["regis"] ."', '" ; //nvt $query .= $_POST["info"] ."', '" ; //nvt $query .= $_POST["beoordeling"] ."');" ;//nvt mysql_query($query) or die(mysql_error()); //hier wordt geconnect met de database om de acteurs die ook zijn ingevoerd in een lange string op te kunnen slaan mysql_connect('localhost','root',''); mysql_select_db('films'); //hier worden de gegevens van alle acteurs die al zijn ingevoerd en in de database staan opgehaald $resultaat1=mysql_query("SELECT * FROM acteurs"); while(list($id,$naam,$info)=mysql_fetch_row($resultaat1)){ //de naam is in dit geval de acteurs die al bestaan //hier worden de acteurs die zijn ingevoerd in een string geknipt naar een array $acteurs = $_POST["acteurs"]; $acteurs = str_replace(", ", " als ", $acteurs); $act = explode(" als ", $acteurs); for ($a=0; $a<count($act); $a+=2){ $actor = $act[$a]; // actor veranderd elke keer naar een andere waarde als hij de vergelijking hieronder heeft gehad, in dit geval als $a == 0; ==>> $actor == fok; // actor veranderd elke keer naar een andere waarde als hij de vergelijking hieronder heeft gehad, in dit geval als $a == 2; ==>> $actor == simon; //als een naam uit de geknipte string overeen komt met de naam uit de database wordt de database geupdate (hier zit de fout ergens) $resultaat1=mysql_query("SELECT * FROM acteurs"); while(list($id,$naam,$info)=mysql_fetch_row($resultaat1)){ if ($actor == $naam) { $query = 'UPDATE `acteurs` SET `info` = \''.$_POST[naam].'\' WHERE `naam` = \''.$actor. ',' .'\' LIMIT 1;'; mysql_query($query) or die(mysql_error()); echo "$actor bestaat al en wordt geupdate"; }else{ //anders wordt er een nieuwe naam aangemaakt in de database $query = "INSERT INTO acteurs (naam,info) "; $query .= "VALUES ('"; $query .= $actor ."', '" ; $query .= $_POST["naam"] ."');" ; mysql_query($query) or die(mysql_error()); } } } } echo "Klik <a href='index.php'>hier</a> om terug te gaan daar de hoofdpagina"; |
dat checked geeft aan welke button aangevinkt is (default) Dus je leest eerst uit je database of hij open of dicht is, en daar zet je dan checked bijquote:Op donderdag 12 mei 2005 22:28 schreef achterop23 het volgende:
[..]
thanks (ikk_ook ook). maar nu post ik alleen toch? ik wil dat de buttons zo gaan staan zoals het ook in de database staat. daarna pas ik het eventueel aan en update de database
Ten eerste, je hoeft maar 1x met je database te connecten in 1 file.quote:Op donderdag 12 mei 2005 22:31 schreef Pauluzz_U5 het volgende:
[..]
Ikke, daar heb je een donders goed punt, ik zal het proberen iets overzichtelijker neer te zetten met voorbeelden en uitkomsten:
[ 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 | <?php //hier wordt geconnect met de database om alle gegevens van de film op te slaan die ik hieronder in met voorbeelden heb aangegeven if ($_POST["verzending"] == 1) { mysql_connect('localhost','root',''); mysql_select_db('films'); $query = "INSERT INTO films (id,naam,jaar,ster,acteurs,regis,info,beoordeling) "; $query .= "VALUES ('"; $query .= $_POST["id"] ."', '" ; //bijv. 1 $query .= $_POST["naam"] ."', '" ; //bijv. Lord of the Rings $query .= $_POST["jaar"] ."', '" ; //bijv. 2004 $query .= $_POST["ster"] ."', '" ; //nvt $query .= $_POST["acteurs"] ."', '" ; //bijv. fok als forum, simon als king Salomo $query .= $_POST["regis"] ."', '" ; //nvt $query .= $_POST["info"] ."', '" ; //nvt $query .= $_POST["beoordeling"] ."');" ;//nvt mysql_query($query) or die(mysql_error()); //hier wordt geconnect met de database om de acteurs die ook zijn ingevoerd in een lange string op te kunnen slaan //hier worden de gegevens van alle acteurs die al zijn ingevoerd en in de database staan opgehaald $resultaat1=mysql_query("SELECT * FROM acteurs"); while(list($id,$naam,$info)=mysql_fetch_row($resultaat1)){ //de naam is in dit geval de acteurs die al bestaan //hier worden de acteurs die zijn ingevoerd in een string geknipt naar een array $acteurs = $_POST["acteurs"]; $acteurs = str_replace(", ", " als ", $acteurs); $act = explode(" als ", $acteurs); for ($a=0; $a<count($act); $a+=2){ $actor = $act[$a]; // actor veranderd elke keer naar een andere waarde als hij de vergelijking hieronder heeft gehad, in dit geval als $a == 0; ==>> $actor == fok; // actor veranderd elke keer naar een andere waarde als hij de vergelijking hieronder heeft gehad, in dit geval als $a == 2; ==>> $actor == simon; //als een naam uit de geknipte string overeen komt met de naam uit de database wordt de database geupdate (hier zit de fout ergens) $resultaat1=mysql_query("SELECT * FROM acteurs"); while(list($id,$naam,$info)=mysql_fetch_row($resultaat1)){ if ($actor == $naam) { $query = 'UPDATE `acteurs` SET `info` = \''.$_POST[naam].'\' WHERE `naam` = \''.$actor. ',' .'\' LIMIT 1;'; mysql_query($query) or die(mysql_error()); echo "$actor bestaat al en wordt geupdate"; }else{ //anders wordt er een nieuwe naam aangemaakt in de database $query = "INSERT INTO acteurs (naam,info) "; $query .= "VALUES ('"; $query .= $actor ."', '" ; $query .= $_POST["naam"] ."');" ; mysql_query($query) or die(mysql_error()); } } } } echo "Klik <a href='index.php'>hier</a> om terug te gaan daar de hoofdpagina"; ?> |
ik snap hemquote:Op donderdag 12 mei 2005 22:33 schreef ikke_ook het volgende:
[..]
dat checked geeft aan welke button aangevinkt is (default) Dus je leest eerst uit je database of hij open of dicht is, en daar zet je dan checked bij
alles gaat hier fout, ik krijg een lege site... kun je ff vertelle wat je hebt aangepast (ik zie het zo nie)quote:Op donderdag 12 mei 2005 22:54 schreef ikke_ook het volgende:
ja ik ben nogal van de smilies
-antislowchat edit-
Is het trouwens een parse error Pauluzz_U5? of wat gaat er nou precies mis?
anders probeer je zelf nog wat uit.quote:Op vrijdag 13 mei 2005 09:41 schreef saban het volgende:
Nog steeds niemand heeft een nette query voor me? Flauw
Hou je geblaat even voor je zelf, wil je.quote:Op vrijdag 13 mei 2005 10:09 schreef hornage het volgende:
[..]
anders probeer je zelf nog wat uit.
Lees ff wat zooi over de joins, wat proberen enzo, komt het vanzelf goed
Wat heb je op dit moment dan?quote:Op vrijdag 13 mei 2005 13:11 schreef saban het volgende:
[..]
Hou je geblaat even voor je zelf, wil je.
Er komt niks vanzelf goed, het komt goed als je het kan, niet vanzelf.
Ja ik heb het geprobeerd, ja ik heb er over gelezen, ja ik begrijp het nu iets beter, maar nee ik kom er niet uit.
Een aantal posts terug heb ik alles staan, ook met mn database/tabellen uitgelegt.quote:Op vrijdag 13 mei 2005 13:33 schreef Kapt.Ruigbaard het volgende:
[..]
Wat heb je op dit moment dan?
Post je querie(s) eens.
Je hebt toch dingen zelf geprobeerd?quote:Op vrijdag 13 mei 2005 13:36 schreef saban het volgende:
[..]
Een aantal posts terug heb ik alles staan, ook met mn database/tabellen uitgelegt.
Het werkt wel, maar niet zoals ik wil. Wat klopt er niet dan ?quote:$SQL = "SELECT id, ber_id, tijd, soort FROM `reacties` GROUP BY ber_id ORDER BY tijd DESC LIMIT 0, 8";
$query = mysql_query($SQL);
while ( $result = mysql_fetch_array ( $query ) ) {
$ber_id = $result['ber_id'];
$soort = $result['soort'];
if ($soort == "nieuws") {
$titel = "onderwerp";
}
if ($soort == "evenementen") {
$titel = "evenement";
}
$SQL2 = "SELECT id, $titel, reacties FROM `$soort` WHERE id = '$ber_id'";
$query2 = mysql_query($SQL2);
while ( $result2 = mysql_fetch_array ( $query2 ) ) {
$id = $result2['id'];
$titel2 = $result2[$titel];
$reacties = $result2['reacties'];
echo "$id" . "$titel2" . "<br>";
}
}
Dat is even uit mijn hoofd wat ik geprobeerd had.quote:SELECT reacties.id, reacties.ber_id, reacties.tijd, nieuws.id, nieuws.bericht, evenementen.id, evenementen.evenement FROM reacties,nieuws,evenementen GROUP BY reacties.ber_id DESC LIMIT 0,8
Over welke query hebben we het nuquote:Op vrijdag 13 mei 2005 13:55 schreef Kapt.Ruigbaard het volgende:
Waarom sorteer je in je query niet op tijd?
Ik heb even snel getest, en volgens mij is dit de goede query:quote:Op vrijdag 13 mei 2005 13:49 schreef saban het volgende:
Ik heb 3 tabellen.
Nieuws, Evenementen, Reacties.
Ieder nieuws bericht wordt opgeslagen in 'Nieuws' met een uniek ID.
Ieder evenement wordt opslagen in 'Evenementen' met een uniek ID.
Ieder reactie op een nieuws bericht of op een evenement wordt opgeslagen in 'Reacties'.
Hoe het wordt opgeslagen heb ik een voorbeeld van;
Tabel Nieuws:
id | bericht | tijd
1 | fok down voor 2 uur | 20050511203821
2 | bush in nederland | 20050510175123
Tabel Evenementen:
id | evenement | tijd
1 | Feest in Delft | 20050410145101
3 | Carnaval Rdam | 20050411015145
Tabel Reacties:
id | ber_id | bericht | soort | tijd
1 | 2 | wat moet bush in nederland | nieuws | 20050501014521
2 | 1 | Nah, delft is veelste ver | evenementen | 20050502015132
3 | 1 | Naar t feest in delft kom ik echt wel | evenementen | 20050502035545
Ik wil de laatste 8 reacties uitlezen uit 'Reacties'.
Daarvoor heb ik een script;
[..]
Het werkt wel, maar niet zoals ik wil. Wat klopt er niet dan ?
Bijvoorbeeld ik heb 5 reacties op een nieuwsbericht met ID 1.
Daarna heb ik 3 keer gereageert op een nieuwsbericht met ID 3.
Daarna 3 keer gereageert op een evenement met ID 6.
Daarna nog 2 keer gereageert op een nieuwsbericht met ID 1.
Dan moet ik de laatste reactie van nieuwsbericht met ID 1 zien, daarna de latste reactie op 't evenement met ID 6, daarna de reactie op nieuwsbericht met ID 3.
Alleen dat gebeurd dus niet.
Ik heb ook zoets geprobeerd als;
[..]
Dat is even uit mijn hoofd wat ik geprobeerd had.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php $sql1 = "SELECT reacties.id,reacties.bericht,nieuws.id,nieuws.bericht,evenementen.id,evenementen.evenement FROM nieuws,evenementen LEFT JOIN reacties ON (reacties.ber_id = nieuws.id OR reacties.ber_id = evenementen.id) GROUP BY reacties.id ORDER BY reacties.tijd DESC"; $query1 = mysql_query($sql1) or die(mysql_error()); while ( $result1 = mysql_fetch_array ( $query1 ) ) { $id = $result1[0]; $titel2 = $result1[1]; echo "$id" . "$titel2" . "<br>"; } ?> |
Hier werkt het gewoonquote:Op vrijdag 13 mei 2005 14:38 schreef saban het volgende:
MouseInteractive;
Bijna, maar helaas dat werkt ook niet.
Hij GROUP't ze niet, waarschijnlijk omdat je GROUP BY reacties.id doet ipv reacties.ber_id, maar dan werkt het alsnog niet.
1 2 3 4 | id ber_id bericht soort tijd 1 2 wat moet bush in nederland nieuws 20050501014521 2 1 nah, delft is veelste ver evenementen 20050429015132 3 1 naar het feest in delft kom ik echt wel evenementen 20050503015245 |
1 2 3 | 3naar het feest in delft kom ik echt wel 1wat moet bush in nederland 2nah, delft is veelste ver |
Hmm ik kom er verder ook niet helemaal uit. Ik denk dat je wel op de goede weg zit. Speel eens wat met dat Group by en Order by. Misschien kom je er dan ineens uit.quote:Op vrijdag 13 mei 2005 14:46 schreef saban het volgende:
Als je op ID 1 reageert, daarna op ID 2 en daarna weer op ID 1.
Moet het NIET dit zijn:
Reactie ID 1
Reactie ID 2
Reactie ID 1
Het moet dan zijn
Reactie ID 1
Reactie ID 2
Wanneer er dubbele ID's zijn, zoals nu op ID 1, moet hij die grouperen.
Ik ben er al een tijdje mee bezig, maar kom er steeds niet uit, dus vraag ik het ook niet. Misschien ben ik wel te onduidelijk. Ik zal vanavond wat screenshots maken met verschillende queriesquote:Op vrijdag 13 mei 2005 14:58 schreef MouseInteractive het volgende:
[..]
Hmm ik kom er verder ook niet helemaal uit. Ik denk dat je wel op de goede weg zit. Speel eens wat met dat Group by en Order by. Misschien kom je er dan ineens uit.
Wat ik me net bedenk: Je kunt ook in de tabel met nieuwsberichten en evenementen een apart veld maken, genaamd "last_reply" (of zoiets). En dan zorg je ervoor dat, elke keer als er een reactie wordt geplaatst, de timestamp daarvan ook wordt ingevoegd in de nieuwstabel bij het betreffende bericht d.m.v UPDATE. En dan is het vrij makkelijk om te kijken op welk bericht het laatste is gereageerd.quote:Op vrijdag 13 mei 2005 14:59 schreef saban het volgende:
[..]
Ik ben er al een tijdje mee bezig, maar kom er steeds niet uit, dus vraag ik het ook niet. Misschien ben ik wel te onduidelijk. Ik zal vanavond wat screenshots maken met verschillende queries
Slimquote:Op vrijdag 13 mei 2005 15:52 schreef Roönaän het volgende:
beter om twee velden te nemen, last_reply_date en last_reply_id.. kan je meteen linken naar de reactie.
In welke tabel bedoelen jullie precies?quote:Op vrijdag 13 mei 2005 15:52 schreef Roönaän het volgende:
beter om twee velden te nemen, last_reply_date en last_reply_id.. kan je meteen linken naar de reactie.
1 | SELECT name, value FROM foo GROUP BY name |
1 | SELECT name, max(value) FROM foo GROUP BY name |
1 2 | SELECT name, value FROM foo WHERE name IN (SELECT name FROM foo GROUP BY name) |
Hmm dat wist ik niet. Kijk, ik ben geen SQL expertquote:Op vrijdag 13 mei 2005 16:55 schreef SuperRembo het volgende:
@mouseinteractive: de group by query's die jij geeft worden wel ge-accepteerd door MySql, maar ze zijn wel fout. De gegevens die je terug krijgt zijn onvoorspelbaar.
In nieuws en evenementen.quote:Op vrijdag 13 mei 2005 16:33 schreef saban het volgende:
[..]
In welke tabel bedoelen jullie precies?
Maar zo heb je toch altijd maar 1 record ?
Ik wil bijv de laatste 10 records ..
quote:Parse error: parse error, expecting `T_PAAMAYIM_NEKUDOTAYIM' or `'('' in d:\wwwroot\mvc\include\PageView.php on line 61
je kunt de dat doen met een if-statement. Als eerste vraag je de site op waar je opzit, en als dit overeenkomt met bijv. bewerk.php dan krijg je bovenaan te zien: mijn site - admin - bewerken, tenminste, zo zou ik het doenquote:Op vrijdag 13 mei 2005 19:29 schreef Kapt.Ruigbaard het volgende:
Ik vraag me af hoe ik dit het beste in php kan maken.
Ik kom zeg maar op een menu uit, laten we zeggen de pagina Beheer.
Ik heb daar de optie om een pagina aan te klikken zodat deze ge-eddit kan worden. De pagina Bewerken.
Nu wil ik met php dat als ik op de pagina Bewerken uit kom dat daar komt te staan: Beheer --> Bewerken --> en dan de titel van de pagina die bewerkt moet worden.
Iemand enig idee hoe je zoiets kan maken?
Je bedoelt vergelijken met de header van een pagina?quote:Op vrijdag 13 mei 2005 19:42 schreef Pauluzz_U5 het volgende:
[..]
je kunt de dat doen met een if-statement. Als eerste vraag je de site op waar je opzit, en als dit overeenkomt met bijv. bewerk.php dan krijg je bovenaan te zien: mijn site - admin - bewerken, tenminste, zo zou ik het doen![]()
je hebt helemaal gelijk Nevermindquote:Op vrijdag 13 mei 2005 20:42 schreef Nevermind het volgende:
http://nl2.php.net/in_array
of http://nl2.php.net/manual/en/function.array-search.php
-edit-
timing
1 2 3 4 5 6 7 8 | $resultaat1=mysql_query("SELECT * FROM acteurs"); while(list($id,$naam,$info)=mysql_fetch_row($resultaat1)){ $array = array(naam); } if (in_array($actor, $array)) { echo "de $actor bestaat al"; }else{ echo "de $actor bestaat nog niet" |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <?php $locatie = $_SERVER['REQUEST_URI']; if ($locatie = "/pagina_beheer.php") { $locatie = "Pagina beheer "; } else { $locatie = "Waar zit je? "; } if ($locatie = "/delete.php") { $locatie = "Pagina verwijderen "; } else { $locatie = "Waar zit je? "; } echo $locatie; ?> |
hmmquote:Op zaterdag 14 mei 2005 22:30 schreef SuperRembo het volgende:
Als je het in flash maakt dan kan je de gegevens het beste doorgeven via xml. Het leuke van flash is dat je dan bijvoorbeeld een zoom functie in kan bouwen. Het is denk ik wel veel werk.
Zonder flash kan je met html+css een aantal transparante plaatjes met de routes over een kaart heen leggen. Je moet dan de route-plaatjes absoluut positioneren ten opzichte van de kaart.
Je kan ook met gd de transparante routes over een kaart leggen. Dan krijg je als bezoeker 1 plaatje te zien. Met gd kan je ook de routes met lijntjes tekenen.
Het ligt er ook een beetje aan hoe je de routeinformatie nu beschikbaar hebt.
Thnx het is gelukt.quote:Op zaterdag 14 mei 2005 20:58 schreef SuperRembo het volgende:
Je gebruikt = in plaats van ==.Verder zou ik eenss naar het switch statement kijken.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <? $string = $_SERVER['REQUEST_URI']; $var = "$string"; $var = explode("?", $string); "array 1= " . $var['0']; $locatie = $var['0']; switch ($locatie) { case '/pagina_beheer.php': echo 'Pagina beheer '; break; case '/delete.php': echo 'Pagina verwijderen '; break; case '/bewerken.php': echo 'Pagina bewerken '; break; } ?> |
hehe idd veel sneller zo dan elke keer met die if / else shit..quote:Op zondag 15 mei 2005 00:59 schreef Kapt.Ruigbaard het volgende:
[..]
Thnx het is gelukt.
Mocht iemand interesse hebben in de code:
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 12 13 | <? switch (basename($_SERVER['PHP_SELF'])) { case 'pagina_beheer.php': echo 'Pagina beheer '; break; case 'delete.php': echo 'Pagina verwijderen '; break; case 'bewerken.php': echo 'Pagina bewerken '; break; } ?> |
quote:Op zondag 15 mei 2005 10:38 schreef Darkomen het volgende:
Ik moet niet de minimale id hebben maar het id van het veld met de laagste iets
dus ik wil als resultaat id 3 te zien krijgen...
1 2 3 4 | SELECT id FROM mytable ORDER BY value LIMIT 1 |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |