Avatar billede nitram30 Nybegynder
28. juni 2008 - 21:38 Der er 26 kommentarer og
1 løsning

Problem med formular, sender til database uden klik på send?

Hejsa!

Jeg har oprettet en formular sender i php. Men af en eller anden årsag sender den en masse blanke sider til min MYSQL database uden man trykker på send knappen.

Kan i hjælpe mig med at se hvad fejlen er.

<?
include("config.php");
?>

<?php
$navn = @$_POST['navn'];
$mobilnr = @$_POST['mobilnr'];
$koen = @$_POST['koen'];
$alder = @$_POST['alder'];
$postnr = @$_POST['postnr'];
$gruppe = @$_POST['gruppe'];
$email = @$_POST['email'];
$time = date("Y-m/d H:i:s");

if (@$_POST['navn'] == "Navn") {
    $navn = "Anonym";
}

if (@$_POST['email'] == "E-mail") {
    $email = "null@null";
}

//mysql_connect("$host", "$user", "$password") or die(mysql_error());
//mysql_select_db($database) or die(mysql_error());

$ip = $_SERVER['REMOTE_ADDR'];

$insertSQL = "insert into tagwall (navn, mobilnr, koen, alder, postnr, gruppe, email, time, ip) values ('".addslashes($navn)."', '".addslashes($mobilnr)."', '".addslashes($koen)."', '".addslashes($alder)."', '".addslashes($postnr)."', '".addslashes($gruppe)."', '".addslashes($email)."', '$time', '$ip')";
    mysql_query($insertSQL) or die(mysql_error());

mysql_close() or die(mysql_error());

?>
Avatar billede erikjacobsen Ekspert
28. juni 2008 - 21:42 #1
Men det er ikke hele din kode, vel?
Avatar billede w13 Novice
28. juni 2008 - 21:43 #2
Den kode indeholder jo ikke formen.
Avatar billede nitram30 Nybegynder
28. juni 2008 - 21:55 #3
Hej W13

UPS min fejl, troede det kun var koden det var galt med.
Formen ser sådan ud:



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>xx</title>

<style type="text/css">
<!--
body {
    margin-left: 10px;
    margin-top: 100px;
    margin-right: 10px;
    margin-bottom: 10px;
    background-color: #FF8041;
}
.style15 {
    color: #FFFFFF;
    font-family: "Courier New", Courier, mono;
    font-size: 12px;
}
.style16 {
    font-family: "Courier New", Courier, mono;
    font-size: 36px;
    color: #FFFFFF;
}
-->
</style></head>

<body>
<table width="600" height="540" border="0" align="center" cellpadding=" 5" cellspacing="0">
  <tr>
    <th scope="row"><div align="center"><img src="../logo%20xirod39.jpg" width="730" height="69"></div></th>
  </tr>
  <tr>
    <th scope="row"><div align="center"><img src="../tilmeld.jpg" width="499" height="29"></div></th>
  </tr>
  <tr>
    <th scope="row"><div align="center">
      <table width="710" height="380" border="0" cellpadding=" 5" cellspacing="0">
        <tr>
          <th height="324" align="center" valign="middle" scope="col">
         
         
         
<form method="post" action="tilmeld.php">
<table width="322" border="0" cellPadding="0" cellSpacing="0">
    <tr>
    <td width="112" class="style15"><div align="left">Dit navn:</div></td>
    <td width="209"><div align="left">
      <input name="navn" class="text" id="name" size="30" maxlength="30">
      </div></td>
    </tr>
    <tr>
    <td width="112" class="style15"><div align="left">Mobil nr:</div></td>
    <td>
      <div align="left">
        <input id="mobilnr" class="text" size="12" maxlength="20" name="mobilnr" value="+45">
        </div></td>
    </tr>
    <tr>
    <td width="112" class="style15"><div align="left">K&oslash;n</div></td>
    <td>
      <div align="left">
          <select id="koen" name="koen">
            <option value="Mand">Mand</option>
            <option value="Kvinde">Kvinde</option>
            </select>
      </div></td>
    </tr>
        <tr>
    <td width="112" class="style15"><div align="left">Alder:</div></td>
    <td>
      <div align="left">
        <input id="alder" class="text" size="6" maxlength="3" name="alder">
        </div></td>
    <td width="1"></td>
    </tr>
    <tr>
    <td width="112" class="style15"><div align="left">Post nr:</div></td>
    <td><div align="left">
      <input name="postnr" class="text" id="postnr" size="6" maxlength="8">
      </div></td>
    </tr>
    <td width="112" class="style15"><div align="left">Gruppe</div></td>
    <td><div align="left">
   
    <select name="gruppe" size="8" multiple id="gruppe" lang="da">
      <option value="Benzinpriser" selected>x</option>
      <option value="Trafikken">xx</option>
      <option value="Nyheder">xxx</option>
      <option value="Alarmering">xxxx</option>
      <option value="Slanke llinien">xxxxx</option>
      <option value="Rygestop">xxxxxx</option>
      <option value="Jokes">xxxxxxx</option>
            </select>
    &nbsp;<img src="../i_icon.JPG" width="23" height="22" border="0" align="bottom" usemap="#Map"></div></td>
    </tr>
    <tr>
    <td class="style15"><p align="left">Din e-mail</p></td>
    <td><div align="left">
      <input name="email" class="text" type="text" id="email" size="30">
      </div></td>
    </tr>
    <tr>
    <td valign="top">    <div align="left"></div></td>
    <td valign="top"><div align="left">
  <input type="submit" class="submit" value="Send" name="Submit">
&nbsp;&nbsp;&nbsp;
        <input type="reset" class="submit" value="Slet alt" name="Reset">
    </div></td>
    </tr>
    <tr>
    <td height="22"><div align="left"></div></td>
    <td vAlign="bottom" height="22"><div align="left" class="style15">Alle felter skal udfyldes!!</div></td>
    </tr>
</table>
</form>
         
         
         
          </th>
          </tr>
        <tr align="center" valign="middle">
          <th scope="col"><table width="600" height="19" border="0" cellspacing="0" cellpadding="5">
            <tr align="center" valign="middle">
              <th width="95" scope="col"><a href="tilmeld.php" target="_top"><img src="../tilmeld_but.jpg" width="95" height="19" border="0"></a></th>
              <th width="143" scope="col"><a href="betingelser.htm" target="_top"><img src="../betingelser_but.jpg" width="143" height="19" border="0"></a></th>
              <th width="9" scope="col"><a href="priser.htm" target="_top"><img src="../Priser_but.jpg" width="85" height="19" border="0"></a></th>
              <th width="288" scope="col"><a href="omkring.htm" target="_top"><img src="../omkring_but.jpg" width="245" height="19" border="0"></a></th>
              <th width="15" scope="col"><a href="kontakt.htm" target="_top"><img src="../kontakt_but.jpg" width="102" height="19" border="0"></a></th>
            </tr>
          </table>          </th>
        </tr>
      </table>
      </div></th>
  </tr>
  <tr>
    <th scope="row"><div align="center">
      <p class="style3"><img src="../powered%20by.jpg" width="381" height="21"></p>
    </div></th>
  </tr>
</table>
<map name="Map">
  <area shape="rect" coords="0,1,22,22" onclick="window.open('info.htm','Indhold','width=780,height=460');return false;">
</map>
</body>
</html>
Avatar billede nitram30 Nybegynder
28. juni 2008 - 21:56 #4
det hele hænger sammen i en fil jeg kalder tilmeld.php
Avatar billede olebole Juniormester
28. juni 2008 - 22:04 #5
<ole>

Der er ikke noget i den kode, du har vist her, der kan resultere i den fejl, du oplever. Det må være et andet sted, der ligger en fejl  =)

/mvh
</bole>
Avatar billede olebole Juniormester
28. juni 2008 - 22:06 #6
Derudover bør du sætte type på _alle_ dine inputs (der er en del uden type="text") - og så bør du give din submitknap et andet navn (name="mySubmit" eller noget i den stil). Ellers kan du meget let forvirre browserens JavaScript fortolker, hvis du senere skal scripte i dokumentet  =)
Avatar billede nitram30 Nybegynder
28. juni 2008 - 22:14 #7
Hej Olebole!

Vi har tidligere snakket sammen, og har dybt respekt for dit svar. Men kan sige dig at når jeg klipper på linket tilmeld.php så Logger den blank indhold til databasen. Har du et rigtig godt gæt på problemet?

retter lige mine koder til.
Avatar billede nitram30 Nybegynder
28. juni 2008 - 22:28 #8
Hvor smider du en type="text" i en select ?   

<select name="gruppe" size="8" multiple id="gruppe" lang="da">
<option value="Benzinpriser" selected>Benzinpriser</option>



Man tilføjer vel ikke type="text" i en submit og reset?
<input type="submit" class="submit" value="Send" name="mySubmit">

Skal reset laves om til MyReset også?
Avatar billede erikjacobsen Ekspert
28. juni 2008 - 22:31 #9
Hvis du klikker på linket, så ja, så kommer der tomme felter i tabellen. Du skal vel trykke på submit-knappen.
Avatar billede nitram30 Nybegynder
28. juni 2008 - 22:32 #10
Har rettet siden til.

Af en eller anden mystisk grund får jeg stadig blank indhold til DB når jeg klikker ind på linket tilmeld.php
Avatar billede nitram30 Nybegynder
28. juni 2008 - 22:34 #11
Den skal da vel ikke logge noget til databasen ved at man kommer ind på siden. Den skal og må kun logge til db når der klikkes på submit.
Avatar billede nitram30 Nybegynder
28. juni 2008 - 22:35 #12
Erik kan du sige mig hvad jeg gør galt i koden?
Avatar billede erikjacobsen Ekspert
28. juni 2008 - 22:40 #13
Den logger til databasen, hvis du kommer ind på tilmeld.php, ja.
Avatar billede erikjacobsen Ekspert
28. juni 2008 - 22:41 #14
Hvis du kigger på din php-kode, så kontrollerer du ikke om man kommer første gang, eller om man kommer efter et tryk på submit-knappen.
Avatar billede nitram30 Nybegynder
28. juni 2008 - 22:42 #15
Af hvilken grund gør den det?
Avatar billede erikjacobsen Ekspert
28. juni 2008 - 22:44 #16
Fordi den udfører koden een linie af gangen. Har du ikke et eksempel at skrive af efter?
Avatar billede nitram30 Nybegynder
28. juni 2008 - 22:46 #17
Jeg er ikke for skrap til PHP endnu, men mit bedste gæt er at jeg skal finde fejlen i :
<form method="post" action="tilmeld.php">

Kan jeg få lidt hjælp til at komme videre.
Avatar billede nitram30 Nybegynder
28. juni 2008 - 22:49 #18
Hvad mener du med eksempel at skrive af efter?
Avatar billede w13 Novice
28. juni 2008 - 22:49 #19
Nu er jeg ikke så stærk i PHP heller, men er der nogen grund til, at du skriver:

@$_POST['navn']

frem for:

$_POST['navn']

?
Avatar billede nitram30 Nybegynder
28. juni 2008 - 22:51 #20
Jeg har bygget min side op ud fra en eksisterende PHP kode der kunne vise både indholdet af DB og formularen med links i samme kode.
Avatar billede leif Seniormester
28. juni 2008 - 22:52 #21
Som jeg ser det laver du ikke et tjeck i tilmeld.php hvor vidt der er data eller ej, du laver en mysql_query uanset hvad, lav et tjeck på om der er data med i felterne og hvis der er så lav en insert.
Avatar billede nitram30 Nybegynder
28. juni 2008 - 22:56 #22
Vil tro at @ kommer af at man i samme fil har kladt indhold med links. @ er slettet men har ikke haft nogen effekt på data log.
Avatar billede erikjacobsen Ekspert
28. juni 2008 - 22:59 #23
Så har du vel overset noget i den "eksisterende PHP kode"
Avatar billede nitram30 Nybegynder
28. juni 2008 - 23:06 #24
Hej Leif!

Kunne du guide mig lidt på vej, da jeg ikke helt kan se hvor og hvordan jeg indsætter koden?
Avatar billede nitram30 Nybegynder
29. juni 2008 - 03:00 #25
fandt selv fejlen.

ved at tilføje:
if(!empty($_POST['navn'])){
$insertSQL = "insert into tagwall

så fik jeg styr på auto submit funktionen.
Avatar billede nitram30 Nybegynder
29. juni 2008 - 03:03 #26
Er der så nogen af jer der ved hvordan jeg opsætter min MYSQL database når jeg har en :

    <select name="gruppe" size="8" multiple id="gruppe" lang="da">
      <option value="Benzinpriser" selected>x</option>
      <option value="Trafikken">xx</option>
      <option value="Nyheder">xxx</option>
      <option value="Alarmering">xxxx</option>
      <option value="Slanke llinien">xxxxx</option>
      <option value="Rygestop">xxxxxx</option>
      <option value="Jokes">xxxxxxx</option>
            </select>

Mit problem er når man vælger mere end een option så gemmer den kun een.

min MYSQL db ser sådan ud nu:

CREATE TABLE `tagwall` (
  `id` int(9) NOT NULL auto_increment,
  `navn` varchar(50) NOT NULL,
  `mobilnr` varchar(15) NOT NULL,
  `koen` varchar(10) NOT NULL,
  `alder` varchar(3) NOT NULL,
  `postnr` varchar(10) NOT NULL,
  `gruppe` varchar(10) NOT NULL,   
  `email` varchar(250) default NULL,
  `time` longtext NOT NULL,
  `ip` varchar(15) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Avatar billede nitram30 Nybegynder
01. juli 2008 - 20:20 #27
lukker spørgsmål
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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