NemProgrammering.dk logo
Læs mere om denne UnoEuro Rabatkode
UnoEuro rabatkode

Opdatering af data i MySQL database via PHP og en HTML formular

Lad NemProgrammering.dk´s eksperter lave din hjemmeside for dig
Vi tilbyder professionel hjælp til udvikling af hjemmesider og webshops. Læs mere om vores ydelser her!

Information om denne video

I denne del af vores MySQL serie vil der blive vist, hvordan man kan opdatere data i sin MySQL databse. Dette vil vi gøre ved hjælp af en HTML formular og et phpscript. På denne måde kan dine brugere selv opdatere information om dem selv i databsen.

Herunder finder du php og MySQL koderne der vil blive lavet i videoen! - kopier dem gerne!

Video tags:

Denne video relaterer til emner såsom: php koder , php og mysql kursus, PHP filer, MySQL video tutorial, MySQL vejledning, dansk video tutorial, lær MySQL, MySQL for begyndere, gratis php editor, XAMPP, netbeans

Her har du kildekoden

<!-- html dok -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
      <form action="T7.php" method="post">
          Navn: <input type="text" name="navn"/><br/>
          Beskrivelse:<br/> &lt;textarea cols="30" rows="10" name="beskrivelse">&lt;/textarea><br/>
          <input type="submit" value="UPDATE" name="update"/>
      </form>

  </body>
</html>

<?php
$server = "localhost";
$brugernavn = "root";
$kode = "1234";
$db = "brugere";

mysql_connect($server , $brugernavn , $kode) or die(mysql_error());

echo "Forbundet til mysql server<br/>";

mysql_select_db($db)or die(mysql_error());

echo "Forbundet til databasen<br/><br/>";

$data = mysql_query("SELECT * FROM brugerinfo" ) or die(mysql_error());

while ($info = mysql_fetch_array($data))
   {

echo "Navn: " . $info['Navn'] . "<br/>";
echo "Beskrivelse: " . $info['beskrivelse']. "<br/><br/>";
   }

// Update tabel

   if (isset($_POST['update'])) {

       $navn = $_POST['navn'];
       $beskrivelse = $_POST['beskrivelse'];

       $tabeldata = "UPDATE brugerinfo SET beskrivelse = '$beskrivelse' WHERE Navn ='$navn'";
       $resultat = mysql_query($tabeldata);
 if($resultat) {
    echo "Din bruger blev opdateret";
   }
 else {
     echo "FEJL";
 }
 }
else {
    echo "Ingen personer er blevet opdateret";

}
mysql_close();
?>
        

Spørgsmål og kommentarer

Har du spørgsmål eller kommentarer? Så skriv herunder! Alternativt kan du kontakte os på vores forum, hvor en masse hjælpsomme personer sidder klar ved tasterne.

Url´er bliver automatisk omdannet til links (nofollow).

kommentar på NemProgrammering.dk - lav din egen hjemmeside
Thomas    24-04-2014

Hej Freddy, Vil du ikke stille dit spørgsmål på vores forum? Så er vi lidt flere til at kigge på det :-)


kommentar på NemProgrammering.dk - lav din egen hjemmeside
Freddy    24-04-2014

Hej Jeg har med stor interesse afprøvet jeres videoer og prøvet nedenstående. Når jeg prøver enkeltvis med INSERT og UPDATE går det fint (de står som kommentarlinjer og jeg synes jeg var dygtig. Jeg fandt så en udvidelse med ON DUPLICATE KEY UPDATE, men det kan jeg ikke få til at virke, jeg får hver gang at vide, at der er fejl - ingen data, så jeg var nok lidt for dygtig :-). Men det undrer mig at jeg ikke får syntax fejl i NetBeans og på de 3 Echo linjer over Insert Stmt. kan jeg konstatere, at jeg har data med i felterne fra formularen - så har I et bud på hvad jeg har gjort galt? if (isset($_POST['submit'])) { $F_Nummer = $_POST['Nummer']; $F_Fornavn = $_POST['Fornavn']; $F_Efternavn = $_POST['Efternavn']; $F_Stilling = $_POST['Stilling']; echo "Felt1 " . "'$F_Nummer'" . "<br/>"; echo "Felt2og3 " . "'$F_Fornavn' . '$F_Efternavn'". "<br/>"; echo "Felt4" ."'$F_Stilling'". "<br/>"."<br/>"; // $tabeldata = "INSERT INTO tabel1(Nummer, Fornavn, Efternavn, Stilling) VALUES ('$F_Nummer','$F_Fornavn','$F_Efternavn','$F_Stilling')"; // $tabeldata = "UPDATE tabel1 SET Fornavn='$F_Fornavn', Efternavn='$F_Efternavn', Stilling='$F_Stilling' WHERE '$F_Nummer'=Nummer"; $tabeldata = "INSERT INTO tabel1(Nummer, Fornavn, Efternavn, Stilling)VALUES ('$F_Nummer','$F_Fornavn','$F_Efternavn','$F_Stilling') ON DUPLICATE KEY UPDATE Fornavn='$F_Fornavn', Efternavn='$F_Efternavn', Stilling='$F_Stilling' WHERE '$F_Nummer'=Nummer"; $resultat = mysql_query($tabeldata); if($resultat) { echo "Din bruger blev registeret"; } else { echo "FEJL- ingen data". "<br/>"; Med venlig hilsen Freddy


kommentar på NemProgrammering.dk - lav din egen hjemmeside
Thomas    04-02-2014

Hej Michael, Det ser ud til at du forsøger at oprette en tom variable "navn". Hvis du blot kører dette script uden at have en form hvor du indtaster en værdi i "tekst", så vil dit script fejle idet $_POST['Tekst'] vil være tom, og når du så forsøger at bruge den tomme variable navn senere, ja så fejler hele koden. Har du flere spørgsmål så kontakt os på vores forum :-) Mvh. Thomas


kommentar på NemProgrammering.dk - lav din egen hjemmeside
Michael Fris Pedersen    03-02-2014

Hvad går galt her... jeg har oprette en tabel under brugerinfo som hedder install, i denne tabel er der to rækker med Navn=ID og Navn=Tekst når jeg tykker opdate melder den fejl Notice: Undefined index: Tekst in W:\xampp\htdocs\mysql\update_service.php on line 24 DET HER ER LINIE 24: $navn = $_POST['Tekst']; HER ER MIN PHP mysql_connect($server , $brugernavn , $kode) or die(mysql_error()); echo "Forbindelse oprettet til server<br/>"; mysql_select_db($db)or die(mysql_error()); echo "Forbundet til databasen install<br/><br/>"; $data = mysql_query("SELECT * FROM install" ) or die(mysql_error()); while ($info = mysql_fetch_array($data)) { } // Update tabel if (isset($_POST['update'])) { $navn = $_POST['Tekst']; $tabeldata = "UPDATE install SET Tekst = '$navn' WHERE Navn ='$navn'"; $resultat = mysql_query($tabeldata); if($resultat) { echo "Din service blev opdateret"; } else { echo "FEJL-Ingen service er blevet opdateret"; } } else { echo "Ingen service er blevet opdateret"; } mysql_close(); ?>


kommentar på NemProgrammering.dk - lav din egen hjemmeside
Mads    30-05-2013

fandt ud af det var den data som jeg skrev i databasen ellers virkerdet


kommentar på NemProgrammering.dk - lav din egen hjemmeside
Mads    29-05-2013

jeg fårstår ikke at mit å bliver til � kan du måske se det kode her: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> </head> <body> <form action="send.php" method="POST"> <input type="submit" value="Send" name="submit"><br> Navn: <input type="text" Name="Name"><br> Beskrivelse: <br><textarea rows="10" cols="50" Name="Beskivelse"></textarea><br> </form> <?php $server = "localhost"; $bruger = "root"; $kode = "ZJW55rvs"; $db = "brugere"; mysql_connect($server,$bruger,$kode) or die(mysql_error()); echo 'forbundet til msql serveren<br>'; mysql_select_db($db) or die(mysql_error()); echo 'forbundet til database<br><br>'; $data = mysql_query("SELECT * FROM brugerinfo") or die(mysql_error()); while($info = mysql_fetch_array($data)){ ?> <div style="width: 500px; height: auto; background-color: red; border-bottom-style: solid; border-width: thin;"><?php print( "Navn:     " . $info['Navn'] . "<br>");?></div><div style="width: 500px; height: auto; background-color: yellowgreen; border-bottom-style: solid; border-width: thin;"> <?php print("Beskivelse: <br>" . $info['beskrivelse']);?></div><br><br><?php } ?> </body> </html>


kommentar på NemProgrammering.dk - lav din egen hjemmeside
Leif    07-12-2012

Prøv at taste dette ind i beskrivelsesfeltet: ' OR 1=1;DELETE FROM beskrivelse WHERE 1=1;/* Denne tutorial er lige til at få hacket sin database med. php's mysql er "forældet", man skal bruge mysqli eller pdo. Det "koster" en linie ekstra at gøre det sikkert: $dbh = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass); $tabeldata = $dbh->prepare("UPDATE brugerinfo SET beskrivelse = ? WHERE Navn = ?"); $tabeldata->execute(array($beskrivelse,$navn);


kommentar på NemProgrammering.dk - lav din egen hjemmeside
NemProgrammering.dk    04-09-2012

Hej Jack, Det er desværre ikke noget der lige er til at forklare udførligt her i kommentarområdet. Derfor kan du evt. istedet hoppe ind på vores forum og stille de samme spørgsmål - der er sikker nogen der kan hjælpe dig!


kommentar på NemProgrammering.dk - lav din egen hjemmeside
jack    04-09-2012

forrestil jer at i har en side med nyheder: indhold på siden er der et billede og på højre side 5kasser med overskrift og lille underskrift. Når du klikker der springer du frem til en ny side med en lille artikkel men selv har lavet? mit spørgsmål lyder.... Hvordan kan man som admin bruger redigere sådanne nyheder i i MySQL database så man ændre tekst og overskrift ?,....