probleem bij database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Gert Jan

Gert Jan

29/11/2007 22:20:00
Quote Anchor link
Ik heb een probleem met een script. Dit script moet gegevens in de database zetten, maar doet dat niet. Wanneer ik handmatig in de database gegevens invoer, dan laat hij ze wel zien op de pagina. Dus wat zit er fout in dit script, dat hij geen gegevens plaatst in de database

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<?
if (isset($Submit)) {

include ("config.php");
   mysql_connect("$DbHost", "$DbUser", "$DbPassword");
   mysql_select_db("$DbDatabase");
      $sql = "INSERT INTO `beurs` (`ipadres`, `naam`, `emailadres`, `tracker`, `functie`) VALUES ('$ipadres', '$naam', '$emailadres', '$tracker', '$functie')";

         mysql_query($sql);    
         mysql_close();
// Kijken of de velden zijn ingevuld
if ($ipadres == "") {
    print "Je hebt geen (geldig) ipadres opgegeven...";
    print "<br><a href=\"javascript:history.go(-1)\">Ga terug</a> en vul dit in.";
    exit;
    }

    echo"De info is toegevoegd aan de database...";
    echo"<br><a href=\"javascript:history.go(-2)\">Ga terug</a> naar de overzichtpagina.";




}
else {
?>

<html>
<head>
<title>Staff Overzicht</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<body bgcolor="#FEF1C0">
<form action="" method="post" enctype="multipart/form-data" name="form1">
  <table width="74%"  border="1" align="center" cellpadding="1" cellspacing="1">
    <tr>
      <td width="18%">Ipadres:</td>
      <td width="15%" rowspan="6">&nbsp;</td>
      <td width="63%"><input name="ipadres" type="text" id="ipadres"></TD>
      <td width="4%"></td>
    </tr>
    <tr>
      <td><strong>Naam:</strong></td>
      <td><input name="naam" type="text" id="naam">
        gebruikersnaam indien bekend</td>
    </tr>
    <tr>
      <td><strong>Emailadres:</strong></td>
      <td><input name="emailadres" type="text" id="emailadres">
        </td>
    </tr>
    <tr>
      <td><strong>Tracker:</strong> </td>
      <td><input name="tracker" type="text" id="tracker">
        Volledige tracker URL</td>
    </tr>
    <tr>
      <td><strong>Functie:</strong></td>
      <td><input name="functie" type="text" id="functie" >
        Functie als stafflid</td>
    </tr>
    <tr>
      <td colspan="3">&nbsp;</td>
    </tr>
    <tr>
      <td colspan="2" align="right"><input name="Submit" type="submit" id="Submit" value="Verzenden"></td>
      <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
      <input name="Submit2" type="reset" id="Submit2" value="Wissen"></td>
    </tr>
  </table>
</form>
<? } ?>
</body>
</html>
 
PHP hulp

PHP hulp

23/12/2024 13:39:22
 
- wes  -

- wes -

29/11/2007 22:38:00
Quote Anchor link
haal eerst ff die gore backticks weg
 
Jurgen assaasas

Jurgen assaasas

29/11/2007 22:57:00
Quote Anchor link
ik zie:
1. backticks in de query, weg ermee dus ( ` deze dingen dus).
2. Variabelen binnen quotes, buiten quotes dus:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php

echo "$var";
//zo niet

echo $var;
//zo wel

echo "Dit is een ".$var." Mooi he!";
//en zo ook

?>


vervolgens controleer je nergens of je query wel uitgevoerd wordt, zelfs niet of je uberhaupt wel verbinding hebt met de server, gooi er eens een mysql_error() tussen.
 
Martiveen -

Martiveen -

29/11/2007 23:05:00
Quote Anchor link
Het gene wat ik zie bij if (isset($Submit))
is dat je $Submit gebruik ipv van $_POST['submit']

EDIT:

en eveneens bij $ipadres kan je beter
!empty($_POST['ipadres']) doen en waarom gebruik je enctype in je form?
voor zover ik weet is dat voor uploaden
Gewijzigd op 01/01/1970 01:00:00 door Martiveen -
 
IoValduc

ioValduc

29/11/2007 23:13:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?
if (isset($Submit)) {

include ("config.php");
   mysql_connect($DbHost, $DbUser, $DbPassword);
   mysql_select_db($DbDatabase);
   $sql = "INSERT INTO beurs (ipadres, naam, emailadres, tracker, functie) VALUES ($ipadres, $naam, $emailadres, $tracker, $functie)";

   $rs = mysql_query($sql);    
   mysql_close();

   if ($rs) {
       // database query OK
   }
}
 
IoValduc

ioValduc

29/11/2007 23:16:00
Quote Anchor link
inderdaad martijn, dat moet $_POST['Submit'] zijn...

Maar dan moeten ook de andere variabelen zoals naam enz $_POST zijn

in dit geval doe ik zo:

$strNaam = $_POST['naam'];

of beter:

$strNaam = trim($_POST['naam']);
if($strNaam != ""){
// verder
}
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.