Thoraxxx Skrevet 28. april 2007 Del Skrevet 28. april 2007 (endret) Jeg har funnet et skript for php-adressebok som jeg har endret litt på. Her samler all informasjonen fra databasen seg i en tabell. Jeg ønsker at hvis man klikker på navnet til personen, så skal all informasjonen om denne personen samle seg nedover under hverandre på toppen av siden. F.eks hvis jeg trykker på Arild skal det se slik ut over tabellen på siden: Arild Kongsgate 1 0000000 [email protected] www.web.no **tabellen under her** Går det ann å bruke $mode==?? Her er koden jeg bruker Klikk for å se/fjerne innholdet nedenfor <html> <head> <title>Adressebok</title> </head> <body> <?php // Connects to your Database mysql_connect("****", "****", "****") or die(mysql_error()); mysql_select_db("****") or die(mysql_error()); //edit mode adds a pre-populated form if ( $mode=="edit") { Print '<h2>Edit Contact</h2> <p> <form action='; echo $PHP_SELF; Print ' method=post> <table> <tr><td>Navn:</td><td><input type="text" value="'; Print $navn; print '" name="navn" /></td></tr> <tr><td>Adresse:</td><td><input type="text" value="'; Print $adresse; print '" name="adresse" /></td></tr> <tr><td>telefon:</td><td><input type="text" value="'; Print $telefon; print '" name="telefon" /></td></tr> <tr><td>Mobil:</td><td><input type="text" value="'; Print $mobil; print '" name="mobil" /></td></tr> <tr><td>E-post:</td><td><input type="text" value="'; Print $epost; print '" name="epost" /></td></tr> <tr><td colspan="2" align="center"><input type="submit" /></td></tr> <input type=hidden name=mode value=edited> <input type=hidden name=id value='; Print $id; print '> </table> </form> <p>'; } //edited mode updates the data for a given ID if ( $mode=="edited") { mysql_query ("UPDATE foreninger SET navn = '$navn', adresse = '$adresse', telefon = '$telefon', mobil = '$mobil', epost = '$epost' WHERE id = $id"); Print "Data Updated!<p>"; } //Remove mode removes data for a given ID if ( $mode=="remove") { mysql_query ("DELETE FROM foreninger where id=$id"); Print "Tipset har blitt slettet <p>"; } //This pulls the data and puts it into an array, then prints in alphabetical order based on name $data = mysql_query("SELECT * FROM foreninger ORDER BY id ASC") or die(mysql_error()); Print "<table border cellpadding=3>"; Print "<tr><th width=200>Navn</th><th width=200>Adresse</th><th width=100>Telefon</th><th width=100>Mobil</th><th width=200>E-post</th><th width=100>Admin</th></tr>"; while($info = mysql_fetch_array( $data )) { Print "<td>".$info['navn'] . "</td> "; Print "<td>".$info['adresse'] . "</td> "; Print "<td>".$info['telefon'] . "</td> "; Print "<td>".$info['mobil'] . "</td> "; Print "<td> <a title=\"Send e-post\" href=mailto:".$info['epost'] . ">" .$info['epost'] . "</a></td>"; Print "<td><a href=" .$_SERVER[’PHP_SELF’]. "?id=" . $info['id'] ."&id=" . $info['id'] . "&navn=" . $info['navn']; Print "<td><a href=" .$_SERVER[’PHP_SELF’]. "?id=" . $info['id'] ."&mode=remove title=\"Slett\"><img src=\"trash.gif\" border=\"0\"></a> "; Print "<a href=" .$_SERVER[’PHP_SELF’]. "?id=" . $info['id'] ."&mode=edit title=\"Rediger\"><img src=\"edit_gif.gif\" border=\"0\"></a></td></tr>"; } Print "</table>"; Print "<tr>"; Print "<a href=" .$_SERVER[’PHP_SELF’]. "add.htm>Legg til kontakt</a></td></tr>"; //Remove mode removes data for a given ID if ( $mode=="show") $data = mysql_query("SELECT * FROM foreninger ORDER BY id ASC") or die(mysql_error()); while($info = mysql_fetch_array( $data )) { Print "<td><tr>".$info['navn'] . "</td> "; Print "<td><tr>".$info['adresse'] . "</td> "; Print "<td><tr>".$info['telefon'] . "</td> "; Print "<td><tr>".$info['mobil'] . "</td> "; Print "<td> <a title=\"Send e-post\" href=mailto:".$info['epost'] . ">" .$info['epost'] . "</a></td>"; } ?> </body> </html> Scriptet ser nok litt rotete ut Endret 28. april 2007 av mariusmk Lenke til kommentar
grimjoey Skrevet 28. april 2007 Del Skrevet 28. april 2007 det ser ut som informajonen du mangler er hvordan passere argumenter fra bruker til scriptet. Superglobale variabler. når noe blir skrevet etter ? etter en url i nettleseren vil det som er etter ? havne som GET verdier i headeren. url: www.noe.no/index.php url med get: www.noe.no/index.php?noe=noeannet&noe2=noeheltannet disse get verdiene hentes inn i et php script med superglobalen $_GET urlen tidligere ville gi: $_GET['noe'] = 'noeannet'; $_GET['noe2'] = 'noeheltannet'; alt som blir sendt fra form med method="post" havner på liknende måte i superglobalen $_POST. hvor indekset er navn på input fra form. altså: <form action="" method="post"> <input type="text" name="etnavn" value="enverdi"> <input type="submit" name="submit_eksempel" value="Send"> </form> gir: $_POST['etnavn'] = 'enverdi'; $_POST['submit_eksempel'] = 'Send'; Brukes vanligvis på følgende måte: <?php if(isset($_POST['submit_eksempel'])) { echo("Knappen $_POST['submit_eksempel'] ble trykket og verdien $_POST['etnavn'] ble sendt."); } else { echo " <form action='' method='post'> <input type='text' name='etnavn' value='enverdi'> <input type='submit' name='submit_eksempel' value='Send'> </form> "; ?> Lenke til kommentar
Thoraxxx Skrevet 28. april 2007 Forfatter Del Skrevet 28. april 2007 (endret) Tusen takk for hjelpen! Jeg er veldig nybegynner så hadde vært fint med litt mer hjelp . Kan du vise meg hvordan jeg skal integrere det du kom med, i scriptet?? Endret 28. april 2007 av JohndoeMAKT Lenke til kommentar
grimjoey Skrevet 29. april 2007 Del Skrevet 29. april 2007 (endret) Kan være noe jeg har glemt men her er vertfall en start. Klikk for å se/fjerne innholdet nedenfor <html> <head> <title>Adressebok</title> </head> <body> <?php if(!$mode = $_POST['mode']) { $mode = 'show'; } else { $navn = $_POST['navn']; $adresse = $_POST['adresse']; $telefon = $_POST['telefon']; $mobil = $_POST['mobil']; $epost = $_POST['epost']; $id = $_POST['id']; } // Connects to your Database [br] if(!$dblink = mysql_connect("****", "****", "****")) die(mysql_error()); if(!mysql_select_db("****")) die(mysql_error()); //edit mode adds a pre-populated form if (!strcmp($mode, "edit")) // strcmp() returnerer 0 dersom strengene er like. derfor !strcmp() { // i strenger kan man legge til variabler med (.): 'streng'.$variabel.'streng' echo ' <h2>Edit Contact</h2> <p> <form action='.$PHP_SELF.' method=post> <table> <tr><td>Navn:</td><td><input type="text" value="'.$navn.'" name="navn" /></td></tr> <tr><td>Adresse:</td><td><input type="text" value="'.$adresse.'" name="adresse" /></td></tr> <tr><td>telefon:</td><td><input type="text" value="'.$telefon.'" name="telefon" /></td></tr> <tr><td>Mobil:</td><td><input type="text" value="'.$mobil.'" name="mobil" /></td></tr> <tr><td>E-post:</td><td><input type="text" value="'.$epost.'" name="epost" /></td></tr> <tr><td colspan="2" align="center"><input type="submit" /></td></tr> <input type="hidden" name="mode" value="edited"> '; // med dobble qoute trenger man ikke (.) for å inkludere variabel: echo " <input type='hidden' name='id' value='$id'> </table> </form> <p> "; } //edited mode updates the data for a given ID if (!strcmp($mode, "edited")) { mysql_query ("UPDATE foreninger SET navn = '$navn', adresse = '$adresse', telefon = '$telefon', mobil = '$mobil', epost = '$epost' WHERE id = $id;"); echo "Data Updated!<p>"; } //Remove mode removes data for a given ID if (strcmp($mode, "remove")) { mysql_query ("DELETE FROM foreninger where id=$id;"); echo "Tipset har blitt slettet <p>"; } //This pulls the data and puts it into an array, then prints in alphabetical order based on name $data = mysql_query("SELECT * FROM foreninger ORDER BY id ASC;") or die(mysql_error()); echo "<table border cellpadding=3>"; echo "<tr><th width=200>Navn</th><th width=200>Adresse</th><th width=100>Telefon</th><th width=100>Mobil</th><th width=200>E-post</th><th width=100>Admin</th></tr>"; while($info = mysql_fetch_assoc( $data )) { echo "<td>".$info['navn'] . "</td> "; echo "<td>".$info['adresse'] . "</td> "; echo "<td>".$info['telefon'] . "</td> "; echo "<td>".$info['mobil'] . "</td> "; echo "<td> <a title=\"Send e-post\" href=mailto:".$info['epost'] . ">" .$info['epost'] . "</a></td>"; echo "<td><a href=" .$_SERVER[’PHP_SELF’]. "?id=" . $info['id'] ."&id=" . $info['id'] . "&navn=" . $info['navn']; echo "<td><a href=" .$_SERVER[’PHP_SELF’]. "?id=" . $info['id'] ."&mode=remove title=\"Slett\"><img src=\"trash.gif\" border=\"0\"></a> "; echo "<a href=" .$_SERVER[’PHP_SELF’]. "?id=" . $info['id'] ."&mode=edit title=\"Rediger\"><img src=\"edit_gif.gif\" border=\"0\"></a></td></tr>"; } echo "</table>"; echo "<tr>"; echo "<a href=" .$_SERVER[’PHP_SELF’]. "add.htm>Legg til kontakt</a></td></tr>"; if (!strcmp($mode, "show")) { $data = mysql_query("SELECT * FROM foreninger ORDER BY id ASC;") or die(mysql_error()); while($info = mysql_fetch_assoc( $data )) { echo "<td><tr>".$info['navn'] . "</td> "; echo "<td><tr>".$info['adresse'] . "</td> "; echo "<td><tr>".$info['telefon'] . "</td> "; echo "<td><tr>".$info['mobil'] . "</td> "; echo "<td> <a title=\"Send e-post\" href=mailto:".$info['epost'] . ">" .$info['epost'] . "</a></td>"; } } mysql_close($dblink); ?> </body> </html> Endret 29. april 2007 av grimjoey Lenke til kommentar
Thoraxxx Skrevet 29. april 2007 Forfatter Del Skrevet 29. april 2007 (endret) Kan være noe jeg har glemt men her er vertfall en start. Klikk for å se/fjerne innholdet nedenfor <html> <head> <title>Adressebok</title> </head> <body> <?php if(!$mode = $_POST['mode']) { $mode = 'show'; } else { $navn = $_POST['navn']; $adresse = $_POST['adresse']; $telefon = $_POST['telefon']; $mobil = $_POST['mobil']; $epost = $_POST['epost']; $id = $_POST['id']; } // Connects to your Database [br] if(!$dblink = mysql_connect("****", "****", "****")) die(mysql_error()); if(!mysql_select_db("****")) die(mysql_error()); //edit mode adds a pre-populated form if (!strcmp($mode, "edit")) // strcmp() returnerer 0 dersom strengene er like. derfor !strcmp() { // i strenger kan man legge til variabler med (.): 'streng'.$variabel.'streng' echo ' <h2>Edit Contact</h2> <p> <form action='.$PHP_SELF.' method=post> <table> <tr><td>Navn:</td><td><input type="text" value="'.$navn.'" name="navn" /></td></tr> <tr><td>Adresse:</td><td><input type="text" value="'.$adresse.'" name="adresse" /></td></tr> <tr><td>telefon:</td><td><input type="text" value="'.$telefon.'" name="telefon" /></td></tr> <tr><td>Mobil:</td><td><input type="text" value="'.$mobil.'" name="mobil" /></td></tr> <tr><td>E-post:</td><td><input type="text" value="'.$epost.'" name="epost" /></td></tr> <tr><td colspan="2" align="center"><input type="submit" /></td></tr> <input type="hidden" name="mode" value="edited"> '; // med dobble qoute trenger man ikke (.) for å inkludere variabel: echo " <input type='hidden' name='id' value='$id'> </table> </form> <p> "; } //edited mode updates the data for a given ID if (!strcmp($mode, "edited")) { mysql_query ("UPDATE foreninger SET navn = '$navn', adresse = '$adresse', telefon = '$telefon', mobil = '$mobil', epost = '$epost' WHERE id = $id;"); echo "Data Updated!<p>"; } //Remove mode removes data for a given ID if (strcmp($mode, "remove")) { mysql_query ("DELETE FROM foreninger where id=$id;"); echo "Tipset har blitt slettet <p>"; } //This pulls the data and puts it into an array, then prints in alphabetical order based on name $data = mysql_query("SELECT * FROM foreninger ORDER BY id ASC;") or die(mysql_error()); echo "<table border cellpadding=3>"; echo "<tr><th width=200>Navn</th><th width=200>Adresse</th><th width=100>Telefon</th><th width=100>Mobil</th><th width=200>E-post</th><th width=100>Admin</th></tr>"; while($info = mysql_fetch_assoc( $data )) { echo "<td>".$info['navn'] . "</td> "; echo "<td>".$info['adresse'] . "</td> "; echo "<td>".$info['telefon'] . "</td> "; echo "<td>".$info['mobil'] . "</td> "; echo "<td> <a title=\"Send e-post\" href=mailto:".$info['epost'] . ">" .$info['epost'] . "</a></td>"; echo "<td><a href=" .$_SERVER[’PHP_SELF’]. "?id=" . $info['id'] ."&id=" . $info['id'] . "&navn=" . $info['navn']; echo "<td><a href=" .$_SERVER[’PHP_SELF’]. "?id=" . $info['id'] ."&mode=remove title=\"Slett\"><img src=\"trash.gif\" border=\"0\"></a> "; echo "<a href=" .$_SERVER[’PHP_SELF’]. "?id=" . $info['id'] ."&mode=edit title=\"Rediger\"><img src=\"edit_gif.gif\" border=\"0\"></a></td></tr>"; } echo "</table>"; echo "<tr>"; echo "<a href=" .$_SERVER[’PHP_SELF’]. "add.htm>Legg til kontakt</a></td></tr>"; if (!strcmp($mode, "show")) { $data = mysql_query("SELECT * FROM foreninger ORDER BY id ASC;") or die(mysql_error()); while($info = mysql_fetch_assoc( $data )) { echo "<td><tr>".$info['navn'] . "</td> "; echo "<td><tr>".$info['adresse'] . "</td> "; echo "<td><tr>".$info['telefon'] . "</td> "; echo "<td><tr>".$info['mobil'] . "</td> "; echo "<td> <a title=\"Send e-post\" href=mailto:".$info['epost'] . ">" .$info['epost'] . "</a></td>"; } } mysql_close($dblink); ?> </body> </html> 8496894[/snapback] Det virket visst ikke Det er ikke så farlig at man må trykke på navnet for å få informasjonen. Jeg tenkte først at akuratt som å editere en kontakt vha id, kunne man kanskje vist all informasjonen om kontakten vha av id-en. Eks: kontakt.php?id=48&mode=show. Dermed fikk man opp all informasjonen under hverandre som vist øverst på denne siden. Går det ann?? Endret 29. april 2007 av mariusmk Lenke til kommentar
grimjoey Skrevet 29. april 2007 Del Skrevet 29. april 2007 (endret) du vil ha en mode=show som viser kontaktinfo i tekst og en mode=edit som viser den samme infoen i et editable form? + mulighet for sletting og oppretting Endret 29. april 2007 av grimjoey Lenke til kommentar
Thoraxxx Skrevet 29. april 2007 Forfatter Del Skrevet 29. april 2007 du vil ha en mode=show som viser kontaktinfo i tekst og en mode=edit som viser den samme infoen i et editable form? + mulighet for sletting og oppretting 8497509[/snapback] Helt riktig! Lenke til kommentar
grimjoey Skrevet 29. april 2007 Del Skrevet 29. april 2007 (endret) noe slikt (utestet): <html> <head> <title>Adressebok</title> </head> <body> <?php $dbhost = ''; // database hostname $dbuser = ''; // database brukernavn $dbpass = ''; // database passord $dbname = ''; // database navn if(!$dblink = mysql_connect($dbhost, $dbuser, $dbpass)) die(mysql_error()); if(!mysql_select_db($dbname)) die(mysql_error()); /** * * show er default og viser kun tabell. * * edit er linket til alle navnene med id slik at klikker man på et * navn får man opp siden på nytt med navnets informasjon øvers i en * editable form. * **/ function quote_smart($qry) { // Stripslashes if (get_magic_quotes_gpc()) { $qry = stripslashes($qry); } // Quote if not a number or a numeric string if (!is_numeric($qry)) { $qry = "'" . mysql_real_escape_string($qry) . "'"; } return $qry; } // Utfør eventuell endring if(isset($_POST['s_endre'])) { foreach($_POST as $k => $v) { $_POST[$k] = quote_smart($V); } if(!$id = $_POST['id']) die('Id mangler i POST header.'); if(!$navn = $_POST['navn']) die('Navn mangler i POST header.'); # if(!$adresse = $_POST['adresse']) die('Adresse mangler i POST header.'); # if(!$telefon = $_POST['telefon']) die('Telefon mangler i POST header.'); # if(!$mobil = $_POST['mobil']) die('Mobil mangler i POST header.'); # if(!$epost = $_POST['epost']) die('Epost mangler i POST header.'); $qry = "UPDATE foreninger SET navn, adresse, telefon, mobil, epost ($navn, $adresse, $telefon, $mobil, $epost) WHERE id=$id;" if(!mysql_query($qry, $dblink)) die(mysql_error()); } if(isset($_POST['s_slett'])) { if(!$id = $_POST['id']) die('Id mangler i POST query'); $id = qoute_smart($id); $qry = "DELETE FROM foreninger WHERE id=$id;"; if(!mysql_query($qry)) die(mysql_error()); } // vis data if(isset($_GET['mode'])) { $mode = $_GET['mode']; } else { $mode = 'show'; } // kode for edit if(!strcmp($mode, 'edit')) { if(!$id = $_POST['id']) die('Id mangler fra GET header'); { if(!strcmp($id, 'ny')) { $qry = "INSERT INTO foreninger(id, navn, adresse, telefon, mobil, epost) VALUES(null, 'navn', 'adresse', 'telefon', 'mobil', 'epost');"; if(!mysql_query($qry)) die(mysql_error()); $qry = "SELECT id FROM foreninger WHERE navn='navn' AND adresse='adresse';"; if(!$res = mysql_query($qry)) die(mysql_error()); if(!$arr = mysql_fetch_assoc($res)) die(mysql_error()); $id = $arr['id']; } $id = quote_smart($id); $qry = "SELECT * FROM foreninger WHERE id = $id"; if(!$res = mysql_query($qry, $dblink)) die(mysql_error()); if(!$arr = mysql_fetch_assoc($res)) die(mysql_error()); echo "<form action='' method='POST'>\n"; foreach($arr as $k => $v) { echo "$k: <input type='text' name='$k' value='$v'><br>\n"; } echo "<input type='submit' name='s_slett' value='Slett'><input type='submit' name='s_endre' value='Endre'></form>\n" } } // kode for edit og show if(!strcmp($mode, 'edit') || !strcmp($mode, 'show')) { echo "<a href='$_SERVER['PHP_SELF']?mode=edit&id=ny'>Nytt innlegg</a>\n"; echo "<table>\n"; $qry = 'SELECT * FROM foreninger ORDER BY id;'; if(!$res = mysql_query($qry)) die(mysql_error()); while($arr = mysql_fetch_assoc($res)) { echo "<tr>"; foreach($arr as $k => $v) { if(!strcmp($k, 'id')) { echo "<a href='$_SERVER['PHP_SELF']?mode=edit&id=$v'>$v</a>"; } else { echo "<td>$v"; } } echo "\n"; } echo "</table>\n"; } // steng link til database mysql_close($dblink); ?> </body> </html> edit: var litt rask der. mangler et par ting. men test om det fungerer hittil edit: oppdatert kode Endret 29. april 2007 av grimjoey Lenke til kommentar
Thoraxxx Skrevet 29. april 2007 Forfatter Del Skrevet 29. april 2007 (endret) Det må være noe feil i den koden, for jeg får opp en blank side Endret 29. april 2007 av mariusmk Lenke til kommentar
Thoraxxx Skrevet 29. april 2007 Forfatter Del Skrevet 29. april 2007 Prøvde den på en server som viser feilmeldinger på php sider. Feilmeldingen som kom: Parse error: parse error, unexpected T_IF in E:\webroot\test.php on line 53 Lenke til kommentar
grimjoey Skrevet 29. april 2007 Del Skrevet 29. april 2007 mangler en semicolon på slutten av linje 52 Lenke til kommentar
Thoraxxx Skrevet 29. april 2007 Forfatter Del Skrevet 29. april 2007 mangler en semicolon på slutten av linje 52 8499591[/snapback] Takk, da endret jeg det. Så fikk jeg feilmeldingen Parse error: parse error, unexpected '}', expecting ',' or ';' in E:\webroot\test.php on line 72 Dermed satt jeg på et semikolon til og fikk denne feilmeldingen: Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in E:\webroot\test.php on line 78 Lenke til kommentar
grimjoey Skrevet 29. april 2007 Del Skrevet 29. april 2007 (endret) fant et par feil til som jeg rettet. har ikke fått testet alt men. har ikke orket å lage db og tabell Klikk for å se/fjerne innholdet nedenfor <html> <head> <title>Adressebok</title> </head> <body> <?php $dbhost = ''; // database hostname $dbuser = ''; // database brukernavn $dbpass = ''; // database passord $dbname = ''; // database navn if(!$dblink = mysql_connect($dbhost, $dbuser, $dbpass)) die(mysql_error()); if(!mysql_select_db($dbname)) die(mysql_error()); /** * * show er default og viser kun tabell. * * edit er linket til alle navnene med id slik at klikker man på et * navn får man opp siden på nytt med navnets informasjon øvers i en * editable form. * **/ function quote_smart($qry) { // Stripslashes if (get_magic_quotes_gpc()) { $qry = stripslashes($qry); } // Quote if not a number or a numeric string if (!is_numeric($qry)) { $qry = "'" . mysql_real_escape_string($qry) . "'"; } return $qry; } // Utfør eventuell endring if(isset($_POST['s_endre'])) { foreach($_POST as $k => $v) { $_POST[$k] = quote_smart($V); } if(!$id = $_POST['id']) die('Id mangler i POST header.'); if(!$navn = $_POST['navn']) die('Navn mangler i POST header.'); # if(!$adresse = $_POST['adresse']) die('Adresse mangler i POST header.'); # if(!$telefon = $_POST['telefon']) die('Telefon mangler i POST header.'); # if(!$mobil = $_POST['mobil']) die('Mobil mangler i POST header.'); # if(!$epost = $_POST['epost']) die('Epost mangler i POST header.'); $qry = "UPDATE foreninger SET navn, adresse, telefon, mobil, epost ($navn, $adresse, $telefon, $mobil, $epost) WHERE id=$id;"; if(!mysql_query($qry, $dblink)) die(mysql_error()); } if(isset($_POST['s_slett'])) { if(!$id = $_POST['id']) die('Id mangler i POST query'); $id = qoute_smart($id); $qry = "DELETE FROM foreninger WHERE id=$id;"; if(!mysql_query($qry)) die(mysql_error()); } //// vis data // default show if(isset($_GET['mode'])) { $mode = $_GET['mode']; } else { $mode = 'show'; } // kode for edit if(!strcmp($mode, 'edit')) { if(!$id = $_POST['id']) die('Id mangler fra GET header'); { if(!strcmp($id, 'ny')) { $qry = "INSERT INTO foreninger(id, navn, adresse, telefon, mobil, epost) VALUES(null, 'navn', 'adresse', 'telefon', 'mobil', 'epost');"; if(!mysql_query($qry)) die(mysql_error()); $qry = "SELECT id FROM foreninger WHERE navn='navn' AND adresse='adresse';"; if(!$res = mysql_query($qry)) die(mysql_error()); if(!$arr = mysql_fetch_assoc($res)) die(mysql_error()); $id = $arr['id']; } $id = quote_smart($id); $qry = "SELECT * FROM foreninger WHERE id = $id"; if(!$res = mysql_query($qry, $dblink)) die(mysql_error()); if(!$arr = mysql_fetch_assoc($res)) die(mysql_error()); echo "<form action='' method='POST'>\n"; foreach($arr as $k => $v) { echo "$k: <input type='text' name='$k' value='$v'><br>\n"; } echo "<input type='submit' name='s_slett' value='Slett'><input type='submit' name='s_endre' value='Endre'></form>\n"; } } // kode for edit og show if(!strcmp($mode, 'edit') || !strcmp($mode, 'show')) { echo "<a href='".$_SERVER['PHP_SELF']."?mode=edit&id=ny'>Nytt innlegg</a>\n"; echo "<table>\n"; $qry = 'SELECT * FROM foreninger ORDER BY id;'; if(!$res = mysql_query($qry)) die(mysql_error()); while($arr = mysql_fetch_assoc($res)) { echo "<tr>"; foreach($arr as $k => $v) { if(!strcmp($k, 'id')) { echo "<a href='".$_SERVER['PHP_SELF']."?mode=edit&id=$v'>$v</a>"; } else { echo "<td>$v"; } } echo "\n"; } echo "</table>\n"; } // steng link til database mysql_close($dblink); ?> </body> </html> Endret 29. april 2007 av grimjoey Lenke til kommentar
Thoraxxx Skrevet 29. april 2007 Forfatter Del Skrevet 29. april 2007 (endret) fant et par feil til som jeg rettet. har ikke fått testet alt men. har ikke orket å lage db og tabell Klikk for å se/fjerne innholdet nedenfor <html> <head> <title>Adressebok</title> </head> <body> <?php $dbhost = ''; // database hostname $dbuser = ''; // database brukernavn $dbpass = ''; // database passord $dbname = ''; // database navn if(!$dblink = mysql_connect($dbhost, $dbuser, $dbpass)) die(mysql_error()); if(!mysql_select_db($dbname)) die(mysql_error()); /** * * show er default og viser kun tabell. * * edit er linket til alle navnene med id slik at klikker man på et * navn får man opp siden på nytt med navnets informasjon øvers i en * editable form. * **/ function quote_smart($qry) { // Stripslashes if (get_magic_quotes_gpc()) { $qry = stripslashes($qry); } // Quote if not a number or a numeric string if (!is_numeric($qry)) { $qry = "'" . mysql_real_escape_string($qry) . "'"; } return $qry; } // Utfør eventuell endring if(isset($_POST['s_endre'])) { foreach($_POST as $k => $v) { $_POST[$k] = quote_smart($V); } if(!$id = $_POST['id']) die('Id mangler i POST header.'); if(!$navn = $_POST['navn']) die('Navn mangler i POST header.'); # if(!$adresse = $_POST['adresse']) die('Adresse mangler i POST header.'); # if(!$telefon = $_POST['telefon']) die('Telefon mangler i POST header.'); # if(!$mobil = $_POST['mobil']) die('Mobil mangler i POST header.'); # if(!$epost = $_POST['epost']) die('Epost mangler i POST header.'); $qry = "UPDATE foreninger SET navn, adresse, telefon, mobil, epost ($navn, $adresse, $telefon, $mobil, $epost) WHERE id=$id;"; if(!mysql_query($qry, $dblink)) die(mysql_error()); } if(isset($_POST['s_slett'])) { if(!$id = $_POST['id']) die('Id mangler i POST query'); $id = qoute_smart($id); $qry = "DELETE FROM foreninger WHERE id=$id;"; if(!mysql_query($qry)) die(mysql_error()); } //// vis data // default show if(isset($_GET['mode'])) { $mode = $_GET['mode']; } else { $mode = 'show'; } // kode for edit if(!strcmp($mode, 'edit')) { if(!$id = $_POST['id']) die('Id mangler fra GET header'); { if(!strcmp($id, 'ny')) { $qry = "INSERT INTO foreninger(id, navn, adresse, telefon, mobil, epost) VALUES(null, 'navn', 'adresse', 'telefon', 'mobil', 'epost');"; if(!mysql_query($qry)) die(mysql_error()); $qry = "SELECT id FROM foreninger WHERE navn='navn' AND adresse='adresse';"; if(!$res = mysql_query($qry)) die(mysql_error()); if(!$arr = mysql_fetch_assoc($res)) die(mysql_error()); $id = $arr['id']; } $id = quote_smart($id); $qry = "SELECT * FROM foreninger WHERE id = $id"; if(!$res = mysql_query($qry, $dblink)) die(mysql_error()); if(!$arr = mysql_fetch_assoc($res)) die(mysql_error()); echo "<form action='' method='POST'>\n"; foreach($arr as $k => $v) { echo "$k: <input type='text' name='$k' value='$v'><br>\n"; } echo "<input type='submit' name='s_slett' value='Slett'><input type='submit' name='s_endre' value='Endre'></form>\n"; } } // kode for edit og show if(!strcmp($mode, 'edit') || !strcmp($mode, 'show')) { echo "<a href='".$_SERVER['PHP_SELF']."?mode=edit&id=ny'>Nytt innlegg</a>\n"; echo "<table>\n"; $qry = 'SELECT * FROM foreninger ORDER BY id;'; if(!$res = mysql_query($qry)) die(mysql_error()); while($arr = mysql_fetch_assoc($res)) { echo "<tr>"; foreach($arr as $k => $v) { if(!strcmp($k, 'id')) { echo "<a href='".$_SERVER['PHP_SELF']."?mode=edit&id=$v'>$v</a>"; } else { echo "<td>$v"; } } echo "\n"; } echo "</table>\n"; } // steng link til database mysql_close($dblink); ?> </body> </html> 8500375[/snapback] Fant endelig ut hvordan jeg enkelt kunne gjøre det. Jeg brukte mysql_query og hentet ut navn fra en bestemt id Dette bruker jeg nå: if ( $mode=="show") { $result = mysql_query("SELECT navn, adresse, telefon, mobil, epost FROM foreninger where id=$id"); while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { printf("Navn: %s<p>Adresse: %s<p>Telefon: %s<p>Mobil: %s<p>E-post: %s<p>", $row["navn"], $row["adresse"], $row["telefon"], $row["mobil"], $row["epost"]); } mysql_free_result($result); } Da har jeg ivertfall løst et problem Endret 29. april 2007 av mariusmk Lenke til kommentar
grimjoey Skrevet 29. april 2007 Del Skrevet 29. april 2007 (endret) bra. men du kunne gjort koden litt mer leselig da: if ( $mode=="show") { $result = mysql_query("SELECT navn, adresse, telefon, mobil, epost FROM foreninger where id=$id"); while ($row = mysql_fetch_assoc($result)) { $navn = $_POST['navn']; $adresse = $_POST['adresse']; $telefon = $_POST['telefon']; $mobil = $_POST['mobil']; $epost = $_POST['epost']; echo(" Navn: $navn<p> Adresse: $adresse<p> Telefon: $telefon<p> Mobil: $mobil<p> E-post: $epost<p> "); } mysql_free_result($result); } Testet du scriptet mitt etter at jeg fant en bøtte med feil eller? Endret 29. april 2007 av grimjoey Lenke til kommentar
Thoraxxx Skrevet 30. april 2007 Forfatter Del Skrevet 30. april 2007 bra. men du kunne gjort koden litt mer leselig da: if ( $mode=="show") { $result = mysql_query("SELECT navn, adresse, telefon, mobil, epost FROM foreninger where id=$id"); while ($row = mysql_fetch_assoc($result)) { $navn = $_POST['navn']; $adresse = $_POST['adresse']; $telefon = $_POST['telefon']; $mobil = $_POST['mobil']; $epost = $_POST['epost']; echo(" Navn: $navn<p> Adresse: $adresse<p> Telefon: $telefon<p> Mobil: $mobil<p> E-post: $epost<p> "); } mysql_free_result($result); } Testet du scriptet mitt etter at jeg fant en bøtte med feil eller? 8501487[/snapback] Ja jeg testet scriptet. Det som kom opp så veldig rart ut. Du burde prøve å lage tabellen i mysql så du får se det selv. Men tviler ikke på at du kan dette! Lenke til kommentar
grimjoey Skrevet 30. april 2007 Del Skrevet 30. april 2007 sånn. nå funker det til en viss grad. merk deg at når du lager nye innlegg legges det til et nytt automatisk med default verdier. har du flere innlegg med samme adresse og navn endrer du kun det med lavest id når du lager nytt. hvis du skjønner. du kan endre utseendet selv. bare let frem html taggene. Klikk for å se/fjerne innholdet nedenfor <?php ob_start(); ?> <html> <head> <title>Adressebok</title> </head> <body> <?php $dbhost = 'localhost'; // database hostname $dbuser = 'authuser'; // database brukernavn $dbpass = 'hemmelig'; // database passord $dbname = 'dbauth'; // database navn if(!$dblink = mysql_connect($dbhost, $dbuser, $dbpass)) die(mysql_error()); if(!mysql_select_db($dbname)) die(mysql_error()); /** * * show er default og viser kun tabell. * * edit er linket til alle navnene med id slik at klikker man på et * navn får man opp siden på nytt med navnets informasjon øvers i en * editable form. * **/ function quote_smart($qry) { // Stripslashes if (get_magic_quotes_gpc()) { $qry = stripslashes($qry); } // Quote if not a number or a numeric string if (!is_numeric($qry)) { $qry = "'" . mysql_real_escape_string($qry) . "'"; } return $qry; } // Utfør eventuell endring if(isset($_POST['s_endre'])) { $_POST = array_map('quote_smart',$_POST); if(!$id = $_POST['id']) die('Id mangler i POST header.'); if(!$navn = $_POST['navn']) die('Navn mangler i POST header.'); if(!$adresse = $_POST['adresse']) die('Adresse mangler i POST header.'); if(!$telefon = $_POST['telefon']) $telefon = '0'; if(!$mobil = $_POST['mobil']) $mobil = '0'; if(!$epost = $_POST['epost']) die('Epost mangler i POST header.'); $qry = "UPDATE foreninger SET navn = $navn, adresse = $adresse, telefon = $telefon, mobil = $mobil, epost = $epost WHERE id=$id;"; if(!$res = mysql_query($qry, $dblink)) die(mysql_error()); foreach(mysql_fetch_assoc($res) as $r) print_r($r); header('Location: '.$_SERVER['PHP_SELF']); } if(isset($_POST['s_slett'])) { if(!$id = $_POST['id']) die('Id mangler i POST query'); $id = quote_smart($id); $qry = "DELETE FROM foreninger WHERE id=$id;"; if(!mysql_query($qry)) die(mysql_error()); header('Location: '.$_SERVER['PHP_SELF']); } //// vis data // default show if(isset($_GET['mode'])) { $mode = $_GET['mode']; } else { $mode = 'show'; } // kode for edit if(!strcmp($mode, 'edit')) { if(!$id = $_GET['id']) die('Id mangler fra GET header'); { if(!strcmp($id, 'ny')) { $qry = "INSERT INTO foreninger(id, navn, adresse, telefon, mobil, epost) VALUES(null, 'navn', 'adresse', 0, 0, 'epost');"; if(!mysql_query($qry)) die(mysql_error()); $qry = "SELECT id FROM foreninger WHERE navn='navn' AND adresse='adresse';"; if(!$res = mysql_query($qry)) die(mysql_error()); if(!$arr = mysql_fetch_assoc($res)) die(mysql_error()); $id = $arr['id']; header('Location: '.$_SERVER['PHP_SELF'].'?mode=edit&id='.$id); } $id = quote_smart($id); $qry = "SELECT * FROM foreninger WHERE id = $id"; if(!$res = mysql_query($qry, $dblink)) die(mysql_error()); if(!$arr = mysql_fetch_assoc($res)) die(mysql_error()); echo "<form action='' method='POST'>\n"; foreach($arr as $k => $v) { echo "$k: <input type='text' name='$k' value='$v'><br>\n"; } echo "<input type='submit' name='s_slett' value='Slett'><input type='submit' name='s_endre' value='Lagre'></form>\n"; } } // kode for edit og show if(!strcmp($mode, 'edit') || !strcmp($mode, 'show')) { echo "<a href='".$_SERVER['PHP_SELF']."?mode=edit&id=ny'>Nytt innlegg</a>\n"; echo "<table>\n"; $qry = 'SELECT * FROM foreninger ORDER BY id;'; if(!$res = mysql_query($qry)) die(mysql_error()); while($arr = mysql_fetch_assoc($res)) { echo "<tr>"; foreach($arr as $k => $v) { if(!strcmp($k, 'id')) { echo "<td><a href='".$_SERVER['PHP_SELF']."?mode=edit&id=$v'>$v</a>"; } else { echo "<td>$v"; } } echo "\n"; } echo "</table>\n"; } // steng link til database mysql_close($dblink); ?> </body> </html> <?php ob_end_flush(); ?> Lenke til kommentar
Thoraxxx Skrevet 2. mai 2007 Forfatter Del Skrevet 2. mai 2007 sånn. nå funker det til en viss grad. merk deg at når du lager nye innlegg legges det til et nytt automatisk med default verdier. har du flere innlegg med samme adresse og navn endrer du kun det med lavest id når du lager nytt. hvis du skjønner. du kan endre utseendet selv. bare let frem html taggene. Klikk for å se/fjerne innholdet nedenfor <?php ob_start(); ?> <html> <head> <title>Adressebok</title> </head> <body> <?php $dbhost = 'localhost'; // database hostname $dbuser = 'authuser'; // database brukernavn $dbpass = 'hemmelig'; // database passord $dbname = 'dbauth'; // database navn if(!$dblink = mysql_connect($dbhost, $dbuser, $dbpass)) die(mysql_error()); if(!mysql_select_db($dbname)) die(mysql_error()); /** * * show er default og viser kun tabell. * * edit er linket til alle navnene med id slik at klikker man på et * navn får man opp siden på nytt med navnets informasjon øvers i en * editable form. * **/ function quote_smart($qry) { // Stripslashes if (get_magic_quotes_gpc()) { $qry = stripslashes($qry); } // Quote if not a number or a numeric string if (!is_numeric($qry)) { $qry = "'" . mysql_real_escape_string($qry) . "'"; } return $qry; } // Utfør eventuell endring if(isset($_POST['s_endre'])) { $_POST = array_map('quote_smart',$_POST); if(!$id = $_POST['id']) die('Id mangler i POST header.'); if(!$navn = $_POST['navn']) die('Navn mangler i POST header.'); if(!$adresse = $_POST['adresse']) die('Adresse mangler i POST header.'); if(!$telefon = $_POST['telefon']) $telefon = '0'; if(!$mobil = $_POST['mobil']) $mobil = '0'; if(!$epost = $_POST['epost']) die('Epost mangler i POST header.'); $qry = "UPDATE foreninger SET navn = $navn, adresse = $adresse, telefon = $telefon, mobil = $mobil, epost = $epost WHERE id=$id;"; if(!$res = mysql_query($qry, $dblink)) die(mysql_error()); foreach(mysql_fetch_assoc($res) as $r) print_r($r); header('Location: '.$_SERVER['PHP_SELF']); } if(isset($_POST['s_slett'])) { if(!$id = $_POST['id']) die('Id mangler i POST query'); $id = quote_smart($id); $qry = "DELETE FROM foreninger WHERE id=$id;"; if(!mysql_query($qry)) die(mysql_error()); header('Location: '.$_SERVER['PHP_SELF']); } //// vis data // default show if(isset($_GET['mode'])) { $mode = $_GET['mode']; } else { $mode = 'show'; } // kode for edit if(!strcmp($mode, 'edit')) { if(!$id = $_GET['id']) die('Id mangler fra GET header'); { if(!strcmp($id, 'ny')) { $qry = "INSERT INTO foreninger(id, navn, adresse, telefon, mobil, epost) VALUES(null, 'navn', 'adresse', 0, 0, 'epost');"; if(!mysql_query($qry)) die(mysql_error()); $qry = "SELECT id FROM foreninger WHERE navn='navn' AND adresse='adresse';"; if(!$res = mysql_query($qry)) die(mysql_error()); if(!$arr = mysql_fetch_assoc($res)) die(mysql_error()); $id = $arr['id']; header('Location: '.$_SERVER['PHP_SELF'].'?mode=edit&id='.$id); } $id = quote_smart($id); $qry = "SELECT * FROM foreninger WHERE id = $id"; if(!$res = mysql_query($qry, $dblink)) die(mysql_error()); if(!$arr = mysql_fetch_assoc($res)) die(mysql_error()); echo "<form action='' method='POST'>\n"; foreach($arr as $k => $v) { echo "$k: <input type='text' name='$k' value='$v'><br>\n"; } echo "<input type='submit' name='s_slett' value='Slett'><input type='submit' name='s_endre' value='Lagre'></form>\n"; } } // kode for edit og show if(!strcmp($mode, 'edit') || !strcmp($mode, 'show')) { echo "<a href='".$_SERVER['PHP_SELF']."?mode=edit&id=ny'>Nytt innlegg</a>\n"; echo "<table>\n"; $qry = 'SELECT * FROM foreninger ORDER BY id;'; if(!$res = mysql_query($qry)) die(mysql_error()); while($arr = mysql_fetch_assoc($res)) { echo "<tr>"; foreach($arr as $k => $v) { if(!strcmp($k, 'id')) { echo "<td><a href='".$_SERVER['PHP_SELF']."?mode=edit&id=$v'>$v</a>"; } else { echo "<td>$v"; } } echo "\n"; } echo "</table>\n"; } // steng link til database mysql_close($dblink); ?> </body> </html> <?php ob_end_flush(); ?> 8506050[/snapback] Nå virket den kjempefint!! 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å