Avatar billede drinkit Praktikant
24. januar 2013 - 19:47 Der er 21 kommentarer og
1 løsning

Email form giver ingen fejl.. Hvad gør jeg galt?

Hej.
Jeg har godt nok ikke rørt PHP i lang tid efterhånden. Men hvad er årsagen til at dette script ikke virker?

På forhånd mange tak for jeres hjælp. (og vil meget gerne have forklaring - og ikke kun et rettet script, så jeg selv kan klare den næste gang :))

<form action="" method="post">
            Navn:<br><input class="tekstfelt" id="navn" type="text"><br>
            E-mail:<br><input class="emailfelt" id="email" type="email"><br>
            <input class="submitknap" id="nyhedsbrev_tilmeld" type="submit" value="Tilmeld">
           
            <?php
           
            if (isset($_POST['nyhedsbrev_tilmeld'])) {

            $login = mysql_connect('localhost','j73546_xup','KODE') or die('Kunne ikke oprette forbindelse til databasen ' . mysql_error());

            mysql_select_db("j73546_xup", $login);

            if(mysql_query("INSERT INTO email_list (navn, email) VALUES ('".$_POST['navn']."', '".$_POST['email']."')")) {
               
            ?>

            <script>
            alert("TAK");
            </script>

            <?} else {    ?>
           
            <script>
            alert("FEJL");
            </script>

            <?}

            mysql_close($login);
           
            }

            ?>

            </form>
Avatar billede olebole Juniormester
24. januar 2013 - 19:55 #1
<ole>

*LoL* Jeg ææææælsger den overskrift!  *D

Nu skriver du godt nok ikke, hvad der ikke virker, men umiddelbart vil jeg tro, du skal rette til:

<?php }

Sådan er de fleste PHP-installationer konfigureret i dag  =)

/mvh
</bole>
Avatar billede olebole Juniormester
24. januar 2013 - 19:56 #2
PS: Der er to steder, det skal rettes  =)
Avatar billede Henrik_Mogensen Juniormester
24. januar 2013 - 19:57 #3
Udskift "id" med "name", så vil jeg mene det virker. Det kan også være tabellen der ikke er lavet ordentligt. Jeg har selv programmeret i PHP og bruger ikke "id"
Avatar billede drinkit Praktikant
24. januar 2013 - 20:00 #4
Hehe..

har nu rettet det. http://www.xup.dk

Hold musen over det røde i roppen, tryk nyhedsbrev.
Stadig ingen alert, og stadig intet i min database.

Hmm
Avatar billede drinkit Praktikant
24. januar 2013 - 20:02 #5
Henrik. Jeg har nu sat både id og name på mine inputs.
Stadig intet i databasen, og ingen alert efter submit er trykket.
Avatar billede olebole Juniormester
24. januar 2013 - 20:07 #6
Ups ... det er helt korret, der skal være en name attribut. Ellers bliver intet sendt til serveren  =)
Avatar billede olebole Juniormester
24. januar 2013 - 20:17 #7
Prøv denne kode:

<form action="" method="post">
    Navn:<br><input class="tekstfelt" name="navn" id="navn" type="text"><br>
    E-mail:<br><input class="emailfelt" name="email" id="email" type="email"><br>
    <input class="submitknap" name="nyhedsbrev_tilmeld" id="nyhedsbrev_tilmeld" type="submit" value="Tilmeld">
   
<?php
if (isset($_POST['nyhedsbrev_tilmeld'])) {
    $login = mysql_connect('localhost','j73546_xup','KODE') or die('Kunne ikke oprette forbindelse til databasen ' . mysql_error());
   
    if (!mysql_select_db("j73546_xup", $login)) {
        echo '<p>Databasen blev ikke valgt.</p>';
    }
   
    if (mysql_query("INSERT INTO email_list (navn, email) VALUES ('".$_POST['navn']."', '".$_POST['email']."')")) {
        $message = 'Din e-mail-adresse blev gemt.';
    } else {
        $message = 'Der opstod en fejl.';
    }
    mysql_close($login);
   
    echo '<p>'.$message.'</p>';
}
?>

</form>

- og fortæl, hvad der udskrives
Avatar billede drinkit Praktikant
24. januar 2013 - 20:28 #8
http://www.xup.dk/

Den udskriver intet. Prøv selv.
Avatar billede Henrik_Mogensen Juniormester
24. januar 2013 - 21:20 #9
Jeg mener der er fejl i POST sætningen. Du skal måske "isset den variabel som du har opkaldt med name.
Avatar billede olebole Juniormester
24. januar 2013 - 21:29 #10
@drinkit: Prøv at skrive:

<?php
if (isset($_POST['nyhedsbrev_tilmeld'])) {
var_dump($_POST);

- og fortæl, hvad du får ud af det
Avatar billede drinkit Praktikant
24. januar 2013 - 23:06 #11
Hmm, der sker stadig intet. Hvad kan der være galt?
Avatar billede drinkit Praktikant
24. januar 2013 - 23:10 #12
Siden bliver bare "blank" når jeg trykker submit nu.
Avatar billede lclemens Nybegynder
24. januar 2013 - 23:11 #13
Og hvis du ændrer overskriften "Nyhedsbrev" til "Nyhedsbrev 2" ?
Avatar billede lclemens Nybegynder
24. januar 2013 - 23:12 #14
Jeg så ikke #12, så glem mit forslag :)

En blank side plejer at skyldes en fatal fejl i php-scriptet
Avatar billede lclemens Nybegynder
24. januar 2013 - 23:13 #15
Hvis du kigger på kildekoden, kan du måske se fejlen...

"Kunne ikke oprette forbindelse til databasen.Access denied for user 'j73546_xupdk'@'localhost' (using password: YES)"
Avatar billede olebole Juniormester
24. januar 2013 - 23:14 #16
Kik i browserens kildekode  *o)

            <div id="nyhedsbrev_form">
                <form action="" method="post">
                    Navn:<br><input class="tekstfelt" name="navn" id="navn" type="text"><br>
                    E-mail:<br><input class="emailfelt" name="email" id="email" type="email"><br>
                    <input class="submitknap" name="nyhedsbrev_tilmeld" id="nyhedsbrev_tilmeld" type="submit" value="Tilmeld">
 
array(3) {
  ["navn"]=>
  string(3) "asd"
  ["email"]=>
  string(6) "asdasd"
  ["nyhedsbrev_tilmeld"]=>
  string(7) "Tilmeld"
}
Kunne ikke oprette forbindelse til databasen.Access denied for user 'j73546_xupdk'@'localhost' (using password: YES)
Avatar billede drinkit Praktikant
24. januar 2013 - 23:23 #17
Jah ok. Info er rigtig. Jeg har hevet fat i min udbyder.

Er det normalt at der vises Array i kildekoden på den måde?
Avatar billede lclemens Nybegynder
24. januar 2013 - 23:30 #18
Det skyldes lidt debug-info fra indlæg #10 (var_dump)
Avatar billede drinkit Praktikant
24. januar 2013 - 23:44 #19
Det virker nu. Tak alle sammen. Smid svar jer der har deltaget og hjulpet.
Pyyha, jeg skal huskebogen igennem igen, med det her projekt.
Avatar billede olebole Juniormester
25. januar 2013 - 15:06 #20
Hvad var løsningen?
Avatar billede drinkit Praktikant
06. februar 2013 - 00:17 #21
Forkert DB connect info :/
Avatar billede olebole Juniormester
06. februar 2013 - 00:33 #22
Ahhhhh ... schhhhhh ...  *o)
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

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