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
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |