Avatar billede tobrukDk Novice
19. maj 2012 - 01:50 Der er 10 kommentarer og
1 løsning

klik på submit

hej

det er sådan at jeg er i gang med min hjemmeside og jeg skal have bygge sådan at når man klik på submit knappen så skal den kun gøre det og den skal ikke gøre det hvis man ikke har klik på den eller kommer til at klik F5..


<div id="midtbox_alt">
                        <form action="" method="post" name="formular" onsubmit="return validerform ()">
                            <?php
                                if ($stmt = $mysqli->prepare('UPDATE `brugere` SET `rank`=2, `katogori`=?, `djnavn`=?, `profilbillede`=?, `profiltekst`=?, `facebook`=?, `pris`=?, `booking`=?, `mobil`=? WHERE `code`=?'))
                                {

                                $stmt->bind_param('iiiiiiiis', $katogori, $djnavn, $profilbillede, $profiltekst, $facebook, $pris, $booking, $mobil, $g_code);
                                //fra input ting ting..
                                $katogori = $_POST["kategori"];
                                $djnavn = $_POST["djnavn"];
                                $profilbillede = $_POST["profilbillede"];
                                $profiltekst = $_POST["profiltekst"];
                                $facebook = $_POST["facebook"];
                                $pris = $_POST["pris"];
                                $booking = $_POST["booking"];
                                $mobil = $_POST["mobil"];
                                $g_code = $_GET['code'];

                                $stmt->execute();
                                $stmt->close();                                   
                                }
                                else
                                {
                                    echo 'Der opstod en fejl i erklæringen: ' . $mysqli->error;
                                }
                            ?>
                                <table border="0">
                                    <tr>
                                        <td id="tb-w_a"><p>Kategori</p></td>
                                        <td>:</td>
                                        <td>
                                        <select name="kategori">
                                        <?php
                                        $query = "SELECT id_katogori, navn FROM kategori";
                                        $result = $mysqli->query($query);
                                        while(list($id_katogori, $navn) = $result->fetch_row())
                                        {
                                            echo "<option value=\"$id_katogori\">$navn</option>"; 
                                        }
                                        ?>
                                        </select>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td id="tb-w_a"><p>Djnavn</p></td>
                                        <td>:</td>
                                        <td><input type="text" name="djnavn"></td>
                                    </tr>
                                    <tr>
                                        <td id="tb-w_a"><p>Facebook</p></td>
                                        <td>:</td>
                                        <td><input type="text" name="facebook"></td>
                                    </tr>
                                    <tr>
                                        <td id="tb-w_a"><p>Pris</p></td>
                                        <td>:</td>
                                        <td><input type="text" name="pris"></td>
                                    </tr>
                                    <tr>
                                        <td id="tb-w_a"><p>Booking Email</p></td>
                                        <td>:</td>
                                        <td><input type="email" name="booking"></td>
                                    </tr>
                                    <tr>
                                        <td id="tb-w_a"><p>Mobil</p></td>
                                        <td>:</td>
                                        <td><input type="text" name="mobil"></td>
                                    </tr>
                                    <tr>
                                        <td id="tb-w_a"><p>Upload Profil</p></td>
                                        <td>:</td>
                                        <td><input type="file" name="profilbillede" /></td>
                                    </tr>
                                </table>
                            <textarea name="profiltekst" style="width:500px; height:170px;"></textarea><br />
                            <input type="submit" value="Godkend brugere" name="godkendt-brugere">
                        </form>
                    </div>


den skal kun ligge infomation ind i databasen HVIS man klikker på submit kneppen. det vil sige hvis jeg klikker på f5 så skal den ikke gøre det overhovedet!...


Du er velkommen til at spørger om mere hvis du vil vide mere omkring det her :) takker for du måske vil hjælp mig ?
Avatar billede The_Buzz Novice
19. maj 2012 - 07:11 #1
Du kunne bruge en

header('/tak_for_submit.php');

Efter du har gemt dine data i databasen.

Og fra http://webcheatsheet.com/javascript/disable_enter_key.php har jeg fundet denne til at disable enter key på din form

<script type="text/javascript">

function stopRKey(evt) {
  var evt = (evt) ? evt : ((event) ? event : null);
  var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
  if ((evt.keyCode == 13) && (node.type=="text"))  {return false;}
}

document.onkeypress = stopRKey;

</script>
Avatar billede tobrukDk Novice
19. maj 2012 - 12:02 #2
jeg forstår den ikke helt? hmm

sådan her ser hele min kode ud


<?php
            include ("include/database/db.php");
            if($stmt = $mysqli->prepare("SELECT `code`,`rank` FROM `brugere` WHERE `code` = ?"))
            {
                $stmt->bind_param('s', $g_code);
                $g_code = $_GET["code"];
                $stmt->execute();
                $stmt->store_result();
                $stmt->bind_result($code, $rank);
                $stmt->fetch();
                $count_res = $stmt->num_rows;
                $stmt->close();
           
                if($count_res > 0)
                {
                    if($rank == 0)
                    {
                        echo "<h3 class=\"toptitlecontent\">Godkende email</h3>";
                        echo "<div id=\"box\"><ul><li>Husk at skrive alt ude på siden!</li></ul></div>";
                    ?>
                    <div id="midtbox_alt">
                        <form action="" method="post" name="formular" onsubmit="return validerform ()">
                            <?php
                                if ($stmt = $mysqli->prepare('UPDATE `brugere` SET `rank`=2, `katogori`=?, `djnavn`=?, `profilbillede`=?, `profiltekst`=?, `facebook`=?, `pris`=?, `booking`=?, `mobil`=? WHERE `code`=?'))
                                {

                                $stmt->bind_param('iiiiiiiis', $katogori, $djnavn, $profilbillede, $profiltekst, $facebook, $pris, $booking, $mobil, $g_code);
                                //fra input ting ting..
                                $katogori = $_POST["kategori"];
                                $djnavn = $_POST["djnavn"];
                                $profilbillede = $_POST["profilbillede"];
                                $profiltekst = $_POST["profiltekst"];
                                $facebook = $_POST["facebook"];
                                $pris = $_POST["pris"];
                                $booking = $_POST["booking"];
                                $mobil = $_POST["mobil"];
                                $g_code = $_GET['code'];

                                $stmt->execute();
                                $stmt->close();                                   
                                }
                                else
                                {
                                    echo 'Der opstod en fejl i erklæringen: ' . $mysqli->error;
                                }
                            ?>
                                <table border="0">
                                    <tr>
                                        <td id="tb-w_a"><p>Kategori</p></td>
                                        <td>:</td>
                                        <td>
                                        <select name="kategori">
                                        <?php
                                        $query = "SELECT id_katogori, navn FROM kategori";
                                        $result = $mysqli->query($query);
                                        while(list($id_katogori, $navn) = $result->fetch_row())
                                        {
                                            echo "<option value=\"$id_katogori\">$navn</option>"; 
                                        }
                                        ?>
                                        </select>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td id="tb-w_a"><p>Djnavn</p></td>
                                        <td>:</td>
                                        <td><input type="text" name="djnavn"></td>
                                    </tr>
                                    <tr>
                                        <td id="tb-w_a"><p>Facebook</p></td>
                                        <td>:</td>
                                        <td><input type="text" name="facebook"></td>
                                    </tr>
                                    <tr>
                                        <td id="tb-w_a"><p>Pris</p></td>
                                        <td>:</td>
                                        <td><input type="text" name="pris"></td>
                                    </tr>
                                    <tr>
                                        <td id="tb-w_a"><p>Booking Email</p></td>
                                        <td>:</td>
                                        <td><input type="email" name="booking"></td>
                                    </tr>
                                    <tr>
                                        <td id="tb-w_a"><p>Mobil</p></td>
                                        <td>:</td>
                                        <td><input type="text" name="mobil"></td>
                                    </tr>
                                    <tr>
                                        <td id="tb-w_a"><p>Upload Profil</p></td>
                                        <td>:</td>
                                        <td><input type="file" name="profilbillede" /></td>
                                    </tr>
                                </table>
                            <textarea name="profiltekst" style="width:500px; height:170px;"></textarea><br />
                            <input type="submit" value="Godkend brugere" name="godkendt-brugere">
                        </form>
                    </div>
                    <?php
                    }
                    if($rank == 2)
                    {
                        echo "<h3 class=\"toptitlecontent\">Forkert Email</h3>";
                        echo "<div id=\"box\"><ul><li>Din bruger er allerede godkendt</li></ul></div>";
                    }
                }
                else {
                    /* Der er opstået en fejl */
                    echo "<h3 class=\"toptitlecontent\">Ukendt side!</h3>";
                    echo "<div id=\"box\"><ul><li>Der opstod en fejl</li></ul></div>";
                }
            }
            ?>
Avatar billede tobrukDk Novice
19. maj 2012 - 13:12 #3
jeg har fået klart det : )

gøre bare sådan

if(!empty($_POST))
                            {
                                if($stmt = $mysqli->prepare(' UPDATE `brugere` SET `rank`=2, `katogori`=?, `djnavn`=?, `profilbillede`=?, `profiltekst`=?, `facebook`=?, `pris`=?, `booking`=?, `mobil`=? WHERE `code`=?' ))
                                {

men nu er det sådan at jeg har 2 submit knepper på siden, men hvis jeg klik på den der hvor man skal udfelt input, så hvis jeg klik på den en af de 2 så kommer begge frem .. hmm
Avatar billede tobrukDk Novice
19. maj 2012 - 13:21 #4
altså så kommer bare frem med noget info
Avatar billede tobrukDk Novice
19. maj 2012 - 13:39 #5
når jeg klik F5 gør den det stadig væk!..
Avatar billede tobrukDk Novice
19. maj 2012 - 13:40 #6
den ligger bare tingene ind i databasen selvom jeg klikker f5.. hmm
Avatar billede coderdk Praktikant
19. maj 2012 - 16:33 #7
En nem løsning er, som the_buzz er inde på, at redirecte når du har opdateret din database. F.eks. således:

header( "HTTP/1.1 303 See Other" );
header( "Location: tak_for_det.php" );
Avatar billede The_Buzz Novice
19. maj 2012 - 22:31 #8
I din kode:


                                $stmt->execute();
                                $stmt->close();                                   
                                }
                                else

Lav en side du kalder succes.php

                                $stmt->execute();
                                $stmt->close();
                                header('/succes.php');                                 
                                }
                                else

og skriv på succes.php at

Data er opdateret - klik her for at se dine data
Avatar billede mortenfn Nybegynder
19. maj 2012 - 23:32 #9
<?php
if($_POST["test"]==""){

// mysql osv her.

?>

<form method="POST">
<input type="hidden" name="test" value="ok">
<input type="submit" value="Send" name="send">

<?php
}

else echo "ikke igen!";
?>
Avatar billede tobrukDk Novice
20. maj 2012 - 05:08 #10
altså jeg gøre sådan her

men så er det bare det problem at den skal husk code som der kommer fra den anden side?

altså den skal husk f.eks det her tale,
713684925



<form action="http://,,,.dk/activate_updater.php" method="post" name="formular" onsubmit="return validerform ()">
                                <table border="0">
                                    <tr>
                                        <td id="tb-w_a"><p>Kategori</p></td>
                                        <td>:</td>
                                        <td>
                                        <select name="kategori">
                                        <?php
                                        $query = "SELECT id_katogori, navn FROM kategori";
                                        $result = $mysqli->query($query);
                                        while(list($id_katogori, $navn) = $result->fetch_row())
                                        {
                                            echo "<option value=\"$id_katogori\">$navn</option>"; 
                                        }
                                        ?>
                                        </select>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td id="tb-w_a"><p>Djnavn</p></td>
                                        <td>:</td>
                                        <td><input type="text" name="djnavn"></td>
                                    </tr>
                                    <tr>
                                        <td id="tb-w_a"><p>Facebook</p></td>
                                        <td>:</td>
                                        <td><input type="text" name="facebook"></td>
                                    </tr>
                                    <tr>
                                        <td id="tb-w_a"><p>Pris</p></td>
                                        <td>:</td>
                                        <td><input type="text" name="pris"></td>
                                    </tr>
                                    <tr>
                                        <td id="tb-w_a"><p>Booking Email</p></td>
                                        <td>:</td>
                                        <td><input type="email" name="booking"></td>
                                    </tr>
                                    <tr>
                                        <td id="tb-w_a"><p>Mobil</p></td>
                                        <td>:</td>
                                        <td><input type="text" name="mobil"></td>
                                    </tr>
                                    <tr>
                                        <td id="tb-w_a"><p>Upload Profil</p></td>
                                        <td>:</td>
                                        <td><input type="file" name="profilbillede" /></td>
                                    </tr>
                                </table>
                            <textarea name="profiltekst" style="width:500px; height:170px;"></textarea><br />
                            <input type="submit" value="Godkend brugere" name="godkendt-brugere">
                        </form>


så den ny side file er sådan her


<?php
    if($stmt = $mysqli->prepare('UPDATE `brugere` SET `rank`=2, `katogori`=?, `djnavn`=?, `profilbillede`=?, `profiltekst`=?, `facebook`=?, `pris`=?, `booking`=?, `mobil`=? WHERE `code`=?'))
    {
       
        $stmt->bind_param('iiiiiiiis', $katogori, $djnavn, $profilbillede, $profiltekst, $facebook, $pris, $booking, $mobil, $g_code);
        //fra input ting ting..
        $katogori = $_POST["kategori"];
        $djnavn = $_POST["djnavn"];
        $profilbillede = $_POST["profilbillede"];
        $profiltekst = $_POST["profiltekst"];
        $facebook = $_POST["facebook"];
        $pris = $_POST["pris"];
        $booking = $_POST["booking"];
        $mobil = $_POST["mobil"];
        $g_code = $_GET["code"];
       
        $stmt->execute();
        $stmt->close();
        header('http://....dk/logind/');
    }
    else
    {
        echo 'Der opstod en fejl i erklæringen: ' . $mysqli->error;
    }
?>


men når den kommer over på file / side siger den sådan her ...

Fatal error: Call to a member function prepare() on a non-object in /home/jesperbo/public_html/....dk/activate_updater.php on line 2

det vil sige den hvor den siger sådan her

if($stmt = $mysqli->prepare('UPDATE `brugere` SET `rank`=2, `katogori`=?, `djnavn`=?, `profilbillede`=?, `profiltekst`=?, `facebook`=?, `pris`=?, `booking`=?, `mobil`=? WHERE `code`=?'))

der er fejl?? hmmm
Avatar billede tobrukDk Novice
21. maj 2012 - 19:31 #11
Så har jeg fået klart problem og det var jeg havde glemt databasen connection. ;) men dog der i mode vil den ikke sende mig videre til den næste side? hmm
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