Avatar billede tinebn Nybegynder
09. februar 2009 - 22:43 Der er 24 kommentarer og
1 løsning

kode gemmes i mysql

Jeg kan ikke lige se i hvilken fil og kode, at data fra inputfelter bliver gemt i mysql.

er det i denne stump ?

skal have tilføjet nogen flere felter !

kan jeg godt sende til 2 forskellige tabel bare ved at gentage kode og så ændre navn fra users til personer ?

Synes måske at password og brugernavn høre til en tabel og så alle andre data til en anden !

kode stump

elseif($_POST['brugernavn'] && $_POST['password']){
  $sql2="INSERT INTO users (brugernavn, password)
  VALUES('$_POST[brugernavn]', '$_POST[password]')"; mysql_query($sql2) or
  die(mysql_error());
    header ("Location: administrator.php");
Avatar billede arne_v Ekspert
09. februar 2009 - 22:47 #1
Det ligner kode som gemmer brugernavn og password.
Avatar billede arne_v Ekspert
09. februar 2009 - 22:48 #2
Du kan godt lave multiple kald til mysql_query med INSERT som indsaetter i forskellige tabeller.

Men overvej lige hvad du faar ud af at have to tabeller med 1:1 relation.
Avatar billede arne_v Ekspert
09. februar 2009 - 22:49 #3
PS: Gemmer du password i klar tekst ????
Avatar billede majbom Novice
10. februar 2009 - 08:26 #4
jeg ville nok lige kryptere koden inden den kommer ind i databasen.

-> arne_v - hvad mener du med at han kan indsætte i flere tabeller? han laver da kun én query, hvor han indsætter navn og kode i tabellen "users"...
Avatar billede arne_v Ekspert
10. februar 2009 - 14:05 #5
Han laver kun en query ovenfor, men han kan sagtens lave en mere, hvis han vil have andet data i en anden tabel.
Avatar billede tinebn Nybegynder
10. februar 2009 - 19:09 #6
hej

ja ligner nemlig lige en kode der gemmer password og brugernavn

hvis jeg så skal tilføje et nyt indput felt (hundenavn) er det så ok at skrive.

elseif($_POST['brugernavn'] && $_POST['password'] && $_POST['hundenavn'])
{
  $sql2="INSERT INTO users (brugernavn, password, hundenavn)
  VALUES('$_POST[brugernavn]', '$_POST[password]', '$_POST[hundenavn]' )"; mysql_query($sql2) or
  die(mysql_error());
    header ("Location: administrator.php");

login koder er hentet fra  http://www.hjemmesideskolen.dk/scripts/phpmysql/
hvis nogen kender koden her er det så kun nybruger-ok.dk der skal tilføjes ny input felter i ???

p.s ingen kryptereing ønsker det ikke i dette tilfælde ( mener det er kode 5md ? et eller andet)
Avatar billede tinebn Nybegynder
10. februar 2009 - 19:16 #7
jeg holder mig nok, til en tabel,;-) dette var ren nysgerrighed jeg spørger, videnbegærlighed

hvorfor jeg overvejer det, er hvis nu man skal hente forskellige data til forskellige aplikationer på sin website, vil det så være hurtiger for databasen at læse data? .... og så får jeg vel et bedre overblik over hvilke form høre til hvilke tabel???

eller er denne tankegang helt hen i vejeret??
Avatar billede majbom Novice
10. februar 2009 - 19:54 #8
havde ikke set dit spørgsmål med at indsætte i en anden tabel...

mht at have én eller flere tabeller afhænger det jo af hvilke data du skal gemme.

lad os antage at dine brugere skulle have mulighed for at have mere end én hund (jeg læser dine kodeeksempler som folk der har en hund).

så kunne du have en tabel med bruger-data (id, navn, kode, email, oprettelsesdato osv. og en tabel med hunde-data (id, bruger_id, navn, race osv.)

hvor bruger_id er id'et på en bruger der har hunden. på den måde kan en bruger have så mange hunde som man kunne ønske og den enkelte hund er altid relateret til brugeren, da den under bruger_id har det id som står ud fra brugeren i tabellen brugere.

jeg håber det av mening og det var det du spurgte efter :)
Avatar billede tinebn Nybegynder
10. februar 2009 - 20:28 #9
aahhh  ja det var det faktisk... ser kode så INSERT INTO users,hundedata ?

Men min kode  stump her ?

er det rigtig sådan, som jeg har tilføjet feltet i php her?
skal der virkelig ikke mere kode til at sende til tabel ?

elseif($_POST['brugernavn'] && $_POST['password'] && $_POST['hundenavn'])
{
  $sql2="INSERT INTO users (brugernavn, password, hundenavn)
  VALUES('$_POST[brugernavn]', '$_POST[password]', '$_POST[hundenavn]' )"; mysql_query($sql2) or
  die(mysql_error());
    header ("Location: administrator.php");
Avatar billede majbom Novice
10. februar 2009 - 21:50 #10
$sql2="INSERT INTO users (brugernavn, password, hundenavn)
  VALUES('$_POST[brugernavn]', '$_POST[password]', '$_POST[hundenavn]' )"; mysql_query($sql2) or
  die(mysql_error());

ovenstående indsætter i tabellen ja, men du skal først forbinde til databasen jo.
Avatar billede tinebn Nybegynder
11. februar 2009 - 00:04 #11
Sørme så nu har den indsat et navn i min tabel

Yes

men nu mangler jeg at hente navnet frem i admstrations mondul

brugernavn og password vises !!

vil koden mon ligge i samme fil nybruger-ok ?
Avatar billede tinebn Nybegynder
11. februar 2009 - 00:11 #12
ok.... jeg havde en stave fejl nu virker det begge veje

mange tak for hjælpen !!
Avatar billede majbom Novice
11. februar 2009 - 06:38 #13
selv tak :)
Avatar billede majbom Novice
12. februar 2009 - 06:51 #14
tak for point
Avatar billede tinebn Nybegynder
12. februar 2009 - 20:36 #15
Hej

jeg får en fejl visning nu i denne stump kode - tilhørende dette spørgsmål

Warning: Cannot modify header information - headers already sent by (output started at /customers/skolen.biz/skolen.biz/httpd.www/kgj8xb9/nybruger-ok.php:3) in /customers/skolen.biz/skolen.biz/httpd.www/kgj8xb9/nybruger-ok.php on line 23

hvorfor gør den lige det nu ???

elseif($_POST['brugernavn'] && $_POST['password'] && $_POST['hundenavn'])
{
  $sql2="INSERT INTO users (brugernavn, password, hundenavn)
  VALUES('$_POST[brugernavn]', '$_POST[password]', '$_POST[hundenavn]' )"; mysql_query($sql2) or
  die(mysql_error());
    header ("Location: administrator.php");
Avatar billede majbom Novice
13. februar 2009 - 06:33 #16
du kan ikke bruge en header efter der er lavet output til browseren.

du må have noget html-kode før du kalder:

header ("Location: administrator.php");
Avatar billede tinebn Nybegynder
13. februar 2009 - 22:17 #17
ok skal den så fjernes helt kan det gøre at den forsvinder, når den er kaldt 1 gang ?

<? $strTitle="Bruger-ID";?>

<? include("header.inc"); ?>
</head>

<body>

<div class="indhold">

<?php
mysql_connect("localhost", "skolen_biz", "686624"); mysql_select_db("skolen_biz");
$sql="SELECT brugernavn FROM users WHERE brugernavn='$_POST[brugernavn]'";
$result=mysql_query($sql)or die(mysql_error());
$number=mysql_num_rows($result);
if($number > 0){
  print "<h1> $strTitle ikke godkendt</h1>";
  print "<p>Desværre, brugernavnet er optaget</p>";
}
elseif($_POST['brugernavn'] && $_POST['password']&& $_POST['firmanavn']){
  $sql2="INSERT INTO users (brugernavn, password, firmanavn)
  VALUES('$_POST[brugernavn]', '$_POST[password]', '$_POST[firmanavn]')"; mysql_query($sql2) or
  die(mysql_error());
    header ("Location: administrator.php");
}
else{
  echo "<h1>Indtastningsfejl</h1>";
  echo "<p>Du skal udfylde begge felterne</p>";
}
?>

</div>

<div id="menu"><? include("menu2.inc"); ?></div>

</body>
</html>
Avatar billede majbom Novice
14. februar 2009 - 12:43 #18
"ok skal den så fjernes helt kan det gøre at den forsvinder, når den er kaldt 1 gang ?" <- ikke forstået :)

du kan ikke have en header efter du har skrevet til skærmen, f.eks. med echo eller print...
Avatar billede tinebn Nybegynder
14. februar 2009 - 21:04 #19
ok

Kan du se på min kode hvad jeg skal gøre ... for jeg forstår godt det du skriver... men hvorfor er den så sat der ?? header ("Location: administrator.php"); hvor skal jeg så gøre af den ?

kan jeg ikke bare fjerne den helt fra script ....... for der er da den der hedder <? include("header.inc"); ?>

hvilken betydning har den?
Avatar billede majbom Novice
15. februar 2009 - 08:12 #20
include inkluderer en fil. det svarer til at den kode der står i (i dette eksempel) header.inc kommer til at stå der hvor du kalder include.

header sender én videre til en ny side.

så de to funktioner er ikke ens
Avatar billede tinebn Nybegynder
16. februar 2009 - 13:36 #21
ok

Du skriver sådan her til mig.!
*/
du kan ikke bruge en header efter der er lavet output til browseren.

du må have noget html-kode før du kalder:

header ("Location: administrator.php"); */

hvordan skal jeg lige gøre det i dette stk kode ?
Avatar billede olebole Juniormester
16. februar 2009 - 13:59 #22
<ole>

Du skal finde en helt anden approach til PHP-kodning. Det er altid en rigtig skidt idé at blande HTML- og PHP-kode sammen.
I stedet skal du pakke al din PHP ind i funktioner, som du kan kalde nede fra din HTML-kode - og som returnerer en HTML-streng.

/mvh
</bole>
Avatar billede majbom Novice
16. februar 2009 - 14:01 #23
så må du lave den kode der sender dig videre til administrator.php før du laver output til browseren.

flyt:

<?php
mysql_connect("localhost", "skolen_biz", "686624"); mysql_select_db("skolen_biz");
$sql="SELECT brugernavn FROM users WHERE brugernavn='$_POST[brugernavn]'";
$result=mysql_query($sql)or die(mysql_error());
$number=mysql_num_rows($result);
if($number > 0){
  print "<h1> $strTitle ikke godkendt</h1>";
  print "<p>Desværre, brugernavnet er optaget</p>";
}
elseif($_POST['brugernavn'] && $_POST['password']&& $_POST['firmanavn']){
  $sql2="INSERT INTO users (brugernavn, password, firmanavn)
  VALUES('$_POST[brugernavn]', '$_POST[password]', '$_POST[firmanavn]')"; mysql_query($sql2) or
  die(mysql_error());
    header ("Location: administrator.php");
}
else{
  echo "<h1>Indtastningsfejl</h1>";
  echo "<p>Du skal udfylde begge felterne</p>";
}
?>

til toppen af dit dokument og i stedet for disse linjer:

echo "<h1>Indtastningsfejl</h1>";
echo "<p>Du skal udfylde begge felterne</p>";

og:

print "<h1> $strTitle ikke godkendt</h1>";
print "<p>Desværre, brugernavnet er optaget</p>";

smide det du gerne vil udskrive i nogle variabler og udskrive variablerne der hvor du gerne vil have dem.
Avatar billede tinebn Nybegynder
16. februar 2009 - 14:37 #24
ok jeg prøver mig lige frem

tak
Avatar billede majbom Novice
16. februar 2009 - 14:50 #25
selv :)
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