Avatar billede butcher Nybegynder
26. marts 2004 - 09:44 Der er 6 kommentarer og
1 løsning

udlad standard tekst i form

Den her er sikkert ret simpel, så ikke dril :)

Jeg har en formular på en side med nogle input boxe.
<input type="text" name="subs" size="30" value="Subs" onFocus="clearText(this)">
<input type="text" name="tale" size="30" value="Sprog" onFocus="clearText(this)">

Som i kan se har de en standard tekst: value="Subs" og value"Sprog".

Nu skulle det gerne være sådan at hvis man trykke på send mens den standard tekst står i feltet skal den ikke sende den.

Det kan man jo nok lave med nogle if sætninger, men jeg kan ikke rigtigt lige se mig ud af det.

Det her er min kode til at tilføje til databasen:

<?php
    include("config.php");
$time = date("d/m-Y");
    if($_POST['isUploaded']){
        mysql_query("INSERT INTO dvddb (navn, version, indhold, subs, tale, rating, genre, reg, lyd, imdb, udlaan, opdateret) values ('$_POST[navn]', '$_POST[version]', '$_POST[indhold]', '$_POST[subs]', '$_POST[tale]', '$_POST[rating]', '$_POST[genre]', '$_POST[reg]', '$_POST[lyd]', '$_POST[imdb]', '$_POST[udlaan]', '$time')");
        echo "<div align='center'><font size=3' color='#FFFFFF'><b>Dvd Oprettet</b></font></div>";
    }

        ?>

Jeg tænkte på at smide noget med if($_POST['subs']= 'Subs') { $_POST['subs']= ''} eller noget i den stil, men sådan er det nok ikke helt :=)
Avatar billede butcher Nybegynder
26. marts 2004 - 10:17 #1
Hmm jeg prøvede med:

if($_POST['subs'] = 'Subs'){
$_POST['subs'] = '';
}

Men så kommer der overhovedet ikke noget med lige meget hvad jeg skriver i det felt :)
Avatar billede b4r0n3n Nybegynder
26. marts 2004 - 10:27 #2
<?
include("config.php");
$time = date("d/m-Y");

if($_POST['subs'] == "Subs") {
$subs = "";
} else {
$subs = &$_POST['subs'];
}
if($_POST['tale'] == "Sprog") {
$tale = "";
} else {
$tale = &$_POST['tale'];
}

if($_POST['isUploaded']){
mysql_query("INSERT INTO dvddb (navn, version, indhold, subs, tale, rating, genre, reg, lyd, imdb, udlaan, opdateret) values ('$_POST[navn]', '$_POST[version]', '$_POST[indhold]', '$subs', '$tale', '$_POST[rating]', '$_POST[genre]', '$_POST[reg]', '$_POST[lyd]', '$_POST[imdb]', '$_POST[udlaan]', '$time')");
echo "<div align='center'><font size=3' color='#FFFFFF'><b>Dvd oprettet</b></font></div>";
}
?>

Det er en god ide at lave noget validering på input, så folk ikke kan smide farlig kode med i dit query.

Brug bl.a.: $variabel = addslashes($_POST['data']);
Avatar billede b4r0n3n Nybegynder
26. marts 2004 - 10:28 #3
Det var ment som et svar...
Avatar billede butcher Nybegynder
26. marts 2004 - 11:02 #4
og det virker pefekt.

"Det er en god ide at lave noget validering på input, så folk ikke kan smide farlig kode med i dit query.

Brug bl.a.: $variabel = addslashes($_POST['data']);"

Hvad mener du med det, kan du kort forklare?
Avatar billede Slettet bruger
26. marts 2004 - 11:06 #5
Du kan prøve at læse http://www.eksperten.dk/artikler/190 som netop handler om addslashes.
Avatar billede b4r0n3n Nybegynder
26. marts 2004 - 11:34 #6
butcher: hvis der er " ; eller ' i din SQL syntax, så kan den blive fortolket forkert. Forestil dig at en bruger skriver følgende i Navn feltet:

')"); mysql_query("delete * from dvddb where id > 0");

så vil din syntax se sådan ud:

mysql_query("INSERT INTO dvddb (navn, version, indhold, subs, tale, rating, genre, reg, lyd, imdb, udlaan, opdateret) values ('')"); mysql_query("delete * from dvddb where id > 0");

Godt nok kræver det at han kender tabelnavn mm., men muligheden er der! Ved at bruge addslashes, vil specielle tegn blive betraget som en karakter, og dermed er de ikke til fare.
Avatar billede butcher Nybegynder
26. marts 2004 - 13:27 #7
oooh smart nok, nu er det godt nok kun til intern brug og venner, hvor kun admins har adgang, men rart at vide, det vil jeg da lige kigge på :)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester