Avatar billede martinbk Nybegynder
15. juni 2003 - 02:04 Der er 2 kommentarer og
1 løsning

reset form uden at "tømme" get array

hejsa E!
jeg har et lille problem med nedenstående kode, når jeg submitter vil jeg gerne have en error hvis man ikke har udfyldt alle felter, dette fungerer også fint, problemet ligger i hvis alle if sætninger er opfyldt indsættes dataene, og det echo's hvad der er indsat, nu mangler jeg så bare at formen bliver resat ved successfuld indsætning, men den skal stadig vise dataene fra sidste indsæt...


<form method="get">
<table border="1px">
    <tr>
        <td>CD</td>
        <td><input type="text" name="cd_nr" maxlength="4" size="4" autocomplete=OFF value="<?=$_GET[cd_nr];?>"></td>
    </tr>
    <tr>
        <td>Nr</td>
        <td><input type="text" name="nr_nr" maxlength="2" size="2" autocomplete=OFF value="<?=$_GET[nr_nr];?>"></td>
    </tr>
    <tr>
        <td>Kunstner</td>
        <td><input type="text" size="50" name="artist" autocomplete=OFF value="<?=$_GET[artist];?>"></td>
    </tr>
    <tr>
        <td>Titel</td>
        <td><input type="text" size="50" name="titel" autocomplete=OFF value="<?=$_GET[titel];?>"></td>
    </tr>
</table>
<table>
    <tr>
        <td><input type="submit" name="submit" value="sæt data ind"></td>
   
    </tr>
</table>
</form>
</center>

<?
require("functions.php");
ob_start();
if($_GET[submit] != "") {
    if ($_GET[cd_nr] == "") {
            echo "<script> alert('du skal skrive et cd nr'); </script>";
        exit;
    }
    elseif ($_GET[nr_nr] == "") {
            echo "<script> alert('du skal skrive et track nr'); </script>";
        exit;
        }
        elseif ($_GET[artist] == "") {
            echo "<script> alert('du skal skrive en artist'); </script>";
        exit;
    }   
    elseif ($_GET[titel] == "") {
            echo "<script> alert('du skal skrive en titel'); </script>";
        exit;
    }
    $connection = db_connect();
    $sql = mysql_query("SELECT * FROM numre WHERE cd_nr='$_GET[cd_nr]' AND nr_nr='$_GET[nr_nr]'");
    $antal = mysql_num_rows($sql);
    if ($antal < 1) {
        $insert = mysql_query("INSERT INTO numre VALUES('', '$_GET[cd_nr]', '$_GET[nr_nr]', '$_GET[artist]', '$_GET[titel]')");
        if ($insert) {
            echo "følgende oplysninger er nu indsat<br>";
            echo "CD nr:&nbsp;";
            echo $_GET[cd_nr];
            echo "<br>Nr:&nbsp;";
            echo $_GET[nr_nr];
            echo "<br>Artist:&nbsp;";
            echo $_GET[artist];
            echo "<br>Titel:&nbsp;";
            echo $_GET[titel];
        }
        else {
            echo "der er sket en fejl";
        }
    }
    else {
        while($row = mysql_fetch_array($sql)) {
            echo "følgende oplysninger eksisterer allerede i databasen!!!";
            echo "<br>CD nr:&nbsp;";
            echo $row[cd_nr];
            echo "<br>Nr:&nbsp;";
            echo $row[nr_nr];
            echo "<br>Artist:&nbsp;";
            echo $row[artist];
            echo "<br>Titel:&nbsp;";
            echo $row[titel];
            echo "<br><br>";
            echo "Du kan rette oplysningerne for nummeret <a href=\"edit.php?id=$row[id]\">Her</a>";
        }
    }
}
Avatar billede myplacedk Nybegynder
15. juni 2003 - 10:14 #1
> formen bliver resat ved successfuld indsætning, men den skal stadig vise dataene fra sidste indsæt...

Dvs. felterne i formen skal være udfyldt OG ikke-udfyldt? Eller hvad?
Avatar billede martinbk Nybegynder
15. juni 2003 - 13:05 #2
nej ved successfuld indsæt skal den resette formen, men ved manglende data skal den ikk (hvilket skulle være sikret med value's på samtlige input fields
Avatar billede myplacedk Nybegynder
15. juni 2003 - 13:14 #3
Kontroller data FØR formen, i stedet for EFTER. Så tror jeg løsningen kommer af sig selv... Ellers må du jo få et hint mere. ;-)
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