Avatar billede MorDuC Nybegynder
10. marts 2012 - 09:03 Der er 3 kommentarer og
1 løsning

javascript jquery, og php til at indsætte data i mysql

Hej. Prøver at få indsat data fra en form i mysql, og alt ser ud til at forløbe rigtigt, men alligevel bliver data'ene ikke registreret i databasen. har 2 filer. en markup med noget javascript som sender en ajax request til en anden php side som så gerne skulle indsætte data i tabellen. her er filerne



<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
    $(document).ready(function() {
        $("form#addContact").submit(function() {
            var dataStr = $("form#addContact").serialize();
   
                $.ajax({
                    type: "POST",
                    url: "addContactHandler.php",
                    data: dataStr,
                    success: function()
                        {$('form#addContact').hide(function()
                        { console.log(dataStr);
                        });
                    }
                });
            return false;
        });
    });
</script>
</head>

<body>
<div id="addContactdiv">
<form id="addContact" method="post">
    <Legend>Ny Kontakt</Legend>
        <fieldset>
            <label for="kundenummer">Kunde Nr:</label><input id="kundenummer" class="text" type="text" name="id" />
            <label for="adresse1">Adresse 1:</label><input id="adresse1" class="text" type"text" name="adresse1"  />
            <label for="adresse2">Adresse 2:</label><input id="adresse2" class="text" type="text" name="adresse2" />
            <label for="adresse3">Adresse 3:</label><input id="adresse3" class="text" type="text" name="adresse3" />
            <label for="postnummer">Postnummer:</label><input id="postnummer" class="text" type="text" name="postnummer" />
            <label for="by">By:</label><input id="by" class="text" type="text" name="by" />
            <label for="land">Land:</label><input id="land" class="text" type="text" name="land" />
            <label for="kontaktperson">Kontaktperson:</label><input id="kontaktperson" class="text"type="text" name="kontaktperson" />
            <label for="email">E-Mail:</label><input id="email" class="text" type="text" name="email" />
            <label for="website">Website:</label><input id="website" class="text" type="text" name="website" />
            <label for="telefon">Telefon:</label><input id="telefon" class="text" type="text" name="telefon" />
            <label for="mobil">Mobiltelefon:</label><input id="mobil" class="text" type="text" name="mobil" />
            <label for="cvr">CVR nr:</label><input id="cvr" class="text" type="text" name="cvr" />
            <label for="debitor">Debitor Gruppe:</label><select id="debitor" class="select" name="debitor"></select>
            <!-- php loop to go through possibilites -->
            <label for="kreditor">Kreditor Gruppe:</label><select id="kreditor" class="select" name="kreditor"></select>
            <!-- php loop to go through possibilites -->
            <label for="ean">EAN Nr:</label><input id="ean" class="text" type="text" name="ean" />
            <h3>Leverings Adresse</h3>
            <label for="levAdresse1">Adresse1:</label><input id="levAdresse1" class="text" type="text" name="levAdresse1" />
            <label for="levAdresse2">Adresse2:</label><input id="levAdresse2" class="text" type="text" name="levAdresse2" />
            <label for="levAdresse3">Adresse3:</label><input id="levAdresse3" class="text" type="text" name="levAdresse3" />
            <label for="levPostnummer">Postnummer:</label><input id="levPostnummer" class="text" type="text" name="levPostnummer" />
            <label for="levBy">By:</label><input id="levBy" class="text" type="text" name="levBy" />
            <label for="levLand">Land:</label><input id="levLand" class="text" type="text" name="levLand" />
            <button class="submit">Tilføj Kontakt</button>
    </fieldset>
</form>
<div class="success" style="display: none; float:left;">Nyt navn tilføjet.</div>
</div>




og addContactHandler.php

<body>
<?php
        mysql_connect("localhost", "root", "") or die(mysql_error());
        mysql_select_db("bookkeeping");
       
        $kundenummer        = $_POST["kundenummer"];
        $adresse1            = $_POST["adresse1"];
        $adresse2            = $_POST["adresse2"];
        $adresse3            = $_POST["adresse3"];
        $postnummer            = $_POST["postnummer"];
        $land                = $_POST["land"];
        $kontaktperson        = $_POST["kontaktperson"];
        $email                = $_POST["email"];
        $website            = $_POST["website"];
        $telefon            = $_POST["telefon"];
        $mobil                = $_POST["mobil"];
        $cvr                = $_POST["cvr"];
        $debitor            = $_POST["debitor"];
        $kreditor            = $_POST["kreditor"];
        $ean                = $_POST["ean"];
        $levAdresse1        = $_POST["levAdresse1"];
        $levAdresse2        = $_POST["levAdresse2"];
        $levAdresse3        = $_POST["levAdresse3"];
        $levLand            = $_POST["levLand"];
        $addNewContact = "INSERT INTO kartotek(Id,
                                    Adresse1,
                                    Adresse2,
                                    Adresse3,
                                    Postnummer,
                                    LandId,
                                    Kontaktperson,
                                    Email,
                                    Website,
                                    Telefon,
                                    Mobil,
                                    CVR,
                                    DebitorgruppeId,
                                    KreditorgruppeId,
                                    EAN,
                                    LevAdresse1,
                                    LevAdresse2,
                                    LevAdresse3,
                                    LevPostnummer,
                                    LevLandId)
                            VALUES('$kundenummer',
                                    '$adresse1',
                                    '$adresse2',
                                    '$adresse3',
                                    '$postnummer',
                                    '$land',
                                    '$kontaktperson',
                                    '$email',
                                    '$website',
                                    '$telefon',
                                    '$mobil',
                                    '$cvr',
                                    '$debitor',
                                    '$kreditor',
                                    '$ean',
                                    '$levAdresse1',
                                    '$levAdresse2',
                                    '$levAdresse3',
                                    '$levPostnummer',
                                    '$levLand')";
        mysql_query($addNewContact) or die(mysql_error());
?>
</body>
Avatar billede DeeDawg Nybegynder
10. marts 2012 - 10:21 #1
Nu skal du jo tænke på, at den funktion du vil kalde under success, ikke kun kører når det du har i din PHP fil, er blevet gjort. Fordi, hvad AJAX ser som success, er bare en forbindelse til den anden side.

Derfor bør du nok først og fremmest tilføje følgende til den funktion

success: function(msg){
    //$("form#addContact").hide(function(){ console.log(dataStr); });
    console.log(msg);
}

Så vil du nemlig kunne se de evt. fejlmeddelelser, som din database giver dig. ;)
Avatar billede MorDuC Nybegynder
10. marts 2012 - 11:16 #2
det var simpelthen alt jeg havde brug for at høre. er lidt ny til databaser og javascript så har ikke styr på alle funktioner. fejlen er fundet hvis du smider et svar så får du point
Avatar billede DeeDawg Nybegynder
10. marts 2012 - 11:21 #3
Inden du så bliver alt for vandt til den ældre MySQL API, bør du tage et kig på olebole's udemærket guide om MySQLi.

Før eller siden, vil det blive standarden for alle, så du kan lige så godt begynde nu. ;)
Avatar billede olebole Juniormester
10. marts 2012 - 14:29 #4
<ole>

- og hvad angår at vise fejlmeddelelser, bør du kikke på denne guide. Ellers kommer du hurtigt til at leve livet farligt!  *o)

/mvh
</bole>
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