25. maj 2005 - 17:29Der er
4 kommentarer og 1 løsning
Data via en form til db, ændring af tegn i dataen efter sendt
Jeg har en ganske normal form, hvor jeg indtaster data, denne ser sådan her ud: <input type=text name=name size=40>
"name" ender i db ved at formen sendes videre til addname.php når der trykkes på SEND.
addcheat.php - ser således ud: $query="INSERT INTO data (id, name) VALUES ('','$name'))"; Der er ingen ben i det, MEN HER ER YDERLIGERE HVAD JEG ØNSKER der skal ske, når man indtaster data og sender det til DB.
Jeg vil gerne ha at "name" bliver tilføjet til endnu en kolonne, lad os bare kalde den "shortname", men i denne kolonne, fjernes alle tegn, mellemrum og 'store bogstaver gøres til små', således at min query kommer til at se sådan her ud;
$query="INSERT INTO data (id, name, shortname) VALUES ('','$name',$shortname'))";
Men før at shortname tilføjes, går jeg næsten ud fra der skal køres noget str_replace(?) på "name".
Er der nogen nem måde at gøre dette på? Hvordan kan de gøres?
Først konverteres alle tegn til småt (det er der ingen ben i), så erstattes alle tegn der ikke er enten a-z eller 0-9 med '' (blank) - såre simpelt :-)
Ok, vil prøve at teste dit forslag ved første mulighed..
Men jeg vil gerne ha' at det originale "name", som bliver indtastet i formen, ryger i "name" kolonnen i DB og det der bliver "manipuleret" med ryger i en anden kolonne fx "shortname"..
Men bare lige for at være sikker på hvad din funktion udfører, ville det så virke på følgende måde? ORG name: "Pete'r & .Pet:E" bliver til, shortname: "peterpete"?
$shortname = preg_replace('/[^a-z0-9]/', '', strToLower($name)); $query="INSERT INTO data (id, name, shortname) VALUES ('','$name', '$shortname')";
(fjernede en overskydende parantes fra din SQL)
Synes godt om
Ny brugerNybegynder
Din løsning...
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.