Gjest Slettet+432 Skrevet 26. april 2004 Del Skrevet 26. april 2004 Hei! har mekket et lite script... skal være en erstatning for dette her: http://www.reboothome.com/?side=dataproblemer. men vil det funke? dataproblemer.php: <form action="index.php?side=dataproblemerny_resultat" method="POST"> Navn: <br> <input type="text" name="navn"> <br> Problem: <br> <textarea rows="6" cols="50" name="problem"><br> <input type="submit" value="Legg inn"> </form> legginn.php: <?php /* Henter variabler */ $navn = $_POST['navn']; $problem = $_POST['problem']; /* Kobler til databasen */ $mysql_host = "localhost"; $mysql_user = "******"; $mysql_pass = "*******"; $mysql_db = "*******"; @mysql_connect($mysql_host,$mysql_user,$mysql_pass) or die("Kobling til database mislyktes."); @mysql_select_db($mysql_db) or die("Valg av database mislyktes"); $query = "INSERT INTO `dataproblemer` (`navn`,`problem`) VALUES('$navn','$problem');"; $errarr = array(); if(!@mysql_query($query)) array_push($errarr,"Et eller annet gikk galt. Feilmeldingen fra mysql er: " . mysql_error()); else array_push($errarr,"Innlegget ditt ble lagt til!"); ?> vis.php: <?php /* Kobler til databasen */ $mysql_host = "localhost"; $mysql_user = "******"; $mysql_pass = "*******"; $mysql_db = "*******"; @mysql_connect($mysql_host,$mysql_user,$mysql_pass) or die("Kobling til database mislyktes."); @mysql_select_db($mysql_db) or die("Valg av database mislyktes"); $setning = @mysql_query("SELECT * FROM dataproblemer order by date"); while($pdb = @mysql_fetch_array($setning)) { print("$navn <br><br> $problem <br><br> <b>Svar fra $brukernavn:</b> <br> $svar <br><br> "); if($_SESSION['brukernavn'] && $_SESSION['passord']) { print(" <font size=\"-7\"> » </font><a href=\"index.php?side=dataproblemerny&slett=$id\">Slett</a> <br> <font size=\"-7\"> » </font><a href=\"index.php?side=dataproblemerny&svar=$id\">Svar</a> "); else { print(" "); } ?> svar.php: <form action="index.php?side=dataproblemerny&svar=resultat" method="POST"> Svar: <br> <textarea rows="6" cols="50" name="svar"><br> <input type="submit" value="Legg inn"> </form> svar_handling.php: <?php /* Henter variabler */ $svar = $_POST['svar']; /* Kobler til databasen */ $mysql_host = "localhost"; $mysql_user = "******"; $mysql_pass = "*******"; $mysql_db = "*******"; @mysql_connect($mysql_host,$mysql_user,$mysql_pass) or die("Kobling til database mislyktes."); @mysql_select_db($mysql_db) or die("Valg av database mislyktes"); $query = "UPDATE dataproblemer SET svar = '$svar' WHERE svar = '$svar'"; $errarr = array(); if(!@mysql_query($query)) array_push($errarr,"Et eller annet gikk galt. Feilmeldingen fra mysql er: " . mysql_error()); else array_push($errarr,"Svaret ble lagt til!"); ?> Lenke til kommentar
sven-o Skrevet 26. april 2004 Del Skrevet 26. april 2004 Har du testet det? Jeg er mer tilhenger av å analysere feil enn å grave meg ned i andres kode. Gi meg en feilmelding, eller vent på at noen andre gidder å kikke på det(garantert noen som er mindre late her enn meg). Lenke til kommentar
???????? Skrevet 26. april 2004 Del Skrevet 26. april 2004 Må nesten være enig med sven-o. Selv har jeg ikke tid til å teste script for andre, men hjelper gjerne til dersom de viser den koden det er noe feil med og en eventuell feilmelding. Det er mange poster her jeg kunne tenke meg å svare på, men har ikke tid - spesielt ikke dersom det kun er mange linjer med kode. Som sven-o sier: sikker noen som er mindre late. Og har mer tid Lenke til kommentar
Nervetattoo Skrevet 26. april 2004 Del Skrevet 26. april 2004 Får slenge meg med på listen over de late. Synes en viss skikk bør utøves når man spørr etter hjelp. En god beskrivelse av problemet, feilmeldingen man får, og annen informasjon som kan være greit å ha. Prøv å begrens koden du viser fram her, ta kun med det som er reelt. Jeg kunne normalt ikke tenke meg å lese gjennom sidevis med kode for å finne en feil hos andre. De fleste av oss har ikke tid til det. Nå håper jeg ikke trådstartet føler seg ille til mote. Tenkte det kunne være greit å bare nevne det for alle. Det er en del som kommer med veldig dårlig formulerte spørsmål og sånt. Lenke til kommentar
???????? Skrevet 26. april 2004 Del Skrevet 26. april 2004 (endret) Nå håper jeg ikke trådstartet føler seg ille til mote. Tenkte det kunne være greit å bare nevne det for alle. Det er en del som kommer med veldig dårlig formulerte spørsmål og sånt. Som Findus sier, dette er ikke bare rettet mot trådstarter men generelt. Endret 26. april 2004 av ???????? Lenke til kommentar
Gjest Slettet+432 Skrevet 26. april 2004 Del Skrevet 26. april 2004 Skjønner Altså.. når jeg prøver å legge inn, så kommer det ingen feilmelding opp, og heller ingen melding som sier at det gikk greit. Når jeg vil vise (http://reboothome.com/include/dataproblemerny/vis.php) så vises ikke en ting. Hvorfor? Lenke til kommentar
Svendsen Skrevet 26. april 2004 Del Skrevet 26. april 2004 Har bare skumma over litt her: Men har sett noe som ikke virker helt bra: I legginn.php $query = "INSERT INTO `dataproblemer` (`navn`,`problem`) VALUES('$navn','$problem');"; //ta bort nest siste; I svar_handling.php $query = "UPDATE dataproblemer SET svar = '$svar' WHERE svar = '$svar'"; Dette kan jo ikke bli riktig $svar er jo det nyeinnholdet og det finnes da ikke fra før. Kan vi få se db strukturen din og? Lenke til kommentar
Gjest Slettet+432 Skrevet 26. april 2004 Del Skrevet 26. april 2004 Denne: ? CREATE TABLE `dataproblemer` ( `navn` VARCHAR( 255 ) NOT NULL ,'. ' `problem` VARCHAR( 255 ) NOT NULL ,'. ' `svar` VARCHAR( 255 ) NOT NULL );'. ' Lenke til kommentar
???????? Skrevet 26. april 2004 Del Skrevet 26. april 2004 I legginn.php $query = "INSERT INTO `dataproblemer` (`navn`,`problem`) VALUES('$navn','$problem');"; //ta bort nest siste; ; betyr slutten av spørringen - du må ha den med hvis du jobber i command vinduet til f.eks. mysql. ; avslutter en spørring og gjøre det mulig å starte en ny spørring - så den kan godt stå der. Den er ikke med i mange scripts da den ikke er nødvendig. Lenke til kommentar
???????? Skrevet 26. april 2004 Del Skrevet 26. april 2004 Er du sikker på at variabelene sendes til riktig side? Prøv å echo variabelene. Lenke til kommentar
Gjest Slettet+432 Skrevet 26. april 2004 Del Skrevet 26. april 2004 Kommer ingenting ut når jeg "echoer" ut variablene... Lenke til kommentar
???????? Skrevet 26. april 2004 Del Skrevet 26. april 2004 Da blir ikke variablene sendt korrekt, eller hentet korrekt. Bruk denne på siden du sender til: foreach($_REQUEST as $var => $value){ echo "$var: $value<br>\n"; } Da viser den alle variablene som blir som blir sendt med cookie, post og get. Lenke til kommentar
Gjest Slettet+432 Skrevet 27. april 2004 Del Skrevet 27. april 2004 Og hvordan få det til å bli to vanlige variabler? Og forresten, er det noe galt med dette: $query = "UPDATE dataproblemer SET svar = '$svar' WHERE svar = '$svar'"; ? jeg gjetta bare hva det kunne være... Lenke til kommentar
Nervetattoo Skrevet 27. april 2004 Del Skrevet 27. april 2004 Hvorfor sette en verdi som allerede er satt akkurat slik? Du bruker samme variabel for WHERE klausulen, og selve SET'en. Lenke til kommentar
LoS Skrevet 27. april 2004 Del Skrevet 27. april 2004 Og hvordan få det til å bli to vanlige variabler? Og forresten, er det noe galt med dette: $query = "UPDATE dataproblemer SET svar = '$svar' WHERE svar = '$svar'"; ? jeg gjetta bare hva det kunne være... Ja, den er feil, litt logisk tenkning også er du der. $svar kan ikke settes inn ett sted der $svar er $ svar for da vil du jo ikke sette den inn noe sted fordi det du skrev aldri har blitt lagt inn. Lenke til kommentar
Gjest Slettet+432 Skrevet 27. april 2004 Del Skrevet 27. april 2004 jeg kan ikke mysql da, så... hva er den riktige koden da? Lenke til kommentar
Zethyr Skrevet 27. april 2004 Del Skrevet 27. april 2004 whoah!! så mye bruk av gradients, wind og blur har jeg aldri sett!! Lenke til kommentar
Gjest Slettet+432 Skrevet 27. april 2004 Del Skrevet 27. april 2004 hehe, jeg er dritdårlig med grafikk... Lenke til kommentar
LoS Skrevet 27. april 2004 Del Skrevet 27. april 2004 jeg kan ikke mysql da, så... hva er den riktige koden da? hvis ikke du kan mysql så lær deg det! Lenke til kommentar
sven-o Skrevet 27. april 2004 Del Skrevet 27. april 2004 Kreves mer enn forandring i mysql-setningen her. 1. Du mangler noen form for tilstandshåndtering. I det svarskjemaet lastes, forsvinner informasjon som beskriver hvilket dataproblem som skal svares på. Når jeg ser på linken "index.php?side=dataproblemerny&svar=$id", ser jeg at nødvendig info sendes, men ikke lagres. Hva svar.php derfor trenger er et hidden field som lagrer denne id, la oss kalle den problemID: <input type="hidden" name="problemID" value="<?=$_GET['svar']?>"> 2. svar_handling.php vil nå kreve lite forandring for at dette skulle tilsynelatende fungere. Alt vi forandrer er SQL-setningen: $query = "UPDATE dataproblemer SET svar = '$svar' WHERE ID= $_POST['svar']"; 3. Herregud mann! Først etter nærmere titt nå legger jeg merke til at scriptet ditt er spedalsk! Litt ekstra hint: Alltid.... ALLTID ha en unik id i form av indeksert integer med auto_increment. Denne ID'en vil du ha stor glede av når du senere skal forandre(UPDATE) en post. Ser at du i vis.php bruker ORDER BY date. Hvor får du date fra?? I følge struktur-dumpen din har du du bare 3 felt; navn, problem og svar . Etter at du har hentet ut data fra databasen, $pdb = @mysql_fetch_array($setning), rører du ikke $pdb igjen. Har jeg gått glipp av noe? Det er jo her dataen ligger($pdb['navn'],$pdb['problem '],$pdb['svar ']). Mamma.... Jeg orker ikke mer... Det var litt på overflaten. Dersom vi nå var i webdesign-delen, og dette scriptet var en såkalt "fisk", OG jeg var en blærete forum-gjenganger, ville ikke dette innlegget inneholdt noe annet enn: Sorry pal! Dette var ubrukelig. Start over! Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå