Avatar billede php_programmoer Nybegynder
15. november 2005 - 15:41 Der er 30 kommentarer og
2 løsninger

Hvorfor virker dette ikke ?

hvorfor virker mit dokument ikke ? :(

(fejlen er bare at den ikke vil indsætte dette i min mysql database)

<?
$id = $_GET['id'];
?>

<form action="profil.php?id=<?php echo $_GET['id']; ?>" method="post">
Mail: <input name="mail" type="text"><br>
Hjemmeside: <input name="hjemmeside" type="text"><br>
Interesser: <input name="interesser" type="text"><br>
Alder: <input name="alder" type="text"><br>
<input name="send" type="submit" value="gem"><br>
</form>

<?php
include "mysql.php";

if ($_POST[send]) {
mysql_query("INSERT INTO brugere (mail, hjemmeside, interesser, alder) VALUES ('$_POST[mail]', '$_POST[hjemmeside]', '$_POST[interesser]', '$_POST[alder]') WHERE id = $id");
}
?>

og her er tabellen:

CREATE TABLE `brugere` (
  `id` int(11) NOT NULL auto_increment,
  `brugernavn` varchar(255) NOT NULL default '',
  `kodeord` varchar(255) NOT NULL default '',
  `mail` varchar(100) NOT NULL default '',
  `hjemmeside` varchar(100) NOT NULL default '',
  `interesser` varchar(100) NOT NULL default '',
  `alder` varchar(100) NOT NULL default '',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=29 ;
Avatar billede php_programmoer Nybegynder
15. november 2005 - 15:43 #1
skal lige siges at dette ikke er mit eget private dokument men et jeg fik af en ven fra msn :)
Avatar billede jaw Nybegynder
15. november 2005 - 15:43 #2
Det er fordi du prøver at indsætte noget WHERE id = x - det kan man ikke, så er det jo ikke en insert men en update.
Avatar billede jakobdo Ekspert
15. november 2005 - 15:43 #3
Du kan ikke bruge en WHERE i en INSERT!
Avatar billede php_programmoer Nybegynder
15. november 2005 - 15:46 #4
øv og bøv, jamen dog hvad skal jeg så bruge ? skal jo have den til at indsætte det man har indtastet lige præcis ved den bruger hvis id er i adresselinien ???
Avatar billede jaw Nybegynder
15. november 2005 - 15:48 #5
UPDATE `brugere` SET `mail` = '".$_POST['mail']."', `hjemmeside` = '".$_POST['hjemmeside']."' WHERE id = $id
Avatar billede php_programmoer Nybegynder
15. november 2005 - 15:49 #6
jamen det skal jo være en insert og ikke update
Avatar billede jaw Nybegynder
15. november 2005 - 15:51 #7
Hvorfor skal det det? Hvis det er fordi du vil oprette en bruger med det bestemte id-nummer, så skal du bare have id med i selve inserten - hvis id'et allerede findes, så skal du bruge update.
Avatar billede jakobdo Ekspert
15. november 2005 - 15:52 #8
Det er netop UPDATE du skal bruge!
Den opdatere en eksisterende række!
Læs mere her: http://dev.mysql.com/doc/refman/5.0/en/update.html

hvis du har et ID i adresse linien, så forstår jeg ikke hvorfor det skal indsættes i tabellen brugere, der findes han jo allerede.
Avatar billede php_programmoer Nybegynder
15. november 2005 - 15:56 #9
Når jo, det giver sku da også mening :)

hovsa min fejl :)

men skal jeg så bare indsætte update istedet for insert og så vil det virke ?
undskyld, men forstår ikke helt
Avatar billede jaw Nybegynder
15. november 2005 - 15:58 #10
Ikke helt, men du skal fortsætte med de sidste 2 felter på det jeg skrev 15:48:18.

Og det er ok, er her jo for at hjælpe :)
Avatar billede php_programmoer Nybegynder
15. november 2005 - 16:00 #11
<?
$id = $_GET['id'];
?>

<form action="profil.php?id=<?php echo $_GET['id']; ?>" method="post">
Mail: <input name="mail" type="text"><br>
Hjemmeside: <input name="hjemmeside" type="text"><br>
Interesser: <input name="interesser" type="text"><br>
Alder: <input name="alder" type="text"><br>
<input name="send" type="submit" value="gem"><br>
</form>

<?php
include "mysql.php";

if ($_POST[send]) {
UPDATE `brugere` SET `mail` = '".$_POST['mail']."', `hjemmeside` = '".$_POST['hjemmeside']."', `interesser` = '".$_POST['interesser']."', `alder` = '".$_POST['alder']."' WHERE id = $id
}
?>


sådan der ?

det giver mig en unexpected `
Avatar billede jaw Nybegynder
15. november 2005 - 16:02 #12
Ja ok, det skulle så lige være:

mysql_query(" ... det du har ovenstående ...") or die(mysql_error());

men ellers ser det ikke helt tosset ud...
Avatar billede php_programmoer Nybegynder
15. november 2005 - 16:09 #13
Den dur ikke desværre, den vil ikke tilføje det man skriver i tekstfelterne i databasen:

<?
$id = $_GET['id'];
?>

<form action="profil.php?id=<?php echo $_GET['id']; ?>" method="post">
Mail: <input name="mail" type="text"><br>
Hjemmeside: <input name="hjemmeside" type="text"><br>
Interesser: <input name="interesser" type="text"><br>
Alder: <input name="alder" type="text"><br>
<input name="send" type="submit" value="gem"><br>
</form>

<?php
include "mysql.php";

if ($_POST[send]) {
mysql_query("UPDATE `brugere` SET `mail` = '".$_POST['mail']."', `hjemmeside` = '".$_POST['hjemmeside']."', `interesser` = '".$_POST['interesser']."', `alder` = '".$_POST['alder']."' WHERE id = $id") or die(mysql_error());
}
?>
Avatar billede jaw Nybegynder
15. november 2005 - 16:12 #14
Så prøv at lave en udskrift af det, og se om den giver det du tror den skal:

echo "UPDATE `brugere` SET `mail` = '".$_POST['mail']."', `hjemmeside` = '".$_POST['hjemmeside']."', `interesser` = '".$_POST['interesser']."', `alder` = '".$_POST['alder']."' WHERE id = $id";
Avatar billede php_programmoer Nybegynder
15. november 2005 - 16:14 #15
Det samme sker, den indsætter ikke :)
Avatar billede php_programmoer Nybegynder
15. november 2005 - 16:16 #16
nå nu forstår jeg, ja den udskriver det skam, så det må være noget med selve update sætningen :)
Avatar billede jaw Nybegynder
15. november 2005 - 16:16 #17
Nej, det skulle den bestemt heller ikke. Men den vil udskrive "kommandoen", så du kan se om den gør det rigtigt. Den udskriver vel noget?
Avatar billede php_programmoer Nybegynder
15. november 2005 - 16:19 #18
aargh, nu står det i min database som det skal, men ved ikke hvad jeg gjorde for at det virkede, kan ikke få det tilbage, har lige prøvet :(
Avatar billede jaw Nybegynder
15. november 2005 - 16:20 #19
Få det tilbage? Nej, du overskriver det jo...
Avatar billede php_programmoer Nybegynder
15. november 2005 - 16:22 #20
Jeg mente koden :)

den virkede ligefør men nu virker det ikke :(
Avatar billede jaw Nybegynder
15. november 2005 - 16:24 #21
Nu er jeg ikke med mere. Hvad har du af kode nu?
Avatar billede php_programmoer Nybegynder
15. november 2005 - 16:26 #22
denne kode:

<?
$id = $_GET['id'];
?>

<form action="profil.php?id=<?php echo $_GET['id']; ?>" method="post">
Mail: <input name="mail" type="text"><br>
Hjemmeside: <input name="hjemmeside" type="text"><br>
Interesser: <input name="interesser" type="text"><br>
Alder: <input name="alder" type="text"><br>
<input name="send" type="submit" value="gem"><br>
</form>

<?php
include "mysql.php";

if ($_POST[send]) {
mysql_query("UPDATE `brugere` SET `mail` = '".$_POST['mail']."', `hjemmeside` = '".$_POST['hjemmeside']."', `interesser` = '".$_POST['interesser']."', `alder` = '".$_POST['alder']."' WHERE id = $id") or die(mysql_error());
}
?>
Avatar billede jaw Nybegynder
15. november 2005 - 16:34 #23
Du kan da prøve at fjerne `erne, men ellers kan jeg umiddelbart ikke se noget galt...
Avatar billede php_programmoer Nybegynder
15. november 2005 - 16:44 #24
det virkede selvfølgelig heller ikke, det skal jo være noget ala det vi har prøvet :)
Avatar billede wakko Nybegynder
15. november 2005 - 21:33 #25
if ($_POST['send']) {
Avatar billede php_programmoer Nybegynder
16. november 2005 - 14:28 #26
Virker nu, skulle bare fjerne det der stod i action :S

Læg et svar ;)
Avatar billede wakko Nybegynder
16. november 2005 - 16:41 #27
mig ?
Avatar billede jaw Nybegynder
16. november 2005 - 18:11 #28
Svar :)
Avatar billede jaw Nybegynder
16. november 2005 - 22:43 #29
Hehe, no offence overhovedet, men det var billige point, wakko :) !

Og tak for point :)
Avatar billede wakko Nybegynder
16. november 2005 - 22:45 #30
Hehe, er helt ny herinde, mine første points :P

- og også tak herfra
Avatar billede jaw Nybegynder
16. november 2005 - 22:46 #31
Så er det vel fair nok - velkommen til :)
Avatar billede wakko Nybegynder
16. november 2005 - 22:47 #32
Jo tak :)
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