Toon posts:

[PHP & MySQL] Insert probleem met dubbele variabelen *

Pagina: 1
Acties:
  • 55 views sinds 30-01-2008

Verwijderd

Topicstarter
Keej dan,

Ik heb dus de volgende code:

PHP:
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
<?php  
//Eerst connecten we met de database 
mysql_connect ("*","*", "*"); //host, username, password 
mysql_select_db("*"); //database 

if ($_POST['submit'])  
{  
if ($_POST['naam'] == "")  
$error="Je moet een naam invullen!";  
if ($error)  
{ //als er geen error is kunnen we een query opstellen en een record toevoegen in de database 
//query opstellen 
$query = "INSERT INTO provincie (naam)
VALUES ('$naam')";  
//query toepassen 
mysql_query($query) or die (mysql_error());  
echo "Het nieuwe arrangement is toegevoegd!";  
}  
elseif (!$error) 
{ //als er een error is dan laten we die zien met een knop terug naar de vorige pagina 
echo "  
<div align=\"center\"><table width=\"50%\" border=\"1\"  
cellspacing=\"0\" cellpadding=\"2\"> 
<tr bordercolor=\"#000000\"> 
<td bordercolor=\"#000000\" bgcolor=\"#e2e2e2\" height=\"36\"> 
<div align=\"center\"><div align=center>$error<br> 

<form method=\"post\" action=\"javascript:history.go(-1)\"> 
<div align=center><input type=\"submit\" 
name=\"Terug\" value=\"Terug\"> 
</form></td></tr></table>";  
}  
} 
else  
{ //als er nog niet op de submit knop is gedrukt dan laten we het formulier zien 
?>  
<u>Provincie toevoegen: </u> 
<form action="" method="post"> 
<table width="95%" border="0" cellspacing="0" cellpadding="0"> 
<tr><td> 
Naam van de provincie : 
</td><td> 
<input type="text" name="naam"> 
</td></tr><tr><td> 
<br> 
</td></tr><tr><td> 
<input type="submit" value="Nieuws toevoegen" name="submit"> 
<input type="reset" value="Wis velden" name="reset"> 
</td></tr></table> 
</form> 
<?php } ?>


Het inserten van informatie gaat dus niet naar wens. Het gaat waarschijnlijk hier fout:

$query = "INSERT INTO provincie (naam)
VALUES ('$naam')";

$naam wordt ook al in twee andere php's gebruikt, welliswaar voor andere tabellen, maar het lijkt dat dit het probleem is.

Ik heb $naam al verandert in $naam_pro, maar dan maakt de database alleen een regel aan zonder de daadwerkelijke naam erbij.

Wie o wie weet dus hoe je ervoor zorgt dat kolomnamen van de verschillende tabellen niet met elkaar in verwarring raken?

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 09-01 11:25

D2k

$naam kent ie niet
en je doet het eerder wel goed
</hint>

Doet iets met Cloud (MS/IBM)


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

PHP:
1
$query = "INSERT INTO provincie (naam) VALUES ('$naam')";


PHP:
1
if ($_POST['naam'] == "")

:+

[ Voor 19% gewijzigd door gorgi_19 op 11-06-2003 15:41 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Shift
  • Registratie: Augustus 2000
  • Laatst online: 04-08 13:44

Shift

[] Dual crazy []

dat $naam moet ook
PHP:
1
$_POST["naam"]


worden, dus

PHP:
1
2
$query = "INSERT INTO provincie (naam) 
VALUES ('".$_POST["naam"]."')";

[ Voor 50% gewijzigd door Shift op 11-06-2003 15:44 ]


  • WimB
  • Registratie: Juli 2001
  • Laatst online: 30-03-2024
doe eens een print (of echo) van je $query
edit:
Misschien best je if-lussen eens wat laten inspringen om beter te kunnen zien wanneer welke wordt beëindigd.

[ Voor 60% gewijzigd door WimB op 11-06-2003 15:44 ]


  • momania
  • Registratie: Mei 2000
  • Laatst online: 22:52

momania

iPhone 30! Bam!

PHP:
1
"INSERT INTO provincie (naam) VALUES ('$naam')"

Deze code zou nu ook de string $naam in de database invoegen en niet de inhoud van de variabele $naam B)

Neem je whisky mee, is het te weinig... *zucht*


  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02-2025

SchizoDuckie

Kwaak

Kijk eens goed naar je if's ?

PHP:
1
2
if ($error) { insert into database}
elseif (!$error) { show error & return }



ik zou van die eerste (!$error) maken en van die 2e elseif ($error)

:P

Stop uploading passwords to Github!


Verwijderd

Topicstarter
momania schreef op 11 June 2003 @ 15:43:
PHP:
1
"INSERT INTO provincie (naam) VALUES ('$naam')"

Deze code zou nu ook de string $naam in de database invoegen en niet de inhoud van de variabele $naam B)
Waarom doet hij het wel goed bij het toevoegen van een arrangement??
(is dezelfde code, alleen meer invulopties)

die $naam wordt hetgeen dat je invult in de form..

[ Voor 9% gewijzigd door Verwijderd op 11-06-2003 15:46 ]


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-08 13:19

.oisyn

Moderator Devschuur®

Demotivational Speaker

Sorry, maar het blijft simpele manualwerk
Eerst gebruik je $_POST["naam"], maar verderop gewoon $naam?
Bovendien voer je het ook alleen uit als $error true oplevert, wat dus alleen is als $naam leeg was (je doet het verkeerd om)
En ook wil het wel helpen om je code fatsoenlijk te indenten, dan kun je het ook beter lezen en sneller zien wat er nou precies fout gaat.

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Deze keer heb ik er behalve de topictitel niets op aan te merken, en die poetsen we altijd wel bij indien nodig (zoals je ziet). Alleen de indentering van je code is nogal kut, maar die is neem ik aan gepaste vanuit je vorige topic. Hulde dat je het nu alsnog wel goed wil doen! Alhoewel ik liever een mailtje had gehad :)

ps. oh ja ik ken geen PHP dus van mij geen inhoudelijk commentaar :D

[ Voor 11% gewijzigd door curry684 op 11-06-2003 15:50 ]

Professionele website nodig?


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-08 13:19

.oisyn

Moderator Devschuur®

Demotivational Speaker

curry684 schreef op 11 June 2003 @ 15:49:
Deze keer heb ik er behalve de topictitel niets op aan te merken, en die poetsen we altijd wel bij indien nodig (zoals je ziet). Alleen de indentering van je code is nogal kut, maar die is neem ik aan gepaste vanuit je vorige topic. Hulde dat je het nu alsnog wel goed wil doen! Alhoewel ik liever een mailtje had gehad :)

ps. oh ja ik ken geen PHP dus van mij geen inhoudelijk commentaar :D
het betreft hier een simpele debugtopic, en net als alle andere debugtopics gaat ie gewoon op slot.

De oplossing kon gewoon gevonden worden door goed naar de code te kijken om te zien wat er nou precies mis gaat. Als je de ene keer $naam gebruikt, en de andere keer $_POST["naam"], dan is natuurlijk wel te verwachten dat het niet goed gaat

[ Voor 21% gewijzigd door .oisyn op 11-06-2003 15:59 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.

Pagina: 1

Dit topic is gesloten.