14. november 2005 - 22:34Der er
27 kommentarer og 1 løsning
Mit dokument vil ikke virke ?
Hejsa, jeg har fået hjælp til at lave en funktion, og derfor kan jeg ikke helt selv se hvad der er galt, har prøvet dog. Den indsætter ikke de indtastede oplysninger i databasen, men hvorfor ? - dette script skal bruges til at man kan redigere i sin profil, altså når man er logget ind, kan man skrive noget info om sig selv og gemme det, ligsom under "konto" her på eksperten :)
Man kan definere funktioner li'så tosset man vil. Og man bør egentlig definere dem før man begynder at kigge på det, der skal udføres: altså, flyt dine to funktioner ud før din if-sætning, måske endda i toppen af dokumentet, måske endda på en separat fil, du siger include til - så kan de bruges andre steder.
Og så kalder du en eller flere funktioner, sådan ca. som jeg skriver - i dette tilfælde inden i din if-sætning.
1) Du bruger en $brugernavn, der ikke kommer nogen steder fra. 2) update__or_insert_user_info returnerer en værdi, som du ikke bruger (det behøver du heller ikke, men der er vel en grund til det)
1) hmm, ja han havde indsat nogle felter til at starte med, men så rettede jeg til mine egne, som du kan se i html delen, så er det kun de felter der bruges, da ovenstående ER hele dokumentet. Men hvis du gad at hjælpe mig med at få det ordnet, er jeg villig til at smide flere point oven i hvis du vil ? selvom du nok ikke går så meget efter point, men hva' fa'n det er det eneste jeg kan give :)
2) snakker du om denne del ? if ($res) { $done = true; } else { $done = false; } return $done; }
den er jo til for at se om det gik rigtigt til, men jo helt unødvendig, kan jeg roligt slette den ?
Så det burde virke ? - har nemlig ingen mulighed for at teste det nu, derfor de underlige spørgsmål :) frac.dk understøtter desværre kun 15 brugere online på ftp af gangen :S glæder mig til systemet er færdig, så lægger jeg det op på en ordenlig side :)
Så kom ftp'en op og køre igen, men det hele virker altså den indsætter i databasen og det hele, men den indsætter oplysningerne i en anden og tom bruger, dvs at det er funktionen hvor den skal finde hvilken bruger det er det handler om som fejler, kan umiddelbart ikke se hvad det er som er galt ?
Du behøver kun sætte <form...> </form> rundt om selve felterne.
Men hvis der ikke er andet, så har du ikke et HTML-dokument. Om det så virker eller ej, og hvad fejl der opstår og hvordan de rettes er rent lotteri.
Der burde være en checkbox ved spørgsmål om websider her på eksperten.dk
(Box) Validerer siden hos validator.w3.org
og hvis svaret er "nej", så får man ikke lov til at spørge. Og det er ment alvorligt: der er ingen grund til at spilde egen (eller andres) tid, hvis de simple formalia ikke er overholdt. Hvis siden er lovlig HTML 4.01 - ja, så kan vi gå på jagt efter fejl.
Sådan, nu har jeg prøvet selv at lave det, og er efter min mening mere forståeligt, men jeg for dog en fejl i min INSERT sætning:
------------------------------------------------------- <? //connecter til databasen include "mysql.php";
//finder brugerens id nummer fra adresselinien $id = mysql_escape_string($_GET["id"]); $query = mysql_query("SELECT brugernavn FROM brugere WHERE id = $id LIMIT 1");
//opdatere det info man har skrevet $sql1 = "UPDATE brugere SET mail = '" . $mail . "', hjemmeside = '" . $hjemmeside . "', interesser = '" . $interesser . "', alder = '" . $alder . "' WHERE id = $id; $res1 = mysql_query($sql1);
//indsætter det info man har skrevet $sql2 = mysql_query("INSERT INTO brugere (mail, hjemmeside, interesser, alder) VALUES ('$_POST[mail]','$_POST[hjemmeside]','$_POST[interesser]','$_POST[alder]')") or die(mysql_erorr()); $res2 = mysql_query($sql2); ?>
<?php //connecter til databasen include "mysql.php";
//hvis man trykker på knappen if ($_POST[submit]) { //så tjekker den: hvis der findes nogle brugere if (mysql_num_rows($query)>0) { //så skal den opdatere bruger info mysql_query($sql1) } else { //ellers, hvis ikke det findes i databasen så skal den indsætte det nye bruger info mysql_query($sql2) } } ?>
"eg for dog en fejl i min INSERT" - ja, det er spild af tid, hvis du ikke vil fortælle hvad det er for en fejl.
Men nu har du jo lavet det hele om. Du laver en INSERT, selv om man ikke kommer fra din <form>. Jeg troede vi var enige om at man først med passende if-er skulle se om man kom på siden første gang, eller om man kom fra formen. Det har du nederst, men du laver alligevel altid en INSERT. Dine funktioner var da gode til det de skulle bruges til.
Og når du nederst siger mysql_query($sql2) er det ikke til en sql-sætning, men til resultatet fra den mysql_query med INSERT du allerede har lavet.
Hvad med at gå tilbage til det du havde før?
(Og så har resultatet stadig intet med et HTML-dokument at gøre)
Jamen du hjalp mig jo, godt nok virkede lige det der ikke, men jeg fik det da til at virke og du blev ved med at prøve, i sådan nogle spørgsmål hader jeg at tage pointene selv, men så kan jeg da belønne dig med god karma :)
Synes godt om
Ny brugerNybegynder
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.