SPOILEROm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.Sigmoid: f(x) = 1 / (1 + 2.718281828458# ^ -x)
1 2 3 4 5 6 7 8 9 10 11 12 | <?php $naam = $_POST['naam']; $email = $_POST['email']; $onderwerp = $_POST['onderwerp']; $tekst = $_POST['tekst']; $tekstv .= "Beste, $naamrnJe E-mail is verstuurd, de ontvanger beantwoord de vraag zo snel mogelijk.rnrnJe vraag:rnrn"; $tekstv .= "$tekstrnrnMet vriendelijke groet,rnde DFMS crewrnrnDit mailtje is automatisch verzonden. Reageren hierop heeft dus geen zin."; $teksto .= "De volgende vraag is aan je gesteld via het contact formulier op de DFMS.rnrn"; $teksto .= "$tekstrnrnGegevens:rnrn"; $teksto .= "Naam: $naam rn"; $teksto .= "E-mail: $emailrn"; ?> |
1 2 3 4 | <?php mail($ontv,"Test",$teksto,$oheader); mail($email,"Je vraag aan de DFMS crew",$tekstv,$vheader); ?> |
Je moet de mail functie niet 2 keer aanroepen maar de ontvangers in een string zetten.quote:Op zaterdag 8 januari 2005 13:35 schreef MrDoegewoon het volgende:
Ik heb het volgende
[ code verwijderd ]
(die rnrn in de zinnen zijn rn)
Maar het probleem, hij stuurt nu 2 mailtjes. 1 voor de persoon die het formulier heeft ingevuld en de andere naar de ontvanger.
Nu gaat alles goed op de tekst na, de invuller van het formulier krijgt gewoon zijn tekst goed opgemaakt, maar de ontvanger krijgt een tekst waar elke enter verdubbeld wordt dus
Test
Test
Wordt
Test
Test
[ code verwijderd ]
En dit is de manier waarop ik de mail() functie gebruik, maar die lijkt mij gewoon goed.
1 2 3 4 5 | /* recipients */ $to = "mary@example.com" . ", " ; // note the comma $to .= "kelly@example.com"; mail($to, $subject, $message, $headers); |
1 2 3 4 5 6 | <?php function functie() { $var = 'asas'; global $var; } ?> |
Include de rest van je site in Invision. Zie bv. http://forum.destukkenjagers.nl. Daar hebik gewoon de titelbalk in Invision gestopt.quote:Op maandag 10 januari 2005 10:21 schreef Bass het volgende:
Hallo mensen
Ik ben sinds een tijdje bezig met php en zit nu op het niveau van dat ik forum's gallery's en cms's wel aan de gang kan krijgen maar weet nog bijster weinig van coding zelf. Nu wil ik zelf een website maken wat eigenlijk niet meer is dan een samenhangsel van een forum, gallery, en newspost systeem. Het makkelijkste hiervoor leek me om mijn site te ontwerpen en vervolgens steeds met een include command deze scripts hierin te voegen.
Nu is het echter zo dat bijvoorbeeld Invision Power Board meer bestanden gebruikt dan enkel een index.phpEn om nou voor ieder verschillend bestand een eigen ontworpen pagina te geven lijkt me wel heel veel werk.
Heeft iemand hier een oplossing voor ? Thx
Dat gaat niet werken... want dat board (of wat het ook is) roept steeds andere pagina's aan. Dus dan zal je al die aanroepen allemaal moeten afvangen en daar je eigen pagina met dat board erin moeten maken.quote:Op maandag 10 januari 2005 13:22 schreef Bass het volgende:
Maar dat is dan juist het tegenovergestelde van wat ik wil. Ik wil graag dat ik mn scripts in mn eigen pagina kan zetten, in plaats van dat ik mn header en footer in de scripts verwerk
Nobody?quote:Op maandag 10 januari 2005 00:08 schreef Big_Fat_Wombat het volgende:
Hoi, ik ben een echte php dummie weet er dus geen reet van
anyway... voor site moet 'k een knopje een site laten openen... zover staat er dit:
//-------------------------------------------------------------------------------
function displayPictures() {
echo "The Pictures Section is Under Construction";
} //End of function displayPictures()
//-------------------------------------------------------------------------------
komt op de site ook alleen dat regeltje te zien...
maar als dus op die button geklikt wordt moet ie naar een andere pagina gaan...
hoe en waar moet 'k dat doen?
of ligt 't niet zo simpel?![]()
1 2 3 4 5 6 7 8 9 10 11 12 | <?php Header("Content-type: image/png"); $image = ImageCreateFromPng("button.png"); $zwart = ImageColorAllocate($image, 0, 0, 0); $lbase = 6; $cbase = 125; ImageString($image, 3, $cbase, $lbase, $aantal, $zwart); ImageTTFText($image, 15, 0, 20, 25,0, "arial.ttf", $tekst); ImagePNG($image); ImageDestroy($image); ?> |
Met een TrueType font zou ik het zo niet weten, maar met de standaard GD fonts zoiets:quote:Op dinsdag 11 januari 2005 12:23 schreef jeroen-heeft-koffie-nodig het volgende:
[ code verwijderd ]
Ok heb heb dat, maar nu wil ik dat de tekst MIDDEN in het plaatje komt... iemand een idee?![]()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?php $font = 4; $string = 'De tekst die je wilt weergeven'; $y = imagefontheight($font); $x = strlen($string)*imagefontwidth($font); //Je weet nu hoeveel px de tekst is $breedte = 500; $hoogte = 500; //Defineer de breedte en hoogte even in variabelen $midden = $breedte/2; //Midden van het plaatje, x-cor daarvan $x = $x/2; $x = $midden-$x; $midden = $hoogte/2; $y = $y/2; $y = $midden-$y; $x = round($x,0); $y = round($y,0); ?> |
Ja, die site ken ikquote:Op donderdag 13 januari 2005 01:16 schreef Chandler het volgende:
Sorry maar een .zip bestandje zou illigaal zijn, probeer het eens op www.phpfreakz.nl, daar staan veel beginners zaken.
probeer dit boek eens: http://www.academicservic(...)n%2F9039522642%2Ejspquote:Op donderdag 13 januari 2005 01:21 schreef Joipoidoipoipoi het volgende:
[..]
Ja, die site ken ik, maar ik vind het prettiger om het echt stap voor stap vanaf het begin af aan uit een boek te leren, in plaats van aan de hand van een aantal tutorials.
Die tutorials daar zijn nog iets te hoog gegrepen voor me! (Zoals ik in bovenstaande post net gewijzigd heb, heb ik ook pas sinds een jaar een computer thuis, HTML heb ik nu redelijk onder de knie en nu wil ik dus graag PHP gaan leren, maar omdat ik nog niet zo lang een computer heb, zijn veel gebruikte termen in die tutorials vreemd voor mij en in PHP voor dummies wordt echt álles, tot de meest simpele dingen aan toe, uitgelegd
.)
thanks, ik snap er de balle van maar ga het toch ff proberenquote:Op vrijdag 14 januari 2005 02:30 schreef sylvesterrr het volgende:
Dat heeft niks met PHP te maken, maar vooruit: http://httpd.apache.org/docs/mod/mod_rewrite.html#RewriteRule
1 2 3 4 5 6 7 8 | // menu indeling CREATE TABLE `menu` ( `id` tinyint(4) NOT NULL auto_increment, `title` varchar(32) NOT NULL default '', `sort` tinyint(1) NOT NULL default '0', KEY `id` (`id`) ) TYPE=MyISAM; |
1 2 3 4 5 6 7 8 9 10 | CREATE TABLE `document` ( `id` int(11) NOT NULL auto_increment, `menu_id` tinyint(4) NOT NULL default '0', `type` enum('t','c') NOT NULL default 't', `adddate` datetime NOT NULL default '0000-00-00 00:00:00', `title` varchar(64) NOT NULL default '', `text` text NOT NULL, `views` int(11) NOT NULL default '0', KEY `id` (`id`) ) TYPE=MyISAM; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | // bestanden CREATE TABLE `document_files` ( `id` int(11) NOT NULL auto_increment, `document_id` int(11) NOT NULL default '0', `title` varchar(64) NOT NULL default '', `text` text NOT NULL, `downloads` int(11) NOT NULL default '0', KEY `id` (`id`) ) TYPE=MyISAM; // links CREATE TABLE `document_links` ( `id` int(11) NOT NULL auto_increment, `document_id` int(11) NOT NULL default '0', `title` varchar(64) NOT NULL default '', `link` varchar(128) NOT NULL default '', KEY `id` (`id`) ) TYPE=MyISAM; |
Geef 15 euro uit voor PHP zonder stress.quote:Op donderdag 13 januari 2005 01:21 schreef Joipoidoipoipoi het volgende:
[..]
Ja, die site ken ik, maar ik vind het prettiger om het echt stap voor stap vanaf het begin af aan uit een boek te leren, in plaats van aan de hand van een aantal tutorials.
Die tutorials daar zijn nog iets te hoog gegrepen voor me! (Zoals ik in bovenstaande post net gewijzigd heb, heb ik ook pas sinds een jaar een computer thuis, HTML heb ik nu redelijk onder de knie en nu wil ik dus graag PHP gaan leren, maar omdat ik nog niet zo lang een computer heb, zijn veel gebruikte termen in die tutorials vreemd voor mij en in PHP voor dummies wordt echt álles, tot de meest simpele dingen aan toe, uitgelegd
.)
1 2 3 | if(strlen($joubericht)>250){ $joubericht=substr($joubericht,0,180) . " ... <a href=pagina.php?bericht_nummer=" . $joubericht['bericht_nummer'] . "> <font color=red><b>Klik hier </b></font></a>"; } |
Als je dat zou willen doenquote:Op vrijdag 21 januari 2005 19:12 schreef capetonian het volgende:
[ code verwijderd ]
eeuh , .. zo ongeveer, .. ofwel, .. zo heb ik het geleerd, .. ik zal straks de orig. source opzoeken.
1 2 3 4 5 6 7 8 9 10 11 | function short($in, $l) { if (strlen($in) > $l) { return substr($in, 0, $l) . ".."; } else { return $in; } } |
1 2 3 4 5 6 7 8 9 10 11 | function short($in, $l) { if (strlen($in) > $l) { return substr($in, 0, $l-2) . ".."; } else { return $in; } } |
Hoe pas ik dit nu toe inquote:Op zaterdag 22 januari 2005 00:42 schreef Roönaän het volgende:
kzou er ivm de puntjes dit van maken:
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 | <?php include("config.inc.php"); $query = "SELECT id, news_subject FROM nieuws_content ORDER BY -id LIMIT 0, 9"; $resultaat = mysql_query($query) or die ("query mislukt"); while ($obj = mysql_fetch_object($resultaat)) { echo "<a href='nieuws.php?id=$obj->id'>$obj->news_subject</a><br>"; } ?> |
Dat lijkt op de voorbeeld in PHP zonder Stress, good book!!quote:Op dinsdag 25 januari 2005 13:18 schreef Kapt.Ruigbaard het volgende:
[..]
Hoe pas ik dit nu toe in
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <?php include("config.inc.php"); function short($in, $l) { if (strlen($in) > $l) { return substr($in, 0, $l-2) . ".."; } else { return $in; } } $query = "SELECT id, news_subject FROM nieuws_content ORDER BY -id LIMIT 0, 9"; $resultaat = mysql_query($query) or die ("query mislukt"); while ($obj = mysql_fetch_object($resultaat)) { echo "<a href='nieuws.php?id=$obj->id'>" . short($obj->news_subject, 15) . "</a><br>"; // max. 15 tekens } ?> |
1 2 3 4 5 6 7 8 9 10 11 | <?php $open = opendir( $path ); while ( false !== ( $filename = readdir( $open ) ) ) { if ( ( substr( $filename, -3 ) == "jpg" ) XOR ( substr( $filename, -3 ) == "JPG" ) ) { $files[] = $filename; } } ?> |
Natuurlijk. Heb nu dit in een .htaccess filequote:Op donderdag 27 januari 2005 17:56 schreef Roönaän het volgende:
In je htaccess kan je dir listing uitschakelen als ik het wel heb,
1 | IndexIgnore * |
Dat heeft 0,0 met PHP te maken.quote:Kan ik via php (ofzoies) de resolutie veranderen,
Je zou de inhoud van de site in een blokje met een vaste breedte kunnen doen (à la FOK!).quote:want ik ben met een site bezig alleen nou zit de layout er *** bij mensen met erg hoge resoluties,
Of clientside scripting gebruikenquote:Op donderdag 27 januari 2005 22:31 schreef sylvesterrr het volgende:
[..]
Dat heeft 0,0 met PHP te maken.
[..]
Je zou de inhoud van de site in een blokje met een vaste breedte kunnen doen (à la FOK!).
http://www.aota.net/htaccess/index.php4quote:Op donderdag 27 januari 2005 18:14 schreef keeper het volgende:
[..]
Natuurlijk. Heb nu dit in een .htaccess file
[ code verwijderd ]
Waardoor als je de dir opvraagt wel een listing krijgt, maar zonder files erin. Alsjebegrijptwatikbedoel.
Effect is iig zoals ik wilde.
1 | Options -Indexes |
quote:Op donderdag 27 januari 2005 22:20 schreef 2xD het volgende:
Hmm even vraagje,
Kan ik via php (ofzoies) de resolutie veranderen, want ik ben met een site bezig alleen nou zit de layout er *** bij mensen met erg hoge resoluties, valt hier wat aan te doen, behalve zeggen dat tie zelf een fatsoenlijk resolutie moet gebruiken ?
Om het venster te resizen?quote:Op donderdag 27 januari 2005 22:32 schreef Swetsenegger het volgende:
[..]
Of clientside scripting gebruiken
?quote:
Welk bericht begreep je verkeerd, [PHP] voor dummies - Deel 4 of [PHP] voor dummies - Deel 4 ?quote:Op donderdag 27 januari 2005 22:48 schreef Swetsenegger het volgende:
[..]
oeps, ik begreep 'm verkeerd
de originele vraagquote:Op donderdag 27 januari 2005 22:50 schreef sylvesterrr het volgende:
[..]
Welk bericht begreep je verkeerd, [PHP] voor dummies - Deel 4 of [PHP] voor dummies - Deel 4 ?
quote:Op donderdag 27 januari 2005 22:53 schreef Roönaän het volgende:
Ik postte de vraag nog maar eens om hem tot me door te laten dringen, of dat de vraag nu zo stupide op mij overkwam, of dat het maar zo leek.
Ah, ok.quote:
Ik heb ook zoiets. Maar ik heb een probleem en ik weet niet waar ik beginnen moet. Ik heb een website over een bepaalde vliegtype, nu heb ik foto's van de vliegtuigen, deze foto's hebben het constructienummer van het vliegtuig als benaming ie:quote:Op donderdag 27 januari 2005 17:30 schreef keeper het volgende:
...
Zo haalt hij nu dus bestanden uit de map en gooit ze in de array:
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 | <?php // Check if there is an image $filename = $imgpath . $imgrule; if (file_exists($filename)) { $imgurl = "<img src=\"$filename\">"; } else { $imgurl = "NO IMAGE AVAILABLE"; } ?> |
Hmm nja dan heeft het maar 0,0 met PHP te makenquote:Op donderdag 27 januari 2005 22:31 schreef sylvesterrr het volgende:
[..]
Dat heeft 0,0 met PHP te maken.
[..]
Je zou de inhoud van de site in een blokje met een vaste breedte kunnen doen (à la FOK!).
In mijn script (zie hierboven) gebruik ik dit om te checken of een bestand de extensie 'jpg' heeft:quote:Op vrijdag 28 januari 2005 12:18 schreef capetonian het volgende:
Hoe kan ik nou ervoor zorgen dat ik, dmv php, alleen de plaatjes te zien krijg van dat betreffende constructienummer? Ie: dat die dus naar de eerste 4 nummers kijkt, en alle bestanden met de zelfde 3 nummers in een array stopt.
1 2 3 | <?php substr( $filename, -3 ) == "jpg" ?> |
1 2 3 | <?php substr( $filename, 4 ) == $type ?> |
1 2 3 4 5 6 7 | <?php $str = 'begin-text <br /> {message.id?}bericht content{;}<br /> {if.statement?}if=true{:}if=false (else){;}<br />eind text'; preg_match_all("/{([^}]<img src="http://images.fok.nl/s/shiny.gif" width="15" height="15" alt="" />\?}([^{]*?)(?!{:}([^}]<img src="http://images.fok.nl/s/shiny.gif" width="15" height="15" alt="" />){;}/ise", $output, $regs, PREG_SET_ORDER); ?> |
1 2 3 4 5 6 7 8 9 10 | Array ( [0] => Array ( [0] => {message.id?}bericht content{;} [1] => message.id [2] => bericht content ) ) |
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 | <?php php $protocol = $_POST['Protocol']; $addrin = $_POST['Addressin']; $portin = $_POST['Portin']; $addrout = $_POST['Addressout']; $portout = $_POST['Portout']; $portvan = $_POST['Portvan']; $porttot = 1+$_POST['Porttot']; $save = $_POST['save']; $filename = $_POST['filename']; $i=0; if(isset($_POST['num'])) { if($_POST['multiply'] == true) { if($save == true) { $file = @fopen("tmp.txt",w); while($portvan < $porttot) { $string = ":nat create protocol=".$protocol." inside_addr=".$addrin.":".$portvan." outside_addr=".$addrout.":".$portvan."\r\n"; fwrite($file,$string); $portvan++; } fclose($file); header("Pragma: public"); header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Content-type: text/plain"); header( "Content-Disposition: attachment; filename=".$filename.";" ); header("Content-Transfer-Encoding: binary"); header("Content-Length: ".filesize('tmp.txt')); readfile('tmp.txt'); // --knip-- ?> |
popup om em te downloaden klopt.. maar om de een of andere reden wil hij niet het tekst bestand (tmp.txt) donwloaden maar het html gedeelte v/d php paginaquote:Op zondag 30 januari 2005 15:53 schreef Chandler het volgende:
hier krijg ik een 'popup' om um te downloaden maar waar doel je precies op? wat wil je nou precies!
1 2 3 4 5 6 7 8 9 | <?php $length = filesize("tmp.txt"); $fd = fopen("tmp.txt", "r"); $buf = freads($fd, $length); fclose($fd); echo $buf; ?> |
Ziet er idd als basis-uitleg goed uit.quote:Op maandag 31 januari 2005 02:26 schreef Joipoidoipoipoi het volgende:
Ik postte hier eerder dat ik een goed boek zocht om PHP te leren. Ik heb nu deze site gevonden: http://nl.wikibooks.org/wiki/Programmeren_in_PHP
Misschien dat één van jullie deze site kent en mij kan vertellen of dat een goede site is om het te leren (voordat ik me er helemaal in ga verdiepen en dat dan achteraf blijkt dat ze zeer slechte informatie geven op die site).
Zou dit zo aangepast kunnen worden zodat men eerst moet wachten op een bevestiging van mijn kant voor een registratie?quote:<?php
include("connection.php");
if(!empty($_POST)){
$email = $_POST['email'];
$wachtwoord = $_POST['wachtwoord'];
$sql_query = "SELECT * FROM users WHERE email='".$email."';";
$result = mysql_query($sql_query);
if(mysql_num_rows($result) > 0) {
$text = "Het ingevulde email-adres bestaat al. U vulde $email in. <A HREF=\"" . $_SERVER["PHP_SELF"] . "\">Opnieuw registeren</A>";
die($text);
}
else{
$sql_query = "INSERT INTO users (email, wachtwoord) ";
$sql_query .="VALUES ('".$email."', '".$wachtwoord."');";
$result = mysql_query($sql_query) or die(mysql_error());
$text="U bent nu geregistreerd, bedankt voor de aanmelding, u kunt <A HREF=\"login.php\"> nu inloggen</A>";
die($text);
}
}
?>
<H1>Registreer:</H1><HR>
Welkom, u kunt zich hier gratis registreren voor mijn site. Gelieve hier uw email-adres en uw wachtwoord in te vullen, vul geen ongeldig adres in!<P>
<FORM NAME="form2" METHOD="post" ACTION="<?php echo($_SERVER["PHP_SELF"]);?>">
E-mail adres: <INPUT TYPE="text" NAME="email" MAXLENGTH="40"><BR>
Wachtwoord: <INPUT TYPE="password" NAME="wachtwoord" MAXLENGTH="10"><INPUT TYPE="submit" VALUE="Registreer">
</FORM>
<FONT SIZE=-1><P>U mag alleen een geldig emailadres gebruiken, deze mag hoogstens uit 40 tekens bestaan, en uw wachtwoord hoogstens uit 10 tekens.</FONT>
quote:Op maandag 31 januari 2005 06:07 schreef rickmans het volgende:
Ik kon hem niet, maar zo voor de basis ziet die er wel okay uit.
quote:Op maandag 31 januari 2005 11:22 schreef capetonian het volgende:
Ziet er idd als basis-uitleg goed uit.
Dat klinkt hoopvolquote:
Ja dat kan.quote:Op maandag 31 januari 2005 12:17 schreef Johan-Derksen het volgende:
[..]
Zou dit zo aangepast kunnen worden zodat men eerst moet wachten op een bevestiging van mijn kant voor een registratie?
khoop dat ze ook een opmerking over je html hebben gemaaktquote:Op maandag 31 januari 2005 21:57 schreef Johan-Derksen het volgende:
Mwah, er zijn ook nog goede mensen op de wereld die wel iets over hebben voor de medemens
Dank voor alle emails heren...
Of iets over de niet-gecontroleerde userinput die in de query geplakt wordt.quote:Op maandag 31 januari 2005 22:11 schreef Roönaän het volgende:
[..]
khoop dat ze ook een opmerking over je html hebben gemaakt
Natuurlijk. Je kan ook de login gegevens terugsturen naar de gebruiker met een 'activeren' link in het bericht, .... of gewoon zijn gegevens terug mailen met een melding dat de account zsm zal worden geactiveerd.quote:Op maandag 31 januari 2005 12:17 schreef Johan-Derksen het volgende:
[..]
Zou dit zo aangepast kunnen worden zodat men eerst moet wachten op een bevestiging van mijn kant voor een registratie?
iets dat ik doe in mijn databaseclass is het volgende (het is nog heel basicquote:Op dinsdag 1 februari 2005 01:23 schreef Chandler het volgende:
Mag ik hints cq tips voor het maken van goed beveildigde scripts?
bv (int) voor een parameter of controlleren met is_numeric? etc
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 function _secure_value($value){ if(is_array($value) || is_object($value)){ $new_value = "'". addslashes(serialize($value)) ."'"; } if(is_string($value)){ $new_value = "'". addslashes($value) ."'"; } if(is_float($value)){ $new_value = "'". $value ."'"; } if(is_int($value)){ $new_value = $value; } if(empty($value)){ $new_value = "''"; } return $new_value; } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | <?php function _safe_value($value){ if(is_array($value) || is_object($value)){ return "'". mysql_real_escape_string(serialize($value)) ."'"; } if(is_string($value)){ return "'". mysql_real_escape_string($value) ."'"; } if(is_float($value)){ return "'". $value ."'"; } if(is_int($value)){ $return = $value; } if(is_bool($value)) { return $value ? 1 : 0; } $return = "''"; } ?> |
voor mijn geval gaat dat niet op, aangezien mijn class bedoelt is voor meerdere databasesystemen en ik daardoor zo min mogelijk database specifiek functies in algemene functies wil stoppen Op zich zou het kunnen, maar dan zou ik even moeten kijken of de andere systemen eenzelfde soort functie hebbenquote:
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 | <?php if($var->wdeel == "Afrika"){ $wdeel = "visafrika"; } if($var->wdeel == "Azië"){ $wdeel = "visazie"; } if($var->wdeel == "Midden Amerika"){ $wdeel = "vismamerika"; } if($var->wdeel == "Midden oosten"){ $wdeel = "vismoosten"; } if($var->wdeel == "Noord Amerika"){ $wdeel = "visnamerika"; } if($var->wdeel == "Pacific"){ $wdeel = "vispacific"; } if($var->wdeel == "Zuid Amerika"){ $wdeel = "viszamerika"; } ?> |
Kan je in PHP switch ook gebruiken op strings dan? (in c niet). Ik heb switch eigenlijk nog nooit gebruikt in PHPquote:Op dinsdag 1 februari 2005 16:26 schreef Roönaän het volgende:
switch statement gebruiken. Zie manual.
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 | <form action="proces.php" method="post" name="call"> <table width="400" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="133">Aangenomen door</td> <td width="267"><? echo $user[firstname] ?></td> </tr> <tr> <td>Doorschakelen naar:</td> <td><select name="nsiemp"> <option>Kies naam</option> <option>Stefan</option> <option>Denzel</option> </select></td> </tr> <tr> <td>Contactpersoon:</td> <td><input type="text" name="contact"></td> </tr> <tr> <td>Bedrijf</td> <td><input type="text" name="bedrijf"></td> </tr> <tr> <td>Telefoonnummer</td> <td><input type="text" name="tel"></td> </tr> <tr> <td>E-mail</td> <td><input type="text" name="email"></td> </tr> <tr> <td>Betreft</td> <td><input type="text" name="betreft"></td> </tr> <tr> <td>Bericht</td> <td><textarea name="bericht" rows="7"></textarea></td> </tr> <tr> <td> </td> <td> </td> </tr> <tr> <td><br> <br> </td> <td><input class="form" type="submit" name="Submit" value="Verstuur call"> </td> </tr> </table> </form> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <?php $aannemer=$user['firstname']; $contact=$_POST['contact']; $bedrijf=$_POST['bedrijf']; $tel=$_POST['tel']; $email=$_POST['betreft']; $betreft=$_POST['betreft']; $bericht=$_POST['bericht']; $nsiemp=$_POST['nsiemp']; $sql = " INSERT INTO calls (aannemer, contact, bedrijf, tel, email, betreft, bericht, nsiemp) VALUES ('$aannemer','$contact','$bedrijf','$tel','$email','$betreft','$bericht','$nsiemp') "; mysql_query($sql) or die (mysql_error()); ?> |
Alleen werkt addslashes() niet met MSSql.quote:Op dinsdag 1 februari 2005 09:49 schreef Roönaän het volgende:
De vertragende factor voor het mappen van de functies zou derhalve onnuttig zijn dat je dan idd beter addslashes kunt gebruiken.
Een assicosiatieve array is soms handiger dan een switchquote:Op dinsdag 1 februari 2005 15:23 schreef Wouta het volgende:
Ik ben lekker aan het stoeien met PHP en nu vraag ik me af of iets als het volgende niet veel korter kan ?
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 12 | $options = array( 'one' => 'foo', 'two' => 'bar', 'three' => 'baz', ); if (array_key_exists($option, $option)) { $value = $options[$option]; } else { // option not found ... $value = null; } |
mysql_insert_id -- Get the ID generated from the previous INSERT operationquote:Op dinsdag 1 februari 2005 17:14 schreef ikke_ook het volgende:
Ik wil een rij invoegen in mijn database mbv een INSERT. Het eerste veld heet pID en is een autoincrement veld, is het mogelijk om met 1 query een insert te doen en dan ook achter het pID van de net ingevoerde rij te komen?
En zo niet, hoe kun je dat dan het snelst/netst achterhalen?
beetje vage post zie ik al, hopelijk kan iemand me toch helpen
Dankquote:Op dinsdag 1 februari 2005 16:26 schreef Roönaän het volgende:
switch statement gebruiken. Zie manual.
Um , ..... dit is een makkie, ..... in je process, .... gebruik php's mail() functie om een bericht te versturen, laat dit dan direct naar de database insert gebeuren, ... wat leuk is is dan nog twee kleine tooltjes in te bouwen, .... een zodat jij een bericht krijgt op het moment dat je collega zijn of haar bericht leest (je kan het als optie aanvinken bij het versturen van je bericht), en om evt een subroutine in te bouwen dat checkt of de bericht al is gelezen en deze dan (bijvoorbeeld) een herrinering laten versturenquote:Op dinsdag 1 februari 2005 17:44 schreef dnzl het volgende:
Hey, ik ben me ook in het PHP wereldje aan het begeven.
En nu heb ik best iets moois gemaakt. Een callsysteempje voor het bedrijf waar ik werk; ingelogde gebruikers kunnen naar andere gebruikers calls versturen als bijv. iemand heeft gebeld en diegene was afwezig. Erg makkelijk.
Nu voer ik bij het opgeven van de call alles in mySQL in maar ik zou ook graag een berichtje achterlaten op zijn/haar e-mailadres.
add_call.php
[ code verwijderd ]
proces.php
[ code verwijderd ]
Zou iemand van jullie mij een voorzetje kunnen geven hoe ik dit kan oplossen (liefst in proces.php, om het een beetje overzichtelijk te houden).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <?php php $aannemer=$user['firstname']; $contact=$_POST['contact']; $bedrijf=$_POST['bedrijf']; $tel=$_POST['tel']; $email=$_POST['betreft']; $betreft=$_POST['betreft']; $bericht=$_POST['bericht']; $nsiemp=$_POST['nsiemp']; $sql = " INSERT INTO calls (aannemer, contact, bedrijf, tel, email, betreft, bericht, nsiemp) VALUES ('$aannemer','$contact','$bedrijf','$tel','$email','$betreft','$bericht','$nsiemp') "; mysql_query($sql) or die (mysql_error()); zet_hier_je_mail(){ functie } ?> |
dacht ikquote:Op dinsdag 1 februari 2005 20:51 schreef Chandler het volgende:
technieken qua beveiliging voor scripting etc
ps weet iemand wat de min's en maxes zijn voor MySQL
tinyint(1 t/m ?) 1t/m 9
int(1 t/m ?) 1 t/m 65000 nog wat
en bigint(1 t/m ?)1 tm/16 miljoen nog wat
zou makkelijk zijn als ik het zou weten.
En dan toch de session tabel vol krijgen.. Best knapquote:Op dinsdag 1 februari 2005 20:55 schreef Swetsenegger het volgende:
BIGINT -9223372036854775808 9223372036854775807 0 18446744073709551615
LOLquote:Op dinsdag 1 februari 2005 21:03 schreef Roönaän het volgende:
[..]
En dan toch de session tabel vol krijgen.. Best knap
welke ()?quote:Op dinsdag 1 februari 2005 21:06 schreef Chandler het volgende:
Ennuh waar dient dan die () voor? het aantal x de waarde?
Ah okay , ... genoeg ruimte om een telefoonnummer ofzo op te slaanquote:Op dinsdag 1 februari 2005 20:55 schreef Swetsenegger het volgende:
[..]
BIGINT -9223372036854775808 9223372036854775807 0 18446744073709551615
Euhm.. sorry. Aantal bytes.quote:Op dinsdag 1 februari 2005 21:17 schreef Chandler het volgende:
@Roonaan: dus tinyint(1) is 1x255 bits?
nee voor 1 byte.quote:Op dinsdag 1 februari 2005 21:17 schreef Chandler het volgende:
@Roonaan: dus tinyint(1) is 1x255 bits?
Dus gewoon smallintquote:Op dinsdag 1 februari 2005 22:05 schreef Roönaän het volgende:
Is 0 tot 65535 of -32768 tot 32767
Hmm, heb er naar gekeken maar kom er nog niet helemaal tof uit. Zou me inderdaad mooi lijken zoals jij het verteld. Zou je me kunnen toevoegen op MSN (stayfan [&] gmail [dot] com)quote:Op dinsdag 1 februari 2005 20:49 schreef capetonian het volgende:
[..]
Um , ..... dit is een makkie, ..... in je process, .... gebruik php's mail() functie om een bericht te versturen, laat dit dan direct naar de database insert gebeuren, ... wat leuk is is dan nog twee kleine tooltjes in te bouwen, .... een zodat jij een bericht krijgt op het moment dat je collega zijn of haar bericht leest (je kan het als optie aanvinken bij het versturen van je bericht), en om evt een subroutine in te bouwen dat checkt of de bericht al is gelezen en deze dan (bijvoorbeeld) een herrinering laten versturen
[ code verwijderd ]
Uuuh, .. als je niet uitkomt, .. mag je me op msn toevoegen.
dat ligt er aan waarvoor je dat getal gaat gebruikenquote:Op woensdag 2 februari 2005 00:35 schreef Chandler het volgende:
Klopt en ik zie dat je voor databases beter unsigned kan gebruiken (ivm id's ed) want je gaat dan toch niet naar -1, -2 etc maar alles boven de 0toch?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php if (isset($error_verplicht)){ $error = "U heeft de volgende verplichte velden niet ingevult:<br>\n"; $error .= "<b>". $error_verplicht ."<b>\n"; } if (!empty($_POST['email'])) { $email = trim($_POST['email']); if (!@eregi("^[_\.0-9a-z-]+([_\\.-][0-9a-z]+)*@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$", $email)) { $error_mail = "Uw e-mail adres is ongeldig en/of verkeerd ingevult"; } } ?> |
door [ php ] jou code [/ php ] te gebruikenquote:Op woensdag 2 februari 2005 17:09 schreef Frangk het volgende:
Ik weet niet hoe ik die code kan posten met regelnummers erbij.
lettertype waar? de foutmelding de je krijgt? of in het algmeen? Je vraag is niet duidelijk.quote:Allemaal prima en werkt ook goed, maar nu wil ik dit lettertype wijzigen. Ik heb geen idee hoe dit moet. Ik ben nogal een noob op php gebied. Dus wie?
1 2 3 4 | <?php $error = "U heeft de volgende verplichte velden niet ingevult:<br>\n"; $error .= "<b>". $error_verplicht ."<b>\n"; ?> |
..... dan vervang je dat met:quote:Op woensdag 2 februari 2005 17:21 schreef Frangk het volgende:
[ code verwijderd ]
Wat nu in rood staat, dat komt op de pagina te staan als je een veld niet hebt ingevuld. Hiervan wil ik het lettertype wijzigen.
1 2 3 4 | /pics/Map 1/ Map 2/ Map 3/ Map 4/ |
1 2 3 4 5 6 7 | Array ( [0] => Map 1 [1] => Map 2 [2] => Map 3 [3] => Map 4 ) |
1 2 3 4 5 6 7 | Array ( [1] => 1106688359 [2] => 1107293235 [3] => 1106694052 [4] => 1107256359 ) |
1 2 3 4 5 | $albums = array( array('naam' => 'Map 1', 'gewijzigd' => '1106688359', array('naam' => 'Map 2', 'gewijzigd' => '1107166666', array('naam' => 'Map 3', 'gewijzigd' => '1106468226', ); |
Thxquote:Op woensdag 2 februari 2005 19:55 schreef SuperRembo het volgende:
Maak er 1 array van.
[ code verwijderd ]
Die kan je dan sorteren met usort().
Maar wat hij doet isquote:<tr>
<td height="21" bgcolor="#E7E7E7"></td>
<td height="21" bgcolor="#E7E7E7"><? echo $dag; ?>/<? echo $maand; ?> <? echo $onderwerp; ?></td>
</tr>
<tr>
<td height="21" bgcolor="#FFFFFF"></td>
<td height="21" bgcolor="#FFFFFF"><? echo $dag; ?>/<? echo $maand; ?> <? echo $onderwerp; ?></td>
</tr>
<tr>
<td height="21" bgcolor="#E7E7E7"></td>
<td height="21" bgcolor="#E7E7E7"><? echo $dag; ?>/<? echo $maand; ?> <? echo $onderwerp; ?></td>
</tr>
<tr>
<td height="21" bgcolor="#FFFFFF"></td>
<td height="21" bgcolor="#FFFFFF"><? echo $dag; ?>/<? echo $maand; ?> <? echo $onderwerp; ?></td>
</tr>
<tr>
<td height="21" bgcolor="#E7E7E7"></td>
<td height="21" bgcolor="#E7E7E7"><? echo $dag; ?>/<? echo $maand; ?> <? echo $onderwerp; ?></td>
</tr>
Dus wat ik wil is dat hij om en om de 'bgcolor' veranderd.quote:<tr>
<td height="21" bgcolor="#E7E7E7"></td>
<td height="21" bgcolor="#E7E7E7"><? echo $dag; ?>/<? echo $maand; ?> <? echo $onderwerp; ?></td>
</tr>
<tr>
<td height="21" bgcolor="#E7E7E7"></td>
<td height="21" bgcolor="#E7E7E7"><? echo $dag; ?>/<? echo $maand; ?> <? echo $onderwerp; ?></td>
</tr>
<tr>
<td height="21" bgcolor="#E7E7E7"></td>
<td height="21" bgcolor="#E7E7E7"><? echo $dag; ?>/<? echo $maand; ?> <? echo $onderwerp; ?></td>
</tr>
<tr>
<td height="21" bgcolor="#E7E7E7"></td>
<td height="21" bgcolor="#E7E7E7"><? echo $dag; ?>/<? echo $maand; ?> <? echo $onderwerp; ?></td>
</tr>
<tr>
<td height="21" bgcolor="#E7E7E7"></td>
<td height="21" bgcolor="#E7E7E7"><? echo $dag; ?>/<? echo $maand; ?> <? echo $onderwerp; ?></td>
</tr>
Ik ben dus op zoek naar een functie de kijkt of het getal EVEN of ONEVEN is en resulteert ALS TRUE/FALSE.quote:<?
$i = "1";
while ( $result = mysql_fetch_array ( $query ) ) {
if (functie("$i"); { $kleur = "E7E7E7" } else { $kleur = "FFFFFF" }
?>
<tr>
<td height="21" bgcolor="#<? echo $kleur; ?>"></td>
<td height="21" bgcolor="#<? echo $kleur; ?>"><? echo $dag; ?>/<? echo $maand; ?> <? echo $onderwerp; ?></td>
</tr>
<?
$i++;
}
?>
1 2 3 4 5 6 7 8 9 | <?php header('Content-Type: text/plain'); for($i = 0; $i < 10; $i++) { $state = ($i % 2) ? 'ONEVEN' : 'EVEN'; echo $i . ' = ' . $state . "\n"; } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <?php header('Content-Type: text/plain'); for($i = 0; $i < 10; $i++) { $state = is_oneven($i) ? 'ONEVEN' : 'EVEN'; echo $i . ' = ' . $state . "\n"; } // true = oneven // false = even function is_oneven($int) { return($int % 2); } ?> |
1 2 3 4 5 6 7 8 9 10 | 0 = EVEN 1 = ONEVEN 2 = EVEN 3 = ONEVEN 4 = EVEN 5 = ONEVEN 6 = EVEN 7 = ONEVEN 8 = EVEN 9 = ONEVEN |
Dit doet mijn werkt vast wel, thanks.quote:function is_even($int)
{
return($int % 2);
}
Zou je me misschien verder kunnen helpen? (MSN stayfan [@] gmail.com).quote:Op dinsdag 1 februari 2005 20:49 schreef capetonian het volgende:
[..]
Um , ..... dit is een makkie, ..... in je process, .... gebruik php's mail() functie om een bericht te versturen, laat dit dan direct naar de database insert gebeuren, ... wat leuk is is dan nog twee kleine tooltjes in te bouwen, .... een zodat jij een bericht krijgt op het moment dat je collega zijn of haar bericht leest (je kan het als optie aanvinken bij het versturen van je bericht), en om evt een subroutine in te bouwen dat checkt of de bericht al is gelezen en deze dan (bijvoorbeeld) een herrinering laten versturen
[ code verwijderd ]
Uuuh, .. als je niet uitkomt, .. mag je me op msn toevoegen.
Ok bedankt!quote:Op donderdag 3 februari 2005 14:34 schreef Roönaän het volgende:
Ik zou voor 3 tabellen gaan.
Even anders / makkelijker geformuleerd.quote:Op donderdag 3 februari 2005 14:40 schreef dnzl het volgende:
[..]
Zou je me misschien verder kunnen helpen? (MSN stayfan [@] gmail.com).
Thanks![]()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php $aannemer=$user['firstname']; $contact=$_POST['contact']; $bedrijf=$_POST['bedrijf']; $tel=$_POST['tel']; $email=$_POST['betreft']; $betreft=$_POST['betreft']; $bericht=$_POST['bericht']; $nsiemp=$_POST['nsiemp']; $sql = " INSERT INTO calls (aannemer, contact, bedrijf, tel, email, betreft, bericht, nsiemp) VALUES ('$aannemer','$contact','$bedrijf','$tel','$email','$betreft','$bericht','$nsiemp') "; mysql_query($sql) or die (mysql_error()); ?> |
Je oplossing voor het probleem is vrij eenvoudig, namelijk de mail functie aanroepen na je insert. Daarna blijft natuurlijk de vraag waarom je van je $_POST array op zo'n omslachtige wijze losse variabelen maakt. Ten eerste is dat onnodig en ten tweede zou je dat via de extract functie kunnen doen en ten derde zou je gewoon netjes niets moeten doen de array en gewoon als een array gebruikenquote:Op donderdag 3 februari 2005 16:19 schreef dnzl het volgende:
[..]
Even anders / makkelijker geformuleerd.
Op dit moment heb onderstaand script voor het invoegen van gegevens die via een formulier binnnen komen. Deze gegevens zijn zichtbaar als "nsiemp" inlogt.
[ code verwijderd ]
De invoer in nsiemp staat ook in de database in de tabel 'users'. Ik zou zo graag willen dat erop dit e-mailadres een standaard mailtje terecht kwam met de melding "Er staan nieuwe gegevens voor u klaar, ga naar....". Meer niet.
De vergelijking die gemaakt moet worden is dus alsvolgt nsiemp -> user -> user1 -> user1@mail.com.
Kan iemand me hiermee helpen?
Als je er verder niets mee doet dan is het vrij zinloos. Maar het is een mooie gelegenheid om te controleren op ongewenste input.quote:Op donderdag 3 februari 2005 19:23 schreef rickmans het volgende:
[..]
Je oplossing voor het probleem is vrij eenvoudig, namelijk de mail functie aanroepen na je insert. Daarna blijft natuurlijk de vraag waarom je van je $_POST array op zo'n omslachtige wijze losse variabelen maakt.
Ten eerste is dat onnodig
Hebben ze eindelijk om veiligheidsredenen register_globals=off gezet, ga jij ff de extract-funtie promotenquote:en ten tweede zou je dat via de extract functie kunnen doen
Huh? wat?quote:en ten derde zou je gewoon netjes niets moeten doen de array en gewoon als een array gebruiken.
Wat is er mis om per key te controleren? dus:quote:Op donderdag 3 februari 2005 20:02 schreef SuperRembo het volgende:
[..]
Als je er verder niets mee doet dan is het vrij zinloos. Maar het is een mooie gelegenheid om te controleren op ongewenste input.
1 2 3 4 5 | <?php if(empty($_POST["bloep"])){ //blaat } ?> |
Ik volg je niet, waar zit volgens jou een veiligheidsprobleem?quote:[..]
Hebben ze eindelijk om veiligheidsredenen register_globals=off gezet, ga jij ff de extract-funtie promoten
http://php.net/array zie de documentatie over wat een array precies is en wat voor functionaliteit het biedtquote:[..]
Huh? wat?
Ja zo kan 't ook.quote:Op donderdag 3 februari 2005 20:15 schreef rickmans het volgende:
[..]
Wat is er mis om per key te controleren? dus:
[ code verwijderd ]
extract($_POST) gebruiken geeft dezelfe risico's als register_globals = on, het overschrijven van variabelen. Overschrijven is 't standaard gedrag als je geen extract_type opgeeft.quote:Het is nutteloos om alleen daarom een array te vervormen tot aparte variabelen.
[..]
Ik volg je niet, waar zit volgens jou een veiligheidsprobleem?
Een array ken ik wel, maar die zin is krom en ik snap 'm niet.quote:http://php.net/array zie de documentatie over wat een array precies is en wat voor functionaliteit het biedt.
"en ten derde zou je gewoon netjes niets moeten doen de array en gewoon als een array gebruiken"
Nee dat is niet het geval. $_POST["foo"] is net zo min of net zo makkelijk te overschrijven als $foo met de setting van register_globals. Extract zorgt alleen voor het onndige feit dat je je array splits in een aantal variabelen. Deze variabelen zijn met de juiste register_globals niet overschrijfbaar. Mocht je weten hoe dat wel zou moeten, dan zou ik graag een stukje proof of concept zienquote:Op donderdag 3 februari 2005 21:13 schreef SuperRembo het volgende:
[..]
extract($_POST) gebruiken geeft dezelfe risico's als register_globals = on, het overschrijven van variabelen. Overschrijven is 't standaard gedrag als je geen extract_type opgeeft.
Hetgeen dat ik bedoelde is dat je een array gewoon moet benutten waar die bedoelt voor is en dat het maken van aparte variabelen voor iedere key volstrekt onnodig typwerk is en wellicht zelfs nog overhead veroorzaakt. Daarnaast kan het onduidelijkheid veroorzaken met het debuggen aangezien het niet direct duidelijk hoe de variabele in het process terecht is gekomen, dat laatste kan uiteraard voorkomen worden door een goede naming convention, maar dan nog is het voor mij dezelfde actie als:quote:[..]
Een array ken ik wel, maar die zin is krom en ik snap 'm niet.
1 2 3 4 5 6 7 8 9 | <?php $a = 1; $b = $a; //wat in jouw geval te lezen is als: $a = array(1,2); $1 = $a[0]; $2 = $a[1]; ?> |
quote:Op donderdag 3 februari 2005 22:04 schreef rickmans het volgende:
Nee dat is niet het geval. $_POST["foo"] is net zo min of net zo makkelijk te overschrijven als $foo met de setting van register_globals. Extract zorgt alleen voor het onndige feit dat je je array splits in een aantal variabelen. Deze variabelen zijn met de juiste register_globals niet overschrijfbaar. Mocht je weten hoe dat wel zou moeten, dan zou ik graag een stukje proof of concept zien.
1 2 3 4 5 6 7 8 | if (authenticated_user()) { $authorized = true; } extract($_POST); // $authorized _kan_ nu overschreven zijn if ($authorized) { echo $secrect_information; } |
Ach, een key zoeken in een array kost ook tijd.quote:Hetgeen dat ik bedoelde is dat je een array gewoon moet benutten waar die bedoelt voor is en dat het maken van aparte variabelen voor iedere key volstrekt onnodig typwerk is en wellicht zelfs nog overhead veroorzaakt. Daarnaast kan het onduidelijkheid veroorzaken met het debuggen aangezien het niet direct duidelijk hoe de variabele in het process terecht is gekomen, dat laatste kan uiteraard voorkomen worden door een goede naming convention, maar dan nog is het voor mij dezelfde actie als:
[ code verwijderd ]
Indien je gebruik maakt van andere variabelen zodat je weet dat deze gevalideerd zijn is dat een kleine valide reden (namelijkverzicht) en waarschijnlijk veroorzaakt het een voor jou niet merkbare overhead.
Ik vind het zeer overzichtelijk dat ongevalideerde user-input maar op 1 plaats voor komt.quote:Echter het blijft te overwegen of het wel overzichtelijk blijft en of het de overhead waard is.
quote:Op donderdag 3 februari 2005 22:35 schreef SuperRembo het volgende:
[..]
[ code verwijderd ]
(Hier mankeert natuurlijk meer aan dan aleen het gebruik van extract(), het is dan ook slechts een voorbeeld)
1 | // $authorized _kan_ nu overschreven zijn |
1 2 3 4 5 | <?php // Dit wordt uit de datbase uitgelezen $buttonname = "$record->buttonname"; $buttonname = explode(",", $buttonname); ?> |
1 2 3 4 | <?php echo '<td width="0%"><div align="center"><B><a href="?page='.$buttonlink[0].'">'.str_replace("%20", " ", $buttonname[0]);'</a></div</td>'; ?> |
Ehmz, als je elke keer bij $buttonname 1 optelt wordt ie toch nooit leegquote:Op vrijdag 4 februari 2005 12:53 schreef jeroen-heeft-koffie-nodig het volgende:
Nu wil dat dit laatste zich blijft weergeven netzolang totdat $buttonname leeg is. Maar elke keer als deze 'td' wordt weergegeven, dan moet er bij buttonname en buttonlink een 1 dr bij worden opgeteld.
ja klopt!quote:Op vrijdag 4 februari 2005 12:57 schreef Swetsenegger het volgende:
[..]
Ehmz, als je elke keer bij $buttonname 1 optelt wordt ie toch nooit leeg
ow, wacht je wilt de volgende uit de array? Correct?
quote:Op vrijdag 4 februari 2005 12:59 schreef jeroen-heeft-koffie-nodig het volgende:
[..]
ja klopt!
edit netzolang totdat de array leeg is!
1 2 3 4 5 6 | <?php foreach($buttonname as $whatever){ //doe je html ding met $whatever ipv $buttonname] } ?> |
quote:
1 2 3 4 5 6 7 8 | <?php $buttonname = explode(",", $buttonname); foreach($buttonname as $buttonname){ echo '<td width="0%"><div align="center"><B> <a href="?page='.$buttonlink[0].'">'.str_replace("%20", " ", $buttonname['0']);'</a></div</td>'; } ?> |
quote:Op vrijdag 4 februari 2005 13:11 schreef jeroen-heeft-koffie-nodig het volgende:
[..]
[ code verwijderd ]
Heb ik nu gedaan, het werkt gedeeltelijk, hoewel ik nu alleen nog maar elke keer de 1e letter van de array krijg, en niet het gehele woord voor de komma. Ook blijft overal buttonlink hetzelfde
1 2 3 4 5 6 7 8 9 10 | <?php $a=0; foreach($buttonname as $knopnaam){ echo '<td width="0%"><div align="center"><B> <a href="?page='.$buttonlink[$a].'">'.str_replace("%20", " ", $knopnaam);'</a></div</td>'; $a++; } ?> |
Hij heeft dat vast in een data access layer staan die netjes een array terug geeftquote:Op vrijdag 4 februari 2005 13:51 schreef Swetsenegger het volgende:
Waarom lees je de resultaten van je query dan in een array? Het is toch handiger om gewoon met een whilelus je resultaten in je HTML te zetten?
Dat is dus het standaard gedrag van extract() zonder extract_type parameter. Het gebruik van extract() bevorderd slecht programmeerwerk, dat was mijn punt.quote:Op vrijdag 4 februari 2005 08:22 schreef rickmans het volgende:
[..]! dat is geen security issue, dat is gewoon heel slecht programmeer werk, waarbij je een variable overschijft door een andere waarde terwijl dat niet de bedoeling is
!.
geen enkele functie binnen php bevordert slecht programmeerwerk, de programmeur die is daar verantwoordelijk voorquote:Op vrijdag 4 februari 2005 19:38 schreef SuperRembo het volgende:
[..]
Dat is dus het standaard gedrag van extract() zonder extract_type parameter. Het gebruik van extract() bevorderd slecht programmeerwerk, dat was mijn punt.
in een wat?quote:Op vrijdag 4 februari 2005 19:27 schreef SuperRembo het volgende:
[..]
Hij heeft dat vast in een data access layer staan die netjes een array terug geeft
Een class die alle database acties afhandeld.quote:
1 2 | $db = new LinksDB(); $links = $db->SelectAll(); |
1 | while ($row = mysql_fetch_assoc($result)) { |
die zooi lijkt me handiger te verwerken eigenlijk...quote:Op vrijdag 4 februari 2005 20:41 schreef SuperRembo het volgende:
[..]
Een class die alle database acties afhandeld.
[ code verwijderd ]
En dan heb je een array met alle links. Simpel.
Geen
[ code verwijderd ]
en dergelijke zooi tussen je html
ik zou voor de cookie optie gaan!quote:Op zaterdag 5 februari 2005 00:50 schreef ikke_ook het volgende:
Ik ben er weer met een vraag
Ik wil voor een forum of een gastenboek bijhouden of er berichten bij zijn gekomen sinds je laatste bezoek. (alleen voor bezoekers die met een cookie zijn ingelogd)
Nu heb ik daar 2 ideeen over :
-je schrijft een timestamp in het cookie die je ook weer controleert bij het volgende bezoek en kijkt of er berichten zijn met een timestamp die groter is dan die timestamp.
-je houdt in een tabel bij wanneer het laatste bezoek was en op die manier geef je bij een volgend bezoek aan of er nieuwe berichten zijn.
Wat is gebruikelijk de eerste of de 2e of een andere manier?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | <?php $bedrijfsnaam=$_POST['bedrijfsnaam']; $straat=$_POST['straat']; $postcode=$_POST['postcode']; $plaats=$_POST['plaats']; $telefoonnummer=$_POST['telefoonnummer']; $faxnummer=$_POST['faxnummer']; $email_algemeen=$_POST['email_algemeen']; $contactpersson=$_POST['contactpersoon']; $mobiel=$_POST['mobiel']; $email_cp=$_POST['email_cp']; $dienst=$_POST['dienst']; $opmerkingen=$_POST['opmerkingen']; $hoster=$_POST['hoster']; $email_hoster=$_POST['email_hoster']; $tel_hoster=$_POST['tel_hoster']; $web_hoster=$_POST['web_hoster']; $web_client=$_POST['web_client']; $sidn_client=$_POST['sidn_client']; $hostingpakket=$_POST['hostingpakket']; $ftp_host=$_POST['ftp_host']; $ftp_user=$_POST['ftp_user']; $ftp_pass=$_POST['ftp_pass']; $mysql_host=$_POST['mysql_host']; $mysql_db=$_POST['mysql_db']; $mysql_user=$_POST['mysql_user']; $mysql_pass=$_POST['mysql_pass']; $mysql_phpmya=$_POST['mysql_phpmya']; $cp_software=$_POST['cp_software']; $cp_user=$_POST['cp_user']; $cp_pass=$_POST['cp_pass']; $cp_url=$_POST['cp_url']; $fac_nummer=$_POST['fac_nummer']; $fac_laatste=$_POST['fac_laatste']; $fac_volgende=$_POST['fac_volgende']; $afspr_laatste=$_POST['afspr_laatste']; $afspr_volgende=$_POST['afspr_volgende']; $afspr_kenmerk=$_POST['afspr_kenmerk']; $sql = " INSERT INTO clients (id, bedrijfsnaam, straat, postcode, plaats, telefoonnummer, faxnummer, email_algemeen, contactpersoon, mobiel, email_cp, dienst, opmerkingen, hoster, email_hoster, tel_hoster, web_hoster, web_client, sidn_client, hostingpakket, ftp_host, ftp_user, ftp_pass, mysql_host, mysql_db, mysql_user, myqsl_pass, mysql_phpmya, cp_software, cp_user, cp_pass, cp_url, fac_nummer, fac_laatste, fac_volgende, afspr_laatste, afspr_volgende, afspr_kenmerk) VALUES ('', '$bedrijfsnaam’, '$straat’, '$postcode’, '$plaats’, '$telefoonnummer’, '$faxnummer’, '$email_algemeen’, '$contactpersoon’, '$mobiel', '$email_cp', '$dienst', '$opmerkingen', '$hoster', '$email_hoster', '$web_hoster', '$web_client', '$sidn_client', '$hostingpakket', '$ftp_host', '$ftp_user', '$ftp_pass', '$mysql_host', '$mysql_db', '$mysql_user', '$myqsl_pass', '$mysql_phpmya', '$cp_software', '$cp_user', '$cp_pass', '$cp_url', '$fac_nummer', '$fac_laatste', '$fac_volgende', '$afspr_laatste', '$afspr_volgende', '$afspr_kenmerk')"; mysql_query($sql) or die (mysql_error()); ?> |
1 | Column count doesn't match value count at row 1 |
1 2 3 4 5 6 | $sql = "INSERT INTO `tabel` (`id`, `etc`, `etc1`, `etc2`) VALUES ('', '" . htmlentities($_POST['etc'] . "', '" . htmlentities($_POST['etc1'] . "', '" . htmlentities($_POST['etc2'] . "');"; $query = mysql..... |
1 | ,'" . htmlentities($_POST['antwoord']) . "',' etc |
quote:Op zondag 6 februari 2005 21:31 schreef jeroen-heeft-koffie-nodig het volgende:
Volgens mij moet je ID niet noemen?
Absoluut een zeer goed ideequote:is dit een auto veld? ennuh kan je de regels niet iets kleinermaken, verneukt de layout
Dat moetquote:Op zondag 6 februari 2005 21:33 schreef Chandler het volgende:
En nog even waarom het fout is..
`$antwoord'
zie je de verschillen?
doe het dus volgende keer als volgt!
1 1 ,'" . htmlentities($_POST['antwoord']) . "',' etc
1 | 1 ,'" . addslashes($_POST['antwoord']) . "',' etc |
1 | $query = "SELECT topic_id, topic_title, forum_id FROM phpbb_topics WHERE forum_id ORDER BY -topic_id LIMIT 0, 9"; |
WHERE forum_id != 5quote:Op zondag 6 februari 2005 22:14 schreef Kapt.Ruigbaard het volgende:
Hoe vertel ik in SQL alles selecteren behalve waar het forum_id 5 is.
Ik kom er even niet uit
[ code verwijderd ]
Dankje!quote:
1 2 3 4 5 6 7 | $query="SELECT inhoud FROM pagina WHERE id = '".$_GET['id']."'"; $result = mysql_query($query) or die (mysql_error()); if(!empty($_POST['submit'])) { $query = "UPDATE pagina SET inhoud = '$inhoud' WHERE id = '".$_GET['id']."'"; mysql_query($query) or die (mysql_error()); |
Je moet niet GET gebruiken, maar in je formulier de waarde $id meegeven en dan $_POST[id] doenquote:Op maandag 7 februari 2005 20:44 schreef Kapt.Ruigbaard het volgende:
[..]
Dankje!![]()
Ik zit met nog iets te stoeien.
Ik heb een formulier.
Met SQL laat ik eerst de inhoud ophalen en plaats ik in het formulier.
Het ophalen gaat aan de hand van een id die ik op een andere pagina via een tekstlink laat mee geven. Dat lukt allemaal prima.
Alleen nu wil ik de tekst die aan de hand van de meegenomen id in het formulier verschijnt kunnen bewerken en updaten. Als ik nu het hele zaakje wil updaten gebeurt er niks!![]()
Ik gebruik de volgende SQL-code(s)
[ code verwijderd ]
Iemand enige idee waarom het fout gaat en hoe het wel kan werken?
Ach't ging als voorbeeldquote:Op zondag 6 februari 2005 21:42 schreef SuperRembo het volgende:
[ code verwijderd ]
zijn. Je moet quotes escapen, maar het heeft geen zin om html-entities in je database te zetten. Dat is alleen onhandig.
Maak je wel eerst verbinding met de database? Zoja, zoals al eerder gezegd even echo $query; doen, kun je zien wat er aan schort.quote:Op maandag 7 februari 2005 20:44 schreef Kapt.Ruigbaard het volgende:
[..]
Dankje!![]()
Ik zit met nog iets te stoeien.
Ik heb een formulier.
Met SQL laat ik eerst de inhoud ophalen en plaats ik in het formulier.
Het ophalen gaat aan de hand van een id die ik op een andere pagina via een tekstlink laat mee geven. Dat lukt allemaal prima.
Alleen nu wil ik de tekst die aan de hand van de meegenomen id in het formulier verschijnt kunnen bewerken en updaten. Als ik nu het hele zaakje wil updaten gebeurt er niks!![]()
Ik gebruik de volgende SQL-code(s)
[ code verwijderd ]
Iemand enige idee waarom het fout gaat en hoe het wel kan werken?
En die doe je dus door:quote:Op maandag 7 februari 2005 21:37 schreef Ali Salami het volgende:
[..]
Je moet niet GET gebruiken, maar in je formulier de waarde $id meegeven en dan $_POST[id] doen
1 2 3 | <?php <input name="id" type="hidden" value="php echo $id; " /> ?> |
Ik gebruik ook GET.quote:Op maandag 7 februari 2005 20:44 schreef Kapt.Ruigbaard het volgende:
[..]
Dankje!![]()
Ik zit met nog iets te stoeien.
Ik heb een formulier.
Met SQL laat ik eerst de inhoud ophalen en plaats ik in het formulier.
Het ophalen gaat aan de hand van een id die ik op een andere pagina via een tekstlink laat mee geven. Dat lukt allemaal prima.
Alleen nu wil ik de tekst die aan de hand van de meegenomen id in het formulier verschijnt kunnen bewerken en updaten. Als ik nu het hele zaakje wil updaten gebeurt er niks!![]()
Ik gebruik de volgende SQL-code(s)
[ code verwijderd ]
Iemand enige idee waarom het fout gaat en hoe het wel kan werken?
1 2 3 4 5 6 7 8 9 10 | <p><span class="highlight2">Naam:</span><br /> <input class="input" type="text" name="naam" size="100" maxlength="100" <?php if(isset($_POST['preview'])){ //indien het een preview betreft, originele naam plaatsen. print("value=\"{$_POST['naam']}\""); } if(!empty($edit_naam)){ //indien het een edit betreft, originele naam plaatsen print("value=\"$edit_naam\""); } ?> /></p> |
Doe eens even print_r($_POST['PLAATJE']);quote:Op woensdag 9 februari 2005 11:59 schreef Chandler het volgende:
Het volgende.
Wanneer ik een <input type="IMAGE" src="./plaatje" name="PLAATJE"> gebruik krijg ik in PHP de waarde PLAATJE_X en PLAATJE_Y terug... is hier ook een andere manier voor? om toch het plaatje te gebruiken als 'submit' maar dan zonder de waarden _Y en _X terug te ontvangen en gewoon PLAATJE
1 2 3 4 5 6 7 8 9 10 11 | <?php if ($_SERVER['REQUEST_METHOD'] == "POST") { var_dump($_POST); } <FORM METHOD=""POST"> <input type="image" src="plaatje.gif" name="test"> </form> ?> |
Daar heeft toch niemand last van als er PLAATJE_X en PLAATJE_Y meegestuurd wordt?quote:Op woensdag 9 februari 2005 11:59 schreef Chandler het volgende:
Het volgende.
Wanneer ik een <input type="IMAGE" src="./plaatje" name="PLAATJE"> gebruik krijg ik in PHP de waarde PLAATJE_X en PLAATJE_Y terug... is hier ook een andere manier voor? om toch het plaatje te gebruiken als 'submit' maar dan zonder de waarden _Y en _X terug te ontvangen en gewoon PLAATJE
1 2 | <button type="submit" name="foo" value="bar"> <img src="baz.gif" alt=""></button> |
1 2 3 4 5 6 7 8 9 | pos: id: naam: 1 1 Voorpagina 2 2 Drugsinfo 3 3 Tripreports 4 5 Shopreviews 5 6 Links 6 7 Zoeken 7 13 Forum 8 4 Muziek |
1 2 3 4 5 6 7 8 9 | pos: id: naam: 1 1 Voorpagina 2 2 Drugsinfo 3 5 Shopreviews 4 6 Links 5 3 Tripreports 6 7 Zoeken 7 13 Forum 8 4 Muziek |
1 2 3 4 5 6 7 8 9 | pos: id: naam: 1 1 Voorpagina 2 13 Forum 3 2 Drugsinfo 4 5 Shopreviews 5 6 Links 6 3 Tripreports 7 7 Zoeken 8 4 Muziek |
Hoe dan?quote:
1 2 3 4 5 6 7 8 9 10 11 12 | CREATE TABLE `calls` ( `id` int(11) NOT NULL auto_increment, `aannemer` varchar(255) default NULL, `contact` varchar(255) default NULL, `bedrijf` varchar(255) default NULL, `tel` varchar(255) default NULL, `email` varchar(255) default NULL, `betreft` varchar(255) default NULL, `bericht` varchar(255) default NULL, `nsiemp` varchar(255) default NULL, UNIQUE KEY `id` (`id`) ) TYPE=MyISAM AUTO_INCREMENT=26 ; |
1 | `actief` int NOT NULL default 1, |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | <?php error_reporting(E_ALL); if($dbc=@mysql_connect(extern','user',pass')) { if(!@mysql_select_db('original')) { die('<p>Database niet te selecteren omdat: '.mysql_error().'</p>'); } } else { die('Niet verbonden wegens '.mysql_error().'<br />'); } $x=1; $query="SELECT * FROM FAQ WHERE language_id=1 OR language_id=2"; $result=mysql_query($query); while($row=mysql_fetch_array($result)){ $query2="SELECT product_id FROM FAQ_product WHERE FAQ_id=".$row['FAQ_id'].""; $result2=mysql_query($query2); $row2=mysql_fetch_array($result2); $query3="SELECT product_code FROM product WHERE product_id=".$row2['product_id'].""; $result3=mysql_query($query3); $row3=mysql_fetch_array($result3); $articel_code=addslashes($row3['product_code']); $question=addslashes($row['question']); $answer=addslashes($row['answer']); echo '<p>'.$x.'<br />'.$articel_code.'<br />'.$question.'<br />'.$answer.'</p>'; $x++; } ?> |
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 | <?php error_reporting(E_ALL); if($dbc=@mysql_connect(extern','user',pass')) { if(!@mysql_select_db('original')) { die('<p>Database niet te selecteren omdat: '.mysql_error().'</p>'); } } else { die('Niet verbonden wegens '.mysql_error().'<br />'); } $x=1; $query="SELECT * FROM FAQ WHERE language_id=1 OR language_id=2"; $result=mysql_query($query); while($row=mysql_fetch_array($result)){ $query2="SELECT product_id FROM FAQ_product WHERE FAQ_id=".$row['FAQ_id'].""; $result2=mysql_query($query2); $row2=mysql_fetch_array($result2); $query3="SELECT product_code FROM product WHERE product_id=".$row2['product_id'].""; $result3=mysql_query($query3); $row3=mysql_fetch_array($result3); $articel_code=addslashes($row3['product_code']); $question=addslashes($row['question']); $answer=addslashes($row['answer']); if($dbc=@mysql_connect('localhost','user','pass')){ if(!@mysql_select_db('ssis')){ die('<p>Database niet te selecteren omdat: '.mysql_error().'</p>'); } }else{ die('Niet verbonden wegens '.mysql_error().'<br />'); } $query="INSERT INTO FAQ (id,articel_code,question,answer) VALUES(0,'$articel_code','$question','$answer')"; if(mysql_query($query)){ echo '<p>'.$x.'<br />'.$articel_code.'<br />'.$question.'<br />'.$answer.'</p>'; $x++; }else echo 'foutje '.mysql_error().' '; } ?> |
Of te wel hoe update ik een kolomwaarde van 1 naar 0 via een druk op een icoon?quote:Op donderdag 10 februari 2005 14:06 schreef dnzl het volgende:
En hoe krijg ik het voor elkaar dat wanneer er op een icoontje wordt gedrukt actief omswitcht van 1 naar 0 ?
Eerst haal ik alle menu-items uit de database, behalve degene die verschoven wordt. Ik zet ze in een tijdelijke array:quote:
1 2 3 4 5 6 7 8 9 10 | // Verplaatsen in menu if(!empty($_POST['d_zichtbaar']) && $_POST['d_zichtbaar'] != $paginadata['ond_zichtbaar']) { $nodemove_query = mysql_query("SELECT ond_id, ond_zichtbaar FROM ixney_onderdelen WHERE ond_subsite = '".$subsitedata['sub_id']."' AND ond_zichtbaar > 0 AND ond_id != '".$paginadata['ond_id']."' ORDER BY ond_zichtbaar ASC") or die(mysql_error()); $tmp_arr = array(); while($nodemove = mysql_fetch_assoc($nodemove_query)) { $tmp_arr[$nodemove['ond_zichtbaar']] = $nodemove['ond_id']; } |
1 | $new_arr = array($_POST['d_zichtbaar'] => $paginadata['ond_id']); |
1 2 3 4 5 6 7 | $x = 0; $plus = 0; foreach($tmp_arr AS $var => $val) { $x++; if(array_key_exists($x, $new_arr)) $plus = 1; $new_arr[($x + $plus)] = $val; } |
1 2 3 4 | foreach($new_arr AS $var => $val) { mysql_query("UPDATE ixney_onderdelen SET ond_zichtbaar = ".$var." WHERE ond_id = '".$val."'") or die(mysql_error()); } |
Hmm, inderdaad, want als ik het bv voor meerdere layouts wil laten werken moet het gewoon kunnen met de 'naam' zonder _Y en _X enzo... maaruh ikquote:Op woensdag 9 februari 2005 18:56 schreef SuperRembo het volgende:
[..]
Daar heeft toch niemand last van als er PLAATJE_X en PLAATJE_Y meegestuurd wordt?
Dit kan ook nog, als je het per see wil
[ code verwijderd ]
(Misschien heb je nog wat extra CSS nodig)
Jammer dat je per record een update query nodig hebt.quote:Op donderdag 10 februari 2005 16:08 schreef Heliospan het volgende:
[..]
Eerst haal ik alle menu-items uit de database, behalve degene die verschoven wordt. Ik zet ze in een tijdelijke array:
[ code verwijderd ]
Dan zet ik het ID van het menu item op de plek waar die komt te staan:
[ code verwijderd ]
Daarna zet ik de rest er omheen op deze manier:
[ code verwijderd ]
En daarna update ik ze allemaal in de sql:
[ code verwijderd ]
iemand?quote:Op donderdag 10 februari 2005 15:03 schreef Swetsenegger het volgende:
[ code verwijderd ]
Dit werkt prima, maak ik er vervolgens DIT van:
[ code verwijderd ]
krijg ik :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\FoxServ\www\ssis\onderhoud\convertor2.php on line 30
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\FoxServ\www\ssis\onderhoud\convertor2.php on line 34
en wordt 'articel_code' niet meegenomen. Ik begrijp er niets van.
Read It, Visisted It and Replyed on IT!quote:
De resource van de eerste connection sla je op in $dbc. De tweede connection zet je daar ook in. Misschien dat de connection gesloten wordt als je de resource overschrijft?quote:
Hmz, DAT zou kunnen natuurlijk.quote:Op donderdag 10 februari 2005 19:59 schreef SuperRembo het volgende:
[..]
De resource van de eerste connection sla je op in $dbc. De tweede connection zet je daar ook in. Misschien dat de connection gesloten wordt als je de resource overschrijft?
Als je met meerdere connections werkt lijk me 't so wie so handig om bij elke mysql_query() expliciet de connection mee te geven.
Nou, eigenlijk maakt het niet uit. Ik vind het alleen netter staan als je in de SQL kijkt en het direct duidelijk is wat waar staat. Maar als de site groter wordt is het idd een goed idee om dat wel aan te passenquote:Op donderdag 10 februari 2005 19:01 schreef SuperRembo het volgende:
[..]
Jammer dat je per record een update query nodig hebt.
Maakt het eigenlijk uit of die nummering doorloopt zonder gaten? Als dat niet erg is dan kan het met 1 select en 1 update.
Dan moet je ook als je een record verwijderd de overgebleven records opschuiven. Onnodig werk lijkt me.quote:Op donderdag 10 februari 2005 21:04 schreef Heliospan het volgende:
[..]
Nou, eigenlijk maakt het niet uit. Ik vind het alleen netter staan als je in de SQL kijkt en het direct duidelijk is wat waar staat. Maar als de site groter wordt is het idd een goed idee om dat wel aan te passen
Dat gat blijft als er een record verwijderd wordt, en wordt weer opgevuld als er een nieuw record komt of als ze van plaats wisselen.quote:Op donderdag 10 februari 2005 21:48 schreef SuperRembo het volgende:
[..]
Dan moet je ook als je een record verwijderd de overgebleven records opschuiven. Onnodig werk lijkt me.
1 2 3 4 5 6 7 8 9 | pos: id: 1 20 2 15 3 45 4 10 5 30 6 25 7 40 8 35 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | $pictureID = ...;// input $albumID = ...; // AlbumID, uit select $viewOrder = ...; // huidige ViewOrder van picture die je verplaatst, uit select $viewOrderTo = ...; // ViewOrder van picture waar je naartoe verplaatst, uit select $dir = ($viewOrder<$viewOrderTo) ? '-1' : '+1'; $minViewOrder = min($viewOrder, $viewOrderTo); $maxViewOrder = max($viewOrder, $viewOrderTo); // Update $sql = "UPDATE pictures" ." SET ViewOrder = CASE WHEN PictureID=$pictureID THEN $viewOrderTo ELSE ViewOrder $dir END" ." WHERE (AlbumID=$albumID) AND (ViewOrder BETWEEN $minViewOrder AND $maxViewOrder)"; // ... |
Met html kun je geen arrays maken. $_POST['vraag'] is de array die bestaat uit $vraag[2], $vraag[1] etc. Dit zijn gewoon strings, en dus geen arrays. Je zou iets als:quote:Op vrijdag 11 februari 2005 00:45 schreef wonderer het volgende:
Ik zit al een tijdje met een probleem waar ik niet helemaal uitkom... Ik wil zo'n kwis maken zoals op in de Breakout enzo, je vult een paar antwoorden in en de test berekent wat je dan bent. Elk antwoord kent elke caterogie die je kunt "worden" punten toe, en aan het eind ben je dus datgene met de meeste punten. Het werkte op een nogal knudde manier, en dat wilde ik verbeteren, maar mijn methode lijkt niet te werken...
Wat ik nu heb is dit:
Vraag 1
antwoord a radiobutton name=vraag[1] value=a
antwoord b radiobutton name=vraag[1] value=b
antwoord c radiobutton name=vraag[1] value=c
Vraag 2
antwoord a radiobutton name=vraag[2] value=a
antwoord b radiobutton name=vraag[2] value=b
antwoord c radiobutton name=vraag[2] value=c
(syntax klopt niet, weet ik)
Etc. Ik wil dus $_POST["vraag"] doorgeven aan de functie die daarna de punten gaat berekenen, maar dan gaat ie piepen dat $vraag (zo heet de variabele in de functie) geen array is. Klopt dat? Wat doe ik fout? Of is er een makkelijkere/betere manier om dit te krijgen?
1 2 3 4 5 6 7 | $i =1; $max = 10; /* aantal vragen */ $vragen = array(); /* hier komen zo de vragen in */ while($ < $max) { $vragen["$i"] = $_POST['vraag']["$i"]; $i++; } |
quote:Op donderdag 10 februari 2005 19:59 schreef SuperRembo het volgende:
[..]
De resource van de eerste connection sla je op in $dbc. De tweede connection zet je daar ook in. Misschien dat de connection gesloten wordt als je de resource overschrijft?
Als je met meerdere connections werkt lijk me 't so wie so handig om bij elke mysql_query() expliciet de connection mee te geven.
Heb het bovenstaande niet helemaal geleden, dus kan zijn dat ik dingen opmerk die al opgemerkt zijn.quote:Op vrijdag 11 februari 2005 11:32 schreef Swetsenegger het volgende:
[..]
Maakt niets uit.
Het begint nu een serieus probleem te worden
1 | if($dbc=@mysql_connect(extern','user',pass')) |
Copy paste foutje, zoals gezegd werkt het prima wanneer ik de resultaten echo ipv in een andere db wegschrijven.quote:Op vrijdag 11 februari 2005 12:28 schreef DutchBlood het volgende:
[..]
Heb het bovenstaande niet helemaal geleden, dus kan zijn dat ik dingen opmerk die al opgemerkt zijn.
[ code verwijderd ]
Dat exteren, hoort daar niet nog een ' te staan?
En de @'s weghalen bij bv. connecten etc, levert dat niets op?
Nee klopt. Hij geeft een foutmelding op $row2=mysql_fetch_array($query2) en $row3etcetc.quote:Op vrijdag 11 februari 2005 12:32 schreef Roönaän het volgende:
De fout heeft toch niets met die tweede connectie te maken, of zie ik de regelnummers verkeerd?
gewoon een echo mysql_error() wordt je ook niet wijzer van?
Ja precies. Ik probeer het eerst met een myscl_close() in de while lus.quote:Op vrijdag 11 februari 2005 13:29 schreef Roönaän het volgende:
@Swets.
Op zich zou je een hele rigide manier kunnen pakken.
1. Alles wat je opnieuw wilt opslaan in een array flikkeren.
2. mysql_close();
3. mysql_connect(ssis) //pseudo
4. wegschrijven.
-r-
quote:Op vrijdag 11 februari 2005 12:57 schreef Chandler het volgende:
Heeft iemand een idee hoe je een directory kan uitlezen (dat kan ik al wel) maar tevens te sorteren op datum van de directories? dus nieuwste dir eerst, dan tot dat de oudste de array eindigd?
Wat stom! Ik gaf dus $_POST["vraag[]"] door in plaats van $_POST["vraag"]quote:Op vrijdag 11 februari 2005 07:29 schreef SuperRembo het volgende:
Je kan prima een array maken met een html form.
Je moet er wel rekening mee houden wat er gebeurd als een vraag niet ingevuld wordt. Als vraag 2 niet ingevuld wordt, dan bestaat $_POST['vraag'][2] niet. Als helemaal geen vragen worden ingevuld, dan blijft $_POST['vraag'] helemaal leeg.
Doe eens een var_dump($_POST) of var_dump($_POST['vraag']) zodat je ziet wat je form precies doorgeeft.
1 2 3 | echo "A banana is ".$fruits['banana']; echo "A banana is ".$fruits["banana"]; echo "A banana is $fruits[banana]"; |
het geeft op het eerste gezicht driemaal hetzelfde resultaat, maar geen quotes gebruiken is niet okay zie:quote:Op vrijdag 11 februari 2005 20:40 schreef SuperRembo het volgende:
Zoder aanhalingstekens alleen in een string. Dit geeft 3x hetzelfde resultaat:
[ code verwijderd ]
Zie verder de manual.
bron: php.netquote:Array do's and don'ts
Why is $foo[bar] wrong?
You should always use quotes around a string literal array index. For example, use $foo['bar'] and not $foo[bar]. But why is $foo[bar] wrong? You might have seen the following syntax in old scripts:
1
2
3
4
5
6<?php
php
$foo[bar] = 'enemy';
echo $foo[bar];
// etc
?>
This is wrong, but it works. Then, why is it wrong? The reason is that this code has an undefined constant (bar) rather than a string ('bar' - notice the quotes), and PHP may in future define constants which, unfortunately for your code, have the same name. It works because PHP automatically converts a bare string (an unquoted string which does not correspond to any known symbol) into a string which contains the bare string. For instance, if there is no defined constant named bar, then PHP will substitute in the string 'bar' and use that.
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 | <?php include("mysql.php"); include("functions.inc"); connectDB(.....); if(!isset($_COOKIE['ID'])) { Login_Exec(); } else { if($_GET['action'] != '200') { session_start(); echo "Welkom terug, ".$_SESSION['name']; echo ""; echo("<br>\n<a href='Backup.php?action=200'>logout</a>"); if(!isset($_POST['command']) || !isset($_POST['args'])) { echo("<form>\n"); } else { Backup_Exec($_POST['command'],$_POST['args']); } } else { Logout_Exec(); } } ?> |
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 | <?php function Login_Exec() { session_start(); if(isset($_POST['Username']) && isset($_POST['Password'])) { $user = addslashes(strip_tags($_POST['Username'])); $pass = md5($_POST['Password']); $check = mysql_query("SELECT * FROM `users` WHERE `Username` = '".$user."' AND `Password` = '".$pass."'"); if(mysql_num_rows($check) >= 1) { setcookie("ID",session_id()); $_SESSION['id'] = session_id(); $_SESSION['name'] = $user; $_SESSION['password'] = $pass; //print_r($_SESSION); header("location:".$_SERVER['PHP_SELF']); } else { $error = mysql_errno(); include("html\login.html"); } } else { include("html\login.html"); } } function Logout_Exec() { setcookie("ID",""); } function Register_Exec() { } function Backup_Exec($command,$args) { $_SESSION['cmd'] = $command; $_SESSION['arg'] = $args; echo '<pre>'; // Outputs all the result of shellcommand "ls", and returns // the last output line into $last_line. Stores the return value // of the shell command in $retval. $last_line = system($command, $retval); // Printing additional info echo '</pre><hr />Last line of the output: ' . $last_line; echo '<hr />Return value: ' . $retval; } ?> |
maar ik roep mijn session_start telkens aanquote:Op zaterdag 12 februari 2005 11:54 schreef Chandler het volgende:
gewoon session_start() boven aan je script zetten?
ok gedaan staat nu alleen een session_start() boven aan index .php (boven de includes)quote:Op zaterdag 12 februari 2005 11:57 schreef Chandler het volgende:
Dat zie ik, zet het gewoon maar eens aan het begin van je scripten kijk dan nog eens
je kan maar 1x sessie gebruiken en daarom zet je hem ook bovenaan.quote:Op zaterdag 12 februari 2005 11:58 schreef mschol het volgende:
[..]
ok gedaan staat nu alleen een session_start() boven aan index .php (boven de includes)
en zelfsd dan maakt hij er meerdere aan
dan heb je echt niet geoed gezocht hoor,quote:Op zaterdag 12 februari 2005 13:09 schreef Johan-Derksen het volgende:
Hoi
Ik heb dit als code gebruikt:
mysql_connect("iets", "nogiets", "enweeriets");
mysql_select_db("hohoho");
$sql = "SELECT * FROM gebruikers";
$resultaat = mysql_query($sql);
Dat lijkt me een begin om een tabel uit een db te halen of niet?
Hoe kan ik nu letterlijk die tabel op mn page krijgen?
Veel zoeken op phphulp.nl en phpfreazk.nl leverde niets op
1 2 3 4 5 | <?php while($myRow = fetch_mysql_query($resultaat)){ echo ""; } ?> |
1 2 3 4 5 6 | // While a row of data exists, put that row in $row as an associative array while ($row = mysql_fetch_assoc($result)) { echo $row["userid"]; echo $row["fullname"]; echo $row["userstatus"]; } |
maakt toch niet zoveel uit ?? assoc of query , tenminste zo ver ik weet.quote:Op zaterdag 12 februari 2005 13:23 schreef SuperRembo het volgende:
fetch_mysql_query? mysql_fetch_assoc dus.
[ code verwijderd ]
Staat allemaal netjes in de PHP manual
Je hebt ook nog mysql_fetch_row(), mysql_fetch_array(), maar mysql_fetch_assoc() is normaal gesproken het makeklijkst.
Dit heb ik nu gebruikt...quote:$sql = "SELECT * FROM gebruikers";
$resultaat = mysql_query($sql);
echo "Gebruikersnaam";
echo " ";
echo "divisie";
echo " ";
echo "Sterren-record";
echo " ";
echo "Sterren-record-match";
echo "<br>";
while($row = mysql_fetch_assoc($resultaat)){
echo $row["gebruikersnaam"];
echo " ";
echo $row["divisie"];
echo " ";
echo $row["Sterren-record"];
echo " ";
echo $row["Sterren-record-match"];
echo "<br>";
Nou fetch_mysql_query() bestaat nietquote:Op zaterdag 12 februari 2005 13:25 schreef appelsientje het volgende:
[..]
maakt toch niet zoveel uit ?? assoc of query , tenminste zo ver ik weet.
quote:Op zaterdag 12 februari 2005 14:00 schreef SuperRembo het volgende:
Nou fetch_mysql_query() bestaat niet
Snelheidsverschil tussen mysql_fetch_row(), mysql_fetch_array(), en mysql_fetch_assoc() is er eigenlijk niet.
Maar er is wel verschil in gebruiksgemak.
mysql_fetch_row() geeft een array zonder veldnamen terug.
mysql_fetch_assoc() geeft een assosiatieve array terug, met de veldnamen als keys.
mysql_fetch_array() is een combinatie van mysql_fetch_row() en mysql_fetch_assoc().
euh als ik jou goed begrijpquote:Op zaterdag 12 februari 2005 13:51 schreef Johan-Derksen het volgende:
[..]
Dit heb ik nu gebruikt...
Log maar eens in op http://fokhattrick.madkow.nl/test/login.php
met JD en hoi
Dan zie je dat de gegevens uit de tabel halen lukt... Maar dat het weergeven in een mooie tabel niet lukt... Moet dit mbv een array? Heb ik dat goed gelezen?
Voor de rest vermoed ik dat die spaties en <br> ook wel netter kan... of nie?
1 2 3 | while{ <table><tr><td> <? echo MyRow['gebruikersnaam']; ?></td><td><? echo $MyRow['bla bla '];?></td></tr></table> } |
Dan zal je moeten verdiepen in de wondere wereld van HTML.quote:Op zaterdag 12 februari 2005 13:51 schreef Johan-Derksen het volgende:
[..]
Dit heb ik nu gebruikt...
Log maar eens in op http://fokhattrick.madkow.nl/test/login.php
met JD en hoi
Dan zie je dat de gegevens uit de tabel halen lukt... Maar dat het weergeven in een mooie tabel niet lukt... Moet dit mbv een array? Heb ik dat goed gelezen?
Voor de rest vermoed ik dat die spaties en <br> ook wel netter kan... of nie?
zoals ik gedaan heb werkt perfectquote:Op zaterdag 12 februari 2005 14:11 schreef Johan-Derksen het volgende:
Dom van me.. zodra je die tekst uit een db hebt gehaald kan je het natuurlijk vormgeven met HTML...
Ik moet dan alleen ff kijken hoe ik html kan gebruiken tussen <?php en ?>
ik heb de sessioon id als $_GET meegegeven aan het bestand (dus index.php?PHPSESSID=h432tr4t4 )quote:Op zaterdag 12 februari 2005 12:26 schreef Chandler het volgende:
hmm... vaag probleem... heb je nog meer $_SESSION(s) gebruikt in je code? en waar worden ze allemaal aangemaakt? ennuh als je weer inlogt zorg je dan wel dat als er een sessie bestaat deze verwijderd wordt?
Hoe verwerk ik daar het volgende in?quote:echo "<table><tr><td>";
echo "Gebruikersnaam";
echo " ";
echo "divisie";
echo " ";
echo "Sterren-record";
echo " ";
echo "Sterren-record-match";
echo "<br>";
echo "</td>"
while($row = mysql_fetch_assoc($resultaat)){
echo "<td>"
echo $row["gebruikersnaam"];
echo " ";
echo $row["divisie"];
echo " ";
echo $row["Sterren-record"];
echo " ";
echo $row["Sterren-record-match"];
echo "<br>";
echo "</td></tr></table>"
quote:while{
<table><tr><td> <? echo MyRow['gebruikersnaam']; ?></td><td><? echo $MyRow['bla bla '];?></td></tr></table>
}
Nou het kan nu bijna niet makkelijker,quote:Op zaterdag 12 februari 2005 14:31 schreef Johan-Derksen het volgende:
appelsientje
ik snap niet precies hoe ik dat moet aanpassen...
Ik heb nu dit, maar dat is fout, blijkbaar
[..]
Hoe verwerk ik daar het volgende in?
[..]
1 2 3 4 5 6 7 | <table> while($row = mysql_fetch_assoc($resultaat)){ echo "<tr><td>" . $row['gebruikersnaam'] . "</td><td>" .$row['divisie']."</td></tr>"; echo "<tr><td>" . $row['Sterren-record'] . "</td><td>" .$row['Sterren-record-match']."</td></tr>"; echo "<tr><td></td><td></td></tr>"; } </table> |
Dat is er.quote:Op zaterdag 12 februari 2005 15:49 schreef Gelderland het volgende:
ik had een vraag:
ik er een standaart script te vinden waarmee je gemakkelijk filmpjes/plaatjes kan uploaden.
Het CMS is de zichtbare kant welke je de gebruikers 'ingang' geeft tot het script welke de plaatjes upload, eventueel resized, naar de server uploadt en er een id enzo aan mee geeft.quote:Volgens mij heet dat een CMS. Dus dat je vanuit een control panel kan uploaden en die filmpjes/plaatjes dan gelijk op je site komen, gesorteerd en wel, en datie na iedere 20 plaatjes bijvoorbeeld automatisch een nieuwe pagina en een verwijzing maakt naar die andere pagina(s) aangemaakt word. Het hoeft allemaal niet uitgebreid....
Ja die zijn er. Ook mensen die gewoon bij de kvk ingeschreven staanquote:(of zijn er mensen die dit maken/installeren als hobby tegen een kleine vergoeding/link ofsow, zeg het dan ook ff
)
Ehmz, min of meer. PHP (de taal welke dit mogelijk maakt) 'maakt' html welke je uiteindelijk op je scherm ziet.quote:en kan je zo'n script ook in .html pagina zetten![]()
Voor die knaak en een bounty mag je zelf een php tutorial doorspittenquote:Op zaterdag 12 februari 2005 20:12 schreef Gelderland het volgende:
ok, als iemand mij een keertje wilt helpen (MSN) met zo'n standaart script (als ik die gevonden heb ooit) in mijn html page te zetten en werkend/online te krijgen (en ja, mijn host ondersteunt PHP/mysql), dan moet je het maar ff aangeven (of toevoegen op: tim_dntz@hotmail.com).....![]()
THX![]()
![]()
Negatieve reactie?quote:Op zaterdag 12 februari 2005 20:23 schreef Gelderland het volgende:
naja, het is vaak geen tutuiral maar gewoon een script zoals dit: http://cutephp.com/ of zoiets: http://www.sitemasters.be/?pagina=scripts/scripts&cat=9
kan je iets downloaden en dan moet je het nog in je site krijgen. Dus mensen die een keertje (Als ze zich vervelen) willen helpen, voeg me maar toe: tim_dntz@hotmail.com
THX(negatieve reacties zoals hierboven zit ik niet op te wachten, reageer dan niet
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | $subject = "domain.net Reactivation email"; $headers .= "From: domain.net <stefan@domain.net>\n"; $headers .= "Reply-To:stefan@domain.net\n"; $headers .= "X-Sender: domain\n"; $headers .= "X-Mailer: domain\n"; // mailer $headers .= "Return-Path: <tefan@domain.net>\n"; // Return path for errors $headers .= "Content-Type: text/html; charset=iso-8859-1\n"; // Mime type $message = ' <html> <head> <title>domain.net</title> </head> <body> Hello '.$POST[name].',<br /><br /> You\'ve just changed your '.$sendmail.'.<br \> There for you have to reactivate your account at domain.net by clicking your activation link. <br \> Your activation link is: <a href="http://www.domain.net/~user/stefan/pp.php?pid=register&id='.$activate_id.'">http://www.domain.net/~user/stefan/pp.php?pid=register&id='.$activate_id.'</a> <br \> Regards,<br /> The team at <a href="http://www.domain.net">www.domain.net</a><br /><br /> </body> </html>'; mail($POST[email], $subject, $message, $headers); |
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 | Return-Path: <apache@srv71.flexwebhosting.nl> Received: from srv71.flexwebhosting.nl (root@localhost) by domain.net (8.12.10/8.12.10) with ESMTP id j1CNoxeQ013669 for <stefan@domain.net>; Sun, 13 Feb 2005 00:50:59 +0100 X-ClientAddr: 127.0.0.1 Received: from srv71.flexwebhosting.nl (localhost.localdomain [127.0.0.1]) by srv71.flexwebhosting.nl (8.12.10/8.12.10) with ESMTP id j1CNoxFp013664 for <stefan@domain.net>; Sun, 13 Feb 2005 00:50:59 +0100 Received: (from apache@localhost) by srv71.flexwebhosting.nl (8.12.10/8.12.10/Submit) id j1CNoxM9013662; Sun, 13 Feb 2005 00:50:59 +0100 Date: Sun, 13 Feb 2005 00:50:59 +0100 Message-Id: <200502122350.j1CNoxM9013662@srv71.flexwebhosting.nl> To: stefan@domain.net Subject: [SPAM] domain.net Reactivation email From: "domain.net" <stefan@domain.net> Reply-To: stefan@domain.net X-Sender: domain X-Mailer: domain Content-Type: text/html; charset=iso-8859-1 X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on srv71.flexwebhosting.nl X-Spam-Status: Yes, hits=7.7 required=5.0 tests=AWL,HTML_30_40,HTML_MESSAGE, MIME_HEADER_CTYPE_ONLY,MIME_HTML_ONLY,RATWARE_HASH_2, RATWARE_HASH_2_V2 autolearn=no version=2.63 X-Spam-Level: ******* X-Spam-Flag: YES X-Spam-Report: * 1.2 RATWARE_HASH_2 Bulk email fingerprint (hash 2) found * 2.4 RATWARE_HASH_2_V2 Bulk email fingerprint (hash 2 v2) found * 0.8 HTML_30_40 BODY: Message is 30% to 40% HTML * 0.1 MIME_HTML_ONLY BODY: Message only has text/html MIME parts * 0.0 HTML_MESSAGE BODY: HTML included in message * 1.9 MIME_HEADER_CTYPE_ONLY 'Content-Type' found without required MIME headers * 1.2 AWL AWL: Auto-whitelist adjustment Status: <html> <head> <title>domain.net</title> </head> <body> Hello Stefan,<br /><br /> You've just changed your password.<br \> There for you have to reactivate your account at domain.net by clicking your activation link. <br \> Your activation link is: <a href="http://www.domain.net/~user/stefan/pp.php?pid=register&id=6fb1e52d856e507cc80f83f023f91d1b">http://www.domain.net/~user/stefan/pp.php?pid=register&id=6fb1e52d856e507cc80f83f023f91d1b</a> <br \> Regards,<br /> The team at <a href="http://www.domain.net">www.domain.net</a><br /><br /> </body> </html> |
Een beetje mailprogramma kan ook linkjes in plaintext emails wel klikbaar weergeven. Handigst is wel als je ze netjes met http:// laat beginnenquote:Op zondag 13 februari 2005 00:54 schreef Darkomen het volgende:
Mijn emails verzonden via php worden gezien als spam door verschillende spam filters, hotmail en nog wat webmails.
Er gaat wat fout zoals je in de email kan zien, maar wat kan ik het beste doen om deze fouten te verhelpen.
De email moet wel html blijven omdat de gebruiker dan makenlijk op de link kan drukken.
[ code verwijderd ]
De gegenereerde email incl header
[ code verwijderd ]
Er staat een spamreports van SpamAsassin bijquote:Op zondag 13 februari 2005 00:54 schreef Darkomen het volgende:
Mijn emails verzonden via php worden gezien als spam door verschillende spam filters, hotmail en nog wat webmails.
Er gaat wat fout zoals je in de email kan zien, maar wat kan ik het beste doen om deze fouten te verhelpen.
De email moet wel html blijven omdat de gebruiker dan makenlijk op de link kan drukken.
[ code verwijderd ]
De gegenereerde email incl header
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on srv71.flexwebhosting.nl X-Spam-Status: Yes, hits=7.7 required=5.0 tests=AWL,HTML_30_40,HTML_MESSAGE, MIME_HEADER_CTYPE_ONLY,MIME_HTML_ONLY,RATWARE_HASH_2, RATWARE_HASH_2_V2 autolearn=no version=2.63 X-Spam-Level: ******* X-Spam-Flag: YES X-Spam-Report: * 1.2 RATWARE_HASH_2 Bulk email fingerprint (hash 2) found * 2.4 RATWARE_HASH_2_V2 Bulk email fingerprint (hash 2 v2) found * 0.8 HTML_30_40 BODY: Message is 30% to 40% HTML * 0.1 MIME_HTML_ONLY BODY: Message only has text/html MIME parts * 0.0 HTML_MESSAGE BODY: HTML included in message * 1.9 MIME_HEADER_CTYPE_ONLY 'Content-Type' found without required MIME headers * 1.2 AWL AWL: Auto-whitelist adjustment |
Ze vallen beide overquote:Op zondag 13 februari 2005 11:58 schreef Darkomen het volgende:
Daar heb ik zitten kijken, alleen kom ik daar niet zo ver bij, die RATWARE_HASH en RATWARE_HASH_2_V2 snap ik niet, er is voor mij geen reden waarom deze email als bulk mail word gezien want het word naar 1 persoon gestuurt, zonder cc of bcc.
1 | X-Mailer: domain |
Wel in 3.0, maar wat'ie precies doet weet ik zo ook niet.quote:MIME_HEADER_CTYPE_ONLY komt niet voor op de tests voor 2.6
Haal die "X-Sender: domain" en "X-Mailer: domain" eens weg.quote:Op zondag 13 februari 2005 11:58 schreef Darkomen het volgende:
Daar heb ik zitten kijken, alleen kom ik daar niet zo ver bij, die RATWARE_HASH en RATWARE_HASH_2_V2 snap ik niet, er is voor mij geen reden waarom deze email als bulk mail word gezien want het word naar 1 persoon gestuurt, zonder cc of bcc.
Gelukkig staat er een omschrijving bijquote:MIME_HEADER_CTYPE_ONLY komt niet voor op de tests voor 2.6
1 | * 1.9 MIME_HEADER_CTYPE_ONLY 'Content-Type' found without required MIME headers |
1 2 3 4 5 6 | $subject = "domain.net Reactivation email"; $headers .= "From: domain.net <stefan@domain.net>\n"; $headers .= "Reply-To:stefan@domain.net\n"; $headers .= "Return-Path: <stefan@domain.net>\n"; // Return path for errors $headers .= "MIME-Version: 1.0 \n"; $headers .= "Content-Type: text/html; charset=iso-8859-1\n"; // Mime type |
Met dat uSort kom ik niet helemaal uit volgens mij, ik ben daarin nog niet echt handigquote:Op vrijdag 11 februari 2005 19:05 schreef SuperRembo het volgende:
[..]directory inlezen in array per directory de tijd opvragen sorteren met usort()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | // ... // bij het lezen van de dir de array files vullen met filename en filedate $files[] = array( 'name' => $file, 'date' => filemtime($path.$file), ); //... // callback functie voor usort(). function compareFileDates($a, $b) { if ($a['date'] == $b['date']) { return 0; } return ($a['date'] < $b['date']) ? -1 : 1; } // array $files sorteren op datum usort($files, 'compareFileDates'); |
Je maakt een formulier, lijkend op je registratie formulier, met al die velden dus erin, alleen echo je de waarden die al in de database zitten.quote:Op zondag 13 februari 2005 16:54 schreef Johan-Derksen het volgende:
Hallo
Nog een vraag van deze PHP-noob
Ik heb een tabel in mn mysql-db genaamd gebruikers...
Daar staan gegevens in zoals naam, password enz...
Ik wil nu een pagina maken waarin ze zelf een paar van die gegevens zien en kunnen aanpassen.
Bijvoorbeeld het wachtwoord dus.
Ik ken het commando update en kan daar mee werken. Wat me niet lukt is om een pagina te maken waar de gebruiker zijn eigen gegevens kan zien en dan kan bewerken op diezelfde page.
Bijvoorbeeld om een wachtwoord te wijzigen of zo.
Ik kan niet echt vinden wat ik zoek, mede omdat ik geen juiste zoektermen kan verzinnen.
Heeft iemand daar een voorbeeld van waar ik mee aan de slag kan?
1 | $query = 'UPDATE gebruikers SET naam=\''.$_POST['naame'].'\',email=\''.$_POST['email'].'\', etc WHERE gebruikersid='.$gebruikersid; |
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 | <?php session_start(); function compareFileDates($a, $b) { if ($a == $b) { return 0; } return ($a < $b) ? -1 : 1; } function filterFiles($extList) { // get shit van babes sources, inport en daarmee tree scannen. // create a directory connection $t = @opendir(DATA_DIR); // is the connection made? if ($t) { // loop until no files are found anymore while (false !== ($file = readdir($t))) { // is it no directory or . or .. if ($file != "." && $file != ".." && is_dir(DATA_DIR . "/" . $file)) { // add file $tmp['datadir'][$file] = filemtime(DATA_DIR . "/" . $file); } } // close directory connection closedir($t); } uASort($tmp['datadir'], 'compareFileDates'); // is $fDb an array? var_dump($tmp['datadir']); } FilterFiles(array()); ?> |
"een foutmelding"quote:Op zondag 13 februari 2005 23:39 schreef Chandler het volgende:
[ code verwijderd ]
echter krijg ik nu op regel 41 (waar uSort) staat een foutmeldingen ook dezelfde foutmelding met uaSort
oef...arrays niet me sterkste vak
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 | $sql = "SELECT email FROM users WHERE firstname = '". $row['nsiemp'] ."'"; $result = mysql_query($sql); if (!$result) { echo "Kon de query ($sql) niet uitvoeren (E-mail melding niet verzonden): " . mysql_error(); exit; } if (mysql_num_rows($result) == 0) { echo "Geen uitgaande calls gevonden."; exit; } while ($row = mysql_fetch_assoc($result)) { $toAdres = $row['email']; switch($_POST['action']){ default: break; case "versturen": $mailTitel = "Nieuwe call op NSI Employees"; $mailText.="\nBeste,"; $mailText.="\nJe hebt een nieuwe call ontvangen op NSI Employees."; $mailText.="\nDetails kun je bekijken via http://w.w.com"; mail($toAdres, $mailTitel, $mailText, "From: NSI"); ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php $query="SELECT FAQ_id, question, answer FROM FAQ WHERE language_id=1 OR language_id=2"; $result=mysql_query($query); while($row=mysql_fetch_array($result)){ $query2="SELECT product_id FROM FAQ_product WHERE FAQ_id=".$row['FAQ_id'].""; $result2=mysql_query($query2); $row2=mysql_fetch_array($result2); $query3="SELECT product_code FROM product WHERE product_id=".$row2['product_id'].""; $result3=mysql_query($query3); $row3=mysql_fetch_array($result3); ?> |
welke foutmelding krijg je?quote:Op maandag 14 februari 2005 11:04 schreef dnzl het volgende:
Ik probeer naast het invoegen van data in mySQL. Een mailtje te versturen. Nu loop ik een beetje stuk. Terwijl ik toch het idee heb dat ik geen fouten maak.
[ code verwijderd ]
1 2 3 | <? mail($toAdres, $mailTitel, $mailText, "From: NSI"); ?> |
quote:Op maandag 14 februari 2005 13:30 schreef dnzl het volgende:
Een parse error op deze lijn
[ code verwijderd ]
1 2 3 | <?php mail($toAdres, $mailTitel, $mailText, 'From: NSI'); ?> |
quote:Op maandag 14 februari 2005 07:37 schreef SuperRembo het volgende:
"een foutmelding"
Deze query waarbij ik getracht heb query 1 en 2 te joinen geeft al niet het verwachte resultaat terug:quote:Op maandag 14 februari 2005 13:07 schreef Swetsenegger het volgende:
Ik ben nog steeds met mijn conversie bezig van een externe db naar een lokale db.
Een en ander werkt nu, maar op de server staat een maximum execution time voor php waar ik lastig wat aan kan veranderen.
Ik moet mijn code dus optimaliseren.
Nu heb ik dit:
[ code verwijderd ]
hetgeen dus de originele data uit de externe db haalt.
Maar er moet toch een manier zijn om dit in 1 query te doen ipv van 3 waarbij ik ook nog 484 keer de db connectie moet openen en sluiten (Het gaat dus om 484 rows, in 3 verschillende tabellen)
Nu vind ik die sql reference manual erg wazig, ik begrijp in ieder geval dat ik met aliasen voor de verschillende tabel namen moet gaan werken en join's maar het is nog een beetje abrcadabra voor me.
Tipje van de sluier iemand?
1 2 3 4 5 | <?php SELECT FAQ.FAQ_id, FAQ.question, FAQ.answer, FAQ_product.product_id FROM FAQ WHERE FAQ.language_id=1 or FAQ.language_id=2 LEFT JOIN FAQ_product ON FAQ_product.FAQ_id=FAQ.FAQ_id ?> |
Uhm, what's the difference?quote:Op maandag 14 februari 2005 13:37 schreef Swetsenegger het volgende:
[..]
[ code verwijderd ]
probeer deze eens
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |