17. maj 2005 - 09:33Der er
8 kommentarer og 1 løsning
Validering i PHP
Hej, Jeg har en side med en masse sessions hvilke er blevet sendt fra en tidligere side via form fields (her har jeg kun taget 3 af dem med). Nu vil jeg gerne validere at der ikke er nogle forbudte tegn i disse sessions: < > { } [ ], inden jeg sender dem til databasen. Jeg er bare i tvivl om hvordan jeg laver denne validering. Her er min side:
<?php session_start(); ?> <?php //Alle sessions bliver her reg. if (isset($_POST["senddata"])){ session_register('refnr1'); $_SESSION['refnr1'] = $_POST["refnr1"]; $refnr1=$_SESSION['refnr1'];
<table width="760" border="0" class="p"> <tr> <td colspan="2"><?php //All sessions are being updated $refnr1=$_SESSION['refnr1']; $refnr2=$_SESSION['refnr2']; $refnr3=$_SESSION['refnr3']; //The data is displayed. ?> <b>--Søg eksisterende job--</b><br> <b><i>Jeg søger job med stillingsnr.:</i></b><br> <?php echo $refnr1;?><br> <?php echo $refnr2;?><br> <?php echo $refnr3;?> </td> </tr> <tr> <td colspan="4" valign="top"></td> </tr> <tr> <td colspan="2"><hr></td> </tr> <tr> <td width="68"><input type="button" class="knap" OnClick="history.go(-1);" value="Ret CV" style="cursor:pointer"></td> <td width="682" valign="top">Tryk på denne knap for at rette i dit CV</td> </tr> <tr> <td><form action="indsaet.php" method="POST"> <input type="submit" class="knap" name="sendcv" value="Gem CV" style="cursor:pointer"> </form></td> <td valign="top">Tryk på denne knap for at gemme dit CV</p> <?php //Checks if querystring is sent back from "indsaat_opretcv.php" to check if the data is inserted correctly into the Database if(isset($_GET["test"])){ echo "<script>"; //Sends the user to the "opret_done page", if data has been sent to the database without errors. echo "location.href='confirm.php'"; echo "</script>"; } else { echo ""; } ?> </td> </tr> </table>
Hvor i koden ville du smide dette?? Det skal jo være sådan at hvis der er nogle ulovlige tegn, skal brugeren også have det at vide, dvs. der skal echo's noget fejltekst.
Synes godt om
Slettet bruger
17. maj 2005 - 10:09#4
Du kan gøre det fra den side hvor forminformationen sendes.
if($_POST['Submit'] == "Submit") { if(!preg_match('/[][<>{}]/', $input)){ // ok // send forms indhold }else{ // fejl i input } }
Lige nu har jeg en form som siger: <form name="form1" method="POST" action="vis_data.php">. Hvordan får jeg sendt den form fra valideringen? Altså dér hvor du skriver //ok send forms indhold?
Jeg har ikke taget alle mine fields med (jeg har også en del textareas som også skal indgå i den validering!) Jeg har prøvet at implementere det som pacroon postede. Men det hænger ikke helt sammen, for hvordan får jeg sendt dataen?? Lige nu gør valideringen jo ingenting!
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.