apachenerd Skrevet 4. mars 2004 Del Skrevet 4. mars 2004 Jeg sliter med en skoleoppgave.. Jeg skal, enkelt nok, oppdatere en database v.h.a. en html-form og et php script. Men jeg er litt blank... Noen som kan, enten gi meg noen vink, råd eller hint, eller noen linker hvor jeg kan finne mer om dette?? Takker masse masse for imøtekommende svar. På forhånd takk! Lenke til kommentar
???????? Skrevet 4. mars 2004 Del Skrevet 4. mars 2004 http://www.hotscripts.com/PHP/Tips_and_Tut...ated/index.html Lenke til kommentar
apachenerd Skrevet 4. mars 2004 Forfatter Del Skrevet 4. mars 2004 I tillegg til php koden som står under, har jeg en html form side hvor jeg skriver inn det som skal inn i tabellen. Hvorfor kommer det ikke noe informasjon inn i tabellen? Noen som kan finne feilen bare ved å se på koden under? På forhånd takk. <? $DBhost = "xxxxxx"; $DBuser = "xxxxxx"; $DBpass = "xxxxxx"; $DBName = "xxxxx"; $table = "xxxxxxx"; mysql_connect($DBhost,$DBuser,$DBpass) or die("Unable to connect to database"); @mysql_select_db("$DBName") or die("Unable to select database $DBName"); $sqlquery = "INSERT INTO $table VALUES('$pers_id','$name','$landnr','$alder','$haarfarge','$oyne','$interesse')"; $results = mysql_query($sqlquery); mysql_close(); print "<HTML><TITLE> PHP and MySQL </TITLE><BODY BGCOLOR=\"#FFFFFF\"><center><table border=\"0\" width=\"500\"><tr><td>"; print "<p><font face=\"verdana\" size=\"+0\"> <center>You Just Entered This Information Into the Database<p><blockquote>"; print "Name : $name<p>E-Mail : $alder<p>Opinion : $oyne</blockquote></td></tr></table> </center></BODY></HTML>"; ?> Lenke til kommentar
???????? Skrevet 4. mars 2004 Del Skrevet 4. mars 2004 Legg til denne linjen et sted etter spørringen: echo "<br>MySQL ERROR:<br>".mysql_error()."<br>"; Glem ikke at du kan hoppe ut og inn av php: print "<HTML><TITLE> PHP and MySQL </TITLE><BODY BGCOLOR=\"#FFFFFF\"><center><table border=\"0\" width=\"500\"><tr><td>"; print "<p><font face=\"verdana\" size=\"+0\"> <center>You Just Entered This Information Into the Database<p><blockquote>"; print "Name : $name<p>E-Mail : $alder<p>Opinion : $oyne</blockquote></td></tr></table> </center></BODY></HTML>"; ?> kan skrives som ?> <HTML><TITLE> PHP and MySQL </TITLE><BODY BGCOLOR=\"#FFFFFF\"><center><table border=\"0\" width=\"500\"><tr><td> <p><font face=\"verdana\" size=\"+0\"> <center>You Just Entered This Information Into the Database<p><blockquote> Name : <?= $name ?><p>E-Mail : <=? $alder ?><p>Opinion : <?= $oyne ?></blockquote></td></tr></table> </center></BODY></HTML> <?= $variabel ?> er det samme som <?php echo $variabel; ?> Lenke til kommentar
apachenerd Skrevet 4. mars 2004 Forfatter Del Skrevet 4. mars 2004 (endret) nei ass... Det kommer ikke noe info i tabellene... Id, kommer automatisk da denne er auto_increment. Dvs den stiger med en hver gang. Ellers så får jeg Undefined variable: på samtlige variablene jeg har. (Har jeg ikke klart å knytte dem opp mot html form'en skikkelig)?? Må variablene være listet opp i .php fila i lik rekkefølge som de laget i databasen? Forresten, slik er formen bygget opp: <td width="120" >Navn:</td> <td width="250" ><input name="navn" type="text" value="" size="30"></td> Endret 4. mars 2004 av apachenerd Lenke til kommentar
???????? Skrevet 4. mars 2004 Del Skrevet 4. mars 2004 Hvor kommer vairablene fra? er det begynnelsen på scriptet? I så fall må du endre $variabler til $_POST['variabler'] eller $_GET['variabler'] avhengig av hvilken metode du bruker i skjemaet. Prøv: echo $sqlquery; så får du se spørringen og om feltet id er autoincrement så skal du ikke sette inn noen verdi der, eventuelt '' (to * ') Du unngår å sette inn noe i et felt ved å definere hvilke felt du vil sette inn noe i, f.eks.: INSERT INTO tabell (felt1, felt2,...)VALUES('".$_GET['fra_skjema1']."',...) Lenke til kommentar
apachenerd Skrevet 4. mars 2004 Forfatter Del Skrevet 4. mars 2004 Vel.... litt nærmere resultatet...?? Jeg forandret: Just Entered This Information Into the Database<p><blockquote>"; print "Name : $name<p>E-Mail : $alder<p>Opinion : $oyne</blockquote></td></tr></table> </center></BODY></HTML>"; Til: print "Name : $_POST'name'<p>Alder : $_POST'alder'<p>Øynefarge : $_POST'oyne'<p>Landnr : $_POST'landnr'<p>Hårfarge : $_POST'haarfarge'<p>Interesse : $_POST'interesse'</blockquote></td></tr></table> </center></BODY></HTML>"; Og fikk "bare" disse error'ene: MySQL ERROR: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ''pers_id',Array'name',Array'landnr',Array'alder',Array'haarfarg You Just Entered This Information Into the Database Name : Array'name' Alder : Array'alder' Øynefarge : Array'oyne' Landnr : Array'landnr' Hårfarge : Array'haarfarge' Interesse : Array'interesse' Lenke til kommentar
Gjest Slettet-rXRozPkg Skrevet 4. mars 2004 Del Skrevet 4. mars 2004 (endret) $_POST['variabel'], ikke $_POST'variabel' Endret 4. mars 2004 av Slettet-rXRozPkg Lenke til kommentar
???????? Skrevet 4. mars 2004 Del Skrevet 4. mars 2004 $_POST['variabel'] når du bruker dette i spørringen kan det være lurt å gjøre slik: "...VALUES('".$_POST['variabel']."', ...)"; Lenke til kommentar
apachenerd Skrevet 4. mars 2004 Forfatter Del Skrevet 4. mars 2004 haha... en ting er helt sikkert. Jeg ville ikke annsatt meg selv som web utvikler med script og databaser.... Forandert: VALUES($_POST['pers_id'],$_POST['name'],$_POST['landnr'],$_POST['alder'],$_POST['haarfarge'],$_POST['oyne'],$_POST['interesse'])"; og print "Name : $_POST['name']<p>Alder : $_POST['alder']<p>Øynefarge : $_POST['oyne']<p>Landnr : $_POST['landnr']<p>Hårfarge : $_POST['haarfarge']<p>Interesse : $_POST['interesse']</blockquote></td></tr></table> Og får da denne feilen: Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in c:\www\test\add.php on line 13 Lenke til kommentar
Gjest Slettet-rXRozPkg Skrevet 4. mars 2004 Del Skrevet 4. mars 2004 Hvis print "Name : $_POST['name']<p>..............</table> er hele linje 13 så mangler du "; på slutten av linjen. Lenke til kommentar
apachenerd Skrevet 4. mars 2004 Forfatter Del Skrevet 4. mars 2004 Nei.. Sorry. Linje13: VALUES($_POST['pers_id'],$_POST['name'],$_POST['landnr'],$_POST['alder'],$_POST['haarfarge'],$_POST['oyne'],$_POST['interesse'])"; Den er på plass den.. Lenke til kommentar
Gjest Slettet-rXRozPkg Skrevet 5. mars 2004 Del Skrevet 5. mars 2004 Kan du ikke poste hele scriptet slik det er nå, gidder ikke gjette på hva som er feil uten å kunne se helheten i scriptet Lenke til kommentar
apachenerd Skrevet 6. mars 2004 Forfatter Del Skrevet 6. mars 2004 Jeg har fått det til nå. Tusen takk for hjelpen!! 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å