Avatar billede krydset Nybegynder
05. oktober 2003 - 15:22 Der er 31 kommentarer og
1 løsning

Php kode indsætter ikke i db

Hejsa mit spm er. Hvorfor sætter det her script ikke ind i min db.

Det skal lige siges at det ligger i en function som bliver kaldt af et link
Ved ikke om det har noget at sige

<?PHP

//opret bruger
if ($_GET['function'] == "opret") {
    opret();
}

function opret() {
    echo "OPRET DIG SOM BRUGER";
   
    print "<form action=\"$php_self\"method?\"post\">\n";
   
    print "<input type=\"text\" name=\"bruger_navn\">";
    print "Brugernavn <p>\n";
   
    print "<input type=\"text\" name=\"email\">";
    print "Email <p>\n";
   
    print "<input type=\"text\" name=\"pass_word\">";
    print "password <p>\n";
   
    print "<input type=\"text\" name=\"re_password\">";
    print "Gentag Password <p>\n";
   
    print "<input type=\"text\" name=\"messenger\">";
    print "Messenger <p>\n";
   
    print "<input type=\"text\" name=\"icq\">";
    print "Icq <p>\n";
   
    print "</select>\n";
    print "<input type=\"submit\" value=\"subnit!\">\n</form>\n";

}


include("dbconnect.php");
$bruger_navn = $_POST['bruger_navn'];
$email = $_POST['email'];
$pass_word = $_POST['pass_word'];
$re_password = $_POST['re_password'];
$messenger = $_POST['messenger'];
$icq = $_POST['icq'];

if(isset($bruger_navn)) {

mysql_query("INSERT INTO users (bruger_navn, email, pass_word, messenger, icq) VALUES ['$bruger_navn','$email','$pass_word','$messenger','$icq']")or die(mysql_error());
}

?>
Nogen der kan se fejlen??

//krydset
Avatar billede jara06 Nybegynder
05. oktober 2003 - 15:35 #1
prøv det her:
mysql_query("INSERT INTO users (bruger_navn, email, pass_word, messenger, icq) VALUES ('$bruger_navn','$email','$pass_word','$messenger','$icq')")or die(mysql_error());

prøv også at skrive sætningen ud samtidig

print("INSERT INTO users (bruger_navn, email, pass_word, messenger, icq) VALUES ('$bruger_navn','$email','$pass_word','$messenger','$icq')")
Avatar billede krydset Nybegynder
05. oktober 2003 - 15:38 #2
virker ik??
Avatar billede krydset Nybegynder
05. oktober 2003 - 15:38 #3
den udskriver ikke selvom jeg sætter den linie ind :-S
Avatar billede jara06 Nybegynder
05. oktober 2003 - 15:39 #4
hvilken del ?
kommer der output med print eller ej ?
bliver der indsat noget eller ej ?
kommer der nogen errors, warnings eller notice's ?
Avatar billede krydset Nybegynder
05. oktober 2003 - 15:41 #5
Der kommer intet output
der bilver intet indsat
Der kommer ingen errors warnings etc

Og det var det du skrev jeg prøvede :-/
Avatar billede jara06 Nybegynder
05. oktober 2003 - 15:42 #6
prøv at sætte :
error_reporting(E_ALL);
i toppen af siden og se om der kommer nogen fejl ..
Avatar billede krydset Nybegynder
05. oktober 2003 - 15:42 #7
du kan se hele scriptet her www.pc-dk.dk/fejl.txt
Avatar billede krydset Nybegynder
05. oktober 2003 - 15:43 #8
her er den

Warning: Undefined variable: php_self in /home/administrator/www/ny/main.php on line 84
Avatar billede krydset Nybegynder
05. oktober 2003 - 15:44 #9
det er i formen.


function opret() {
    echo "OPRET DIG SOM BRUGER";
   
    print "<form action=\"$php_self\"method?\"post\">\n";
Avatar billede jara06 Nybegynder
05. oktober 2003 - 15:45 #10
ja, erstat den med denne her:
$_SERVER['php_self']
Avatar billede jara06 Nybegynder
05. oktober 2003 - 15:46 #11
ret også den method?
print "<form action=\"". $_SERVER['php_self'] ."\" method=\"post\">\n";
Avatar billede krydset Nybegynder
05. oktober 2003 - 15:47 #12
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in /home/administrator/www/ny/main.php on line 84

Denne her nu :-*(
Avatar billede krydset Nybegynder
05. oktober 2003 - 15:48 #13
hmmmm nu er der mange fejl

Warning: Undefined index: function in /home/administrator/www/ny/main.php on line 77

Warning: Undefined index: bruger_navn in /home/administrator/www/ny/main.php on line 111

Warning: Undefined index: email in /home/administrator/www/ny/main.php on line 112

Warning: Undefined index: pass_word in /home/administrator/www/ny/main.php on line 113

Warning: Undefined index: re_password in /home/administrator/www/ny/main.php on line 114

Warning: Undefined index: messenger in /home/administrator/www/ny/main.php on line 115

Warning: Undefined index: icq in /home/administrator/www/ny/main.php on line
Avatar billede krydset Nybegynder
05. oktober 2003 - 15:51 #14
Hvad er det der sker hvorfor alle de fejl
Avatar billede jara06 Nybegynder
05. oktober 2003 - 15:57 #15
det er fordi de ikke er sat. f.eks. hvor du lægger alle POST variablerne over i "alm" variabler.

Prøv at skifte den nederste sektion ud med det her:
print("-->INSERT INTO users (bruger_navn, email, pass_word, messenger, icq) VALUES ('". $bruger_navn ."','". $email ."','". $pass_word ."','". $messenger."','". $icq ."')<--");
if ((isset($_POST['bruger_navn'])) && (!empty($_POST['bruger_navn'])))
{
print("-->INSERT INTO users (bruger_navn, email, pass_word, messenger, icq) VALUES ('". $bruger_navn ."','". $email ."','". $pass_word ."','". $messenger."','". $icq ."')<--");
    include("dbconnect.php");
    $bruger_navn = $_POST['bruger_navn'];
    $email = $_POST['email'];
    $pass_word = $_POST['pass_word'];
    $re_password = $_POST['re_password'];
    $messenger = $_POST['messenger'];
    $icq = $_POST['icq'];

    if ($pass_word === $re_password)
    {
        if (mysql_query("INSERT INTO users (bruger_navn, email, pass_word, messenger, icq) VALUES ('". $bruger_navn ."','". $email ."','". $pass_word ."','". $messenger."','". $icq ."')"))
        {
            echo "data inserted";
        }
        else
        {
            die("Error: ". mysql_error());
        }
    }
}
else
{
    echo "Fejl: brugernavn ikke angivet";
}
Avatar billede krydset Nybegynder
05. oktober 2003 - 16:00 #16
det vil den heller ikke være med til

se siden her www.pc-dk.dk/ny/
Avatar billede krydset Nybegynder
05. oktober 2003 - 16:01 #17
det her er den første fejl
Warning: Undefined index: php_self in /home/administrator/www/ny/main.php on line 86
Avatar billede jara06 Nybegynder
05. oktober 2003 - 16:05 #18
jeg tænkte lige ... har du ikke icq eller irc så vi ikke voldspammer exp pga problemet ? :)
Avatar billede sukos Juniormester
05. oktober 2003 - 16:10 #19
Hvad med:

<?PHP

//opret bruger
if (isset($_GET['function']) && $_GET['function'] == "opret") {
      opret();
}

function opret() {
    echo "OPRET DIG SOM BRUGER";
   
    print "<form action=\"$_SERVER[PHP_SELF]\" method=\"post\">\n";
   
    print "<input type=\"text\" name=\"bruger_navn\">";
    print "Brugernavn <p>\n";
   
    print "<input type=\"text\" name=\"email\">";
    print "Email <p>\n";
   
    print "<input type=\"text\" name=\"pass_word\">";
    print "password <p>\n";
   
    print "<input type=\"text\" name=\"re_password\">";
    print "Gentag Password <p>\n";
   
    print "<input type=\"text\" name=\"messenger\">";
    print "Messenger <p>\n";
   
    print "<input type=\"text\" name=\"icq\">";
    print "Icq <p>\n";
   
    print "</select>\n";
    print "<input type=\"submit\" value=\"subnit!\">\n</form>\n";

}



if(isset($_POST['bruger_navn'])) {
include("dbconnect.php");
$bruger_navn = $_POST['bruger_navn'];
$email = $_POST['email'];
$pass_word = $_POST['pass_word'];
$re_password = $_POST['re_password'];
$messenger = $_POST['messenger'];
$icq = $_POST['icq'];

mysql_query("INSERT INTO users (bruger_navn, email, pass_word, messenger, icq) VALUES ['$bruger_navn','$email','$pass_word','$messenger','$icq']")or die(mysql_error());
}

?>
Avatar billede krydset Nybegynder
05. oktober 2003 - 16:14 #20
sukos>>> den giver fejl efter man har indtastet info
You have an error in your SQL syntax near '['FDSF','DSFDS','DSFD','dfgfdg','fgfdg']' at line 1
Avatar billede jara06 Nybegynder
05. oktober 2003 - 16:14 #21
bah! havde glemt $_SERVER['PHP_SELF'] skal med stort hele vejen :P
Avatar billede jara06 Nybegynder
05. oktober 2003 - 16:15 #22
det er som jeg skrev tidligere, brug () istedet for [] til at omkapsle det med
Avatar billede sukos Juniormester
05. oktober 2003 - 16:18 #23
mysql_query("INSERT INTO users (bruger_navn, email, pass_word, messenger, icq) VALUES ('$bruger_navn','$email','$pass_word','$messenger','$icq')")or die(mysql_error());
}

ja, mig som ikke lige får det kikket ordentligt igennem!
Avatar billede sukos Juniormester
05. oktober 2003 - 16:19 #24
Men læg lige mærke til at man evt. kan manipulere med DB'en hvis du bruger den form.
http://www.showsource.dk/artikler/vis_artikel.php?id=1043169805
Avatar billede krydset Nybegynder
05. oktober 2003 - 16:24 #25
Der var den :-D

her er løsningen

<?PHP

//opret bruger
if ($_GET['function'] == "opret") {
    opret();
}

function opret() {
    echo "OPRET DIG SOM BRUGER";
   
    print "<form action=\"". $_SERVER['PHP_SELF'] ."\" method=\"post\">\n";
   
    print "<input type=\"text\" name=\"bruger_navn\">";
    print "Brugernavn <p>\n";
   
    print "<input type=\"text\" name=\"email\">";
    print "Email <p>\n";
   
    print "<input type=\"text\" name=\"pass_word\">";
    print "password <p>\n";
   
    print "<input type=\"text\" name=\"re_password\">";
    print "Gentag Password <p>\n";
   
    print "<input type=\"text\" name=\"messenger\">";
    print "Messenger <p>\n";
   
    print "<input type=\"text\" name=\"icq\">";
    print "Icq <p>\n";
   
    print "</select>\n";
    print "<input type=\"submit\" value=\"subnit!\">\n</form>\n";

}



if(isset($_POST['bruger_navn'])) {
include("dbconnect.php");
$bruger_navn = $_POST['bruger_navn'];
$email = $_POST['email'];
$pass_word = $_POST['pass_word'];
$re_password = $_POST['re_password'];
$messenger = $_POST['messenger'];
$icq = $_POST['icq'];

mysql_query("INSERT INTO users (bruger_navn, email, pass_word, messenger, icq) VALUES ('$bruger_navn','$email','$pass_word','$messenger','$icq')")or die(mysql_error());
}

?>


Hmm ved ikke hvem der skal have point tror det var jara06 :-O er jeg helt forkert på den??
Avatar billede jara06 Nybegynder
05. oktober 2003 - 16:25 #26
op til dig
Avatar billede sukos Juniormester
05. oktober 2003 - 16:28 #27
Osse mere fortjent for indsatsen! :O)
Avatar billede krydset Nybegynder
05. oktober 2003 - 17:11 #28
sukos>>>????
Avatar billede sukos Juniormester
05. oktober 2003 - 17:14 #29
Ja, gi' du jara06 point! Han fortjener dem.
Avatar billede krydset Nybegynder
05. oktober 2003 - 17:16 #30
oki doki here u go jara

Og begge tak for hjælpen :-D
Avatar billede jara06 Nybegynder
05. oktober 2003 - 17:21 #31
thx & np.
har en mindre forkærlighed for php. hader bare de småting man glemmer af og til .. php_self med stort, overser ting i koden osv. :P
fint nok du fik det fixet i hvert fald.
(husk at lave validering af ALLE brugerinput (og når formen har forbindelse til en database, så husk også at tjekke det nu ER den rigtige side formen kommer fra, så jeg f.eks. ikke kan lave en form og poste i din db fra min egen hjemmeside (kig på linket sukos pastede))
Avatar billede krydset Nybegynder
05. oktober 2003 - 19:10 #32
Ja det er squ irreterende. Jeg vil prøve og læse den artikel grundig igennem mange tak for den :-D
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