Top
Phpuniverset logo
 

INDHOLD

Forside

Script libary

Job annoncer

Tips og Tricks

Konkurrence

Downloads

Dokumenter

PHP bog shop

Forum

Online udviklere


ARTIKLER

CSS

Diverse

E-handel / annoncer

Grafik

Html

Internet

Javascript

Linux

PHP/MySQL

Programmer

Flash

Søgemaskiner

Windows

C / C++


INFO

Information

Annoncering

Kontakt

Forside Forum PHP, mysql Sv: hent fra mysql og redigere direkte fra hjemmes

Sv: hent fra mysql og redigere direkte fra hjemmes


 

Sv: hent fra mysql og redigere direkte fra hjemmes

Henrik Nielsen  

Hejsa alle..
jeg ønsker et script hvor jeg kan hente en tabel/data fra mysql og så rediger eller slet
indlæg der er skrevet i fx min gæstebog eller hvor jeg kan gå ind og redigere i en nyhed
jeg har skrevet..

hvordan henter jeg fra mysql og redigere i det ? 

nogen der vil kode det til mig, ved at jeg sender hele sriptet til dig??



Dato : 22.02.2008, 10:07

Visninger : 558

Points : 0

 

skriv_nyhed.php:

<html>

<head>
<title>Skriv Nyhed</title>
</head>

<body>

<? 
if(isset($_POST['skriv'])) {

if(!
$_POST['overskrift'] || !$_POST['forfatter'] || !$_POST['nyhed']) {


}
?>

<form action="skriv_nyhed.php" method="POST">
<table border="0" width="100%">
    <tr>
        <td width="111">Overskrift:</td>
        <td width="914"><input type="text" name="overskrift"></td>
    </tr>
    <tr>
        <td width="111">Forfatter:</td>
        <td width="914"><input type="text" name="forfatter"></td>
    </tr>
    <tr>
        <td width="1029" colspan="2">Nyheden:</td>
    </tr>
    <tr>
    <td width="1029" colspan="2"><textarea name="nyhed" rows="7" cols="31"></textarea></td>
    </tr>
    <tr>
    <td width="1029" colspan="2"><input type="submit" name="skriv" value="Tryk nyhed"></td>
    </tr>
</table>
</form>

</body>

</html>


Dato : 22.02.2008, 10:04

Kommentar af : Henrik Nielsen  

 

PHP koden skal være:

<?  
if(isset($_POST['skriv'])) { 

if(!
$_POST['overskrift'] || !$_POST['forfatter'] || !$_POST['nyhed']) { 
echo 
"Alle felter blev ikke udfyldt!";
} else {

$dato date('d/m-Y');
$overskrift htmlspecialchars($_POST['overskrift']);
$forfatter htmlspecialchars($_POST['forfatter']);
$nyhed htmlspecialchars($_POST['nyhed']);

mysql_query("INSERT INTO nyheder SET (`dato`,`overskrift`,`forfatter`,`nyhed`) VALUES
('
$dato','$overskrift','$forfatter','$nyhed')") or die(mysql_error());
echo 
"Nyheden blev tilføjet!";

}
}
?> 

Det var php koden til skriv_nyhed.php


Dato : 22.02.2008, 10:07

Kommentar af : Henrik Nielsen  

 

Erstat den med den php kode jeg skrev øverst.

Din database skal så indeholde felterne:
id, dato, overskrift, forfatter og nyhed - og kald databasen `nyheder`.
- alt dette gør du i PHPmyadmin.

der hvor nyhederne vises kan php koden så skrives således:

<?
$sql 
mysql_query("SELECT * FROM nyheder ORDER BY id DESC") or die(mysql_error());
if(
mysql_num_rows($sql)) {
while(
$show mysql_fetch_array($sql)) {

echo 
"<a href='vis_nyhed.php?id=$show[id]'>$show[overskrift]</a><br>";
echo 
substr($show[nyhed],0,60);
echo 
"<hr>";

}
} else {
echo 
"Der er ingen nyheder i øjeblikket.";
}
?>

og vis_nyhed.php:

<?
$sql 
mysql_query("SELECT * FROM nyheder WHERE id = '$_GET[id]'") or die(mysql_error());
$vis mysql_fetch_array($sql);

echo 
"<h2>$vis[overskrift]</h2><br><br>";
echo 
nl2br($vis[nyhed]);
echo 
"<br><br>Skrevet af: $vis[forfatter], den. $vis[dato]";
?>

Så burde du selv kunne lave rediger nyhed.
Der laver du en liste hvor den viser alle nyheder, og så klikker man ind på den man vil
rette, og så henter du dataene i form-felterne og redigere og så bruger du i stedet for
funktion INSERT så:

mysql_query("UPDATE nyheder SET overskrift='$overskrift', forfatter='$forfatter' osv..

Håber det hjalp, selvom det er lidt rodet..

// Henrik


Dato : 22.02.2008, 10:17

Godkendt svar af : Henrik Nielsen  

 

hejsa henrik tak, men jeg er seriøs ikke go til det her.. 

jeg har scriptet hvor man skrive nyheden og mangler KUN et redigeringsscript.

Den hedder guestbog inde i mysql og her er opstillingen af indlægene hvori "navnene" på de
observationer også står i:

Dette er hvordan det ser ud når man hente det fra databasen. vil gerne have der er 2 link
et sted i denne tabel hvor der står: REDIGER, hvor man gå ind og redigere indlæget og et
link hvor der står SLET hvor man sletter indlægget.. 

<div align="center">
<center>
<table border=1 cellspacing=0 cellpadding=3 width="408" bgcolor="#FFFFFF" id="table1">
<tr bgcolor=#c0c0c0 class=n1 onmouseover="if (typeof(this.style) != 'undefined')
this.style.backgroundColor = '#c8c8c8'" onmouseout="if (typeof(this.style) != 'undefined')
this.style.backgroundColor = ''"> 
<td width="408" bordercolor="#808080">
<b><font size="2" face="Arial"><? echo $vis[navn]; ?></font></b><font face="Arial"><font
size="2"> - 
</font> <a href="mailto:<? echo $vis[email]; ?>">
<img border="0" src="mail_ikon.gif" width="16" height="16"></a><font size="2">  skrevet
den: <? echo $vis[dato]; ?>
<br>
<? echo nl2br($vis[besked]); ?></font></font></td> 
</tr>
</table>
</center>
</div>

og for at connecte til mysql er det via: 

include("db_connection.php"); 

Håber du vil hjælpe mig ved at lave et redigerings-script for jeg ik go til php :(
please..


Dato : 22.02.2008, 10:34

Kommentar af : fdt  

 

Okay.

Men jeg skal vide hvad din database hedder?


Dato : 22.02.2008, 11:22

Kommentar af : Henrik Nielsen  

 

<?
include("db_connection.php");  

$sql mysql_query("SELECT * FROM guestbog ORDER BY id DESC") or die(mysql_error());
while(
$vis mysql_fetch_array($sql)) {
?>

<div align="center"> 
<center> 
<table border=1 cellspacing=0 cellpadding=3 width="408" bgcolor="#FFFFFF" id="table1"> 
<tr bgcolor=#c0c0c0 class=n1 onmouseover="if (typeof(this.style) != 'undefined')
this.style.backgroundColor = '#c8c8c8'" onmouseout="if (typeof(this.style) != 'undefined')
this.style.backgroundColor = ''">  
<td width="408" bordercolor="#808080"> 
<b><font size="2" face="Arial"><? echo $vis[navn]; ?> - <a href="rediger.php?id=<? echo
$vis[id]; ?>">Rediger</a> - <a href="slet.php?id=<? echo $vis[id];
?>">Slet</a></font></b><font face="Arial"><font size="2"> -  
</font> <a href="mailto:<? echo $vis[email]; ?>"> 
<img border="0" src="mail_ikon.gif" width="16" height="16"></a><font size="2">  skrevet
den: <? echo $vis[dato]; ?> 
<br> 
<? echo nl2br($vis[besked]); ?></font></font></td>  
</tr> 
</table> 
</center> 
</div> 

<?
}
?>


Dato : 22.02.2008, 11:25

Kommentar af : Henrik Nielsen  

 

Kan jeg få opret-filen?

Dato : 22.02.2008, 11:25

Kommentar af : Henrik Nielsen  

 

Dette er hele opret scriptet.. Det fordi det script jeg har er et script hvor det hele er
under en fil, ved at man laver en get-funktion.. Det jeg her hernede er vist hele opret
sektionen..

<?php // PHP starter.
if($_GET[valg] == "skriv") { 
?> 
<form action="gaestbog.php?valg=skrivok" method="POST">
<blockquote>
    <blockquote>
        <p align="left"><font face="Arial"><font color="#FFFFFF"><b><font style="font-size:
9pt">Navn:</font></b><font style="font-size: 9pt">
        <br></font></font><span style="font-size: 9pt">
        <input name="navn" size="20" style="color: #FFFFFF; font-family: Arial; font-size: 12;
border-style: solid; border-width: 1px; padding-left: 4px; padding-right: 4px;
padding-top: 1px; padding-bottom: 1px; background-color: #000000"></span></font><font
face="Arial" style="font-size: 9pt" color="#FFFFFF"><br>
        <b>E-mail:</b> <br></font><font face="Arial">
        <span style="font-size: 9pt">
        <input name="email" size="20" style="font-family: Arial; color: #FFFFFF; font-size: 12;
border-style: solid; border-width: 1px; padding-left: 4px; padding-right: 4px;
padding-top: 1px; padding-bottom: 1px; background-color: #000000"></span></font><font
face="Arial" style="font-size: 9pt"><font color="#FFFFFF"><br>
        <b>Besked:</b></font><br></font><font face="Arial">
        <span style="font-size: 9pt">
        <textarea name="besked" rows="5" cols="33" style="font-family: Arial; color: #FFFFFF;
font-size: 12; border-style: solid; border-width: 1px; padding-left: 4px; padding-right:
4px; padding-top: 1px; padding-bottom: 1px; background-color:
#000000"></textarea></span></font><font face="Arial" style="font-size: 9pt"><br>
        </font><font face="Arial"><span style="font-size: 9pt">
        <input type="submit" value="Skriv i gæstebog" style="font-family: Arial; color: #000000;
font-size: 12; border-style: solid; border-width: 1px; padding-left: 4px; padding-right:
4px; padding-top: 1px; padding-bottom: 1px"></span></font><font face="Arial"
style="font-size: 9pt">
        </font></p>
    </blockquote>
</blockquote>
</form>

<?php // PHP starter igen
// afslutter '{' ovenfor.
if($_GET[valg] == "skrivok") { // Laver en GET igen.

if($_POST[navn] == "") {
echo(
"Husk at skrive dit <b>Navn</b>");
} else { 

if(
$_POST[email] == "") {
echo(
"Du skal udfylde feltet <b>E-mail</b>");
} else { 
// Vi tester om feltet email er udfyldt

if($_POST[besked] == "") {
echo(
"Husk at udfylde feltet <b>Besked</b>");
} else { 
// Vi tester om der er skrevet en besked.

if(strlen($_POST[besked]) < "10") {
echo(
"Jeg godkender ikke en så kort besked");
} else { 
// Her tester vi om brugeren har skrevet en besked på over 10 karektere. Hvis
brugeren ikke har det siger denDet var en kort beskedhvis brugerens besked var over 10
karektere går den videre
.

if(
is_numeric($_POST[navn])) {
echo(
"Jeg har aldrig hørt om et navn, der indeholder et tal!");
} else { 
// Her tester vi med kommandoen is_numeric() om brugeren har skrevet tal i sit
navn.

$dato date('d/m/Y H:i:s'); // Her kalder vi datoen og klokken. d står for day, m for
monthfor yearfor hourfor minutsfor secondsAltså dagmånedårtime,
minutsekundDatoen bliver så gemt i virablen $dato
$ip 
$_SERVER[REMOTE_ADDR]; // Her kalder vi vedkomnes IP, og gemmer ipen i virablen $ip
$navn htmlspecialchars($_POST[navn]); // Vi gemmer $_POST[navn] i virablen $navn, og
bruger kommandoen htmlspecialchars() for at sørge for at brugeren ikke kan bruge html i
dette felt
Hvis brugeren har gjort detbliver det bare til tekst.
$email htmlspecialchars($_POST[email]); // Vi gemmer $_POST[email] i virablen $email
$besked htmlspecialchars($_POST[besked]); // Vi gemmer $_POST[besked] i virablen
$besked

if(!get_magic_quotes_gpc()) { // Vi laver en sikkerheds foranstaltning. Den vil jeg ikke
til at fortælle omhvis du er interesseret i at vide hvad den gør kan du søge på php.net
$navn 
addslashes($navn);
$email addslashes($email);
$besked addslashes($besked);
}

include(
"db_connection.php"); // Vi inkludere php filen db_connection.php i vores fil, den
sørge for der er forbindelse til databasen.
mysql_query("INSERT INTO gaestbog (dato, ip, navn, email, besked) VALUES ('$dato', '$ip',
'
$navn', '$email', '$besked')") or die(mysql_error()); // Vi sætter alle brugerens POSTER
ind i databasen.
echo(
"<b>Tak for din besked</b>");
}
}
}
}
}


Dato : 22.02.2008, 12:03

Kommentar af : fdt  

 

hey igen..

mon du kan lave det hele under en fil? ;-)


Dato : 22.02.2008, 12:13

Kommentar af : fdt  

 

... altså kun redigering/slet sektionen.. mente ikke med alt det jeg har.. for kunne være
godt hvis du ku lave det hele under en fil det med at redigere og slette.. ellers er det i
orden hvis du har det nemmere ved det andet .. men tak fordi du vil hjælpe!!


Dato : 22.02.2008, 12:14

Kommentar af : fdt  

 

Prøv dette:
(Har ikke testet det, så er der fejlmeddelse, så skriv den.)

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Rediger / Slet</title>

</head>

<body>

<a href="mode.php?action=indlaeg">Vis indlægs oversigt</a>
<hr>

<?
include("db_connection.php");

if(
$_GET['action'] == "indlaeg") {

$q mysql_query("SELECT * FROM gaestbog ORDER BY id DESC") or die(mysql_error());
if(
mysql_num_rows($q)) {
while(
$vis mysql_fetch_array($q)) {
?>

<table border="0" width="100%">
    <tr>
        <td><b><? echo $vis['navn']; ?></b> - <a href="mode.php?action=rediger_nu&id=<? echo
$vis['id']; ?>">Rediger dette indlæg</a> | <a href="mode.php?action=slet_nu&id=<? echo
$vis['id']; ?>">Slet dette indlæg</a></td>
    </tr>
    <tr>
        <td>Besked:<br><? echo nl2br($vis['besked']); ?></td>
    </tr>
</table>

<?
}
} else {
    echo 
"Der er ingen indlæg endnu.";
}
}

if(
$_GET['action'] == "rediger_nu") {

$edit mysql_query("SELECT * FROM gaestbog WHERE id = '$_GET[id]'") or
die(
mysql_error());
$show mysql_fetch_array($edit);
?>
<form action="mode.php?id=<? echo $show['id']; ?>" method="POST">
<table border="0" width="100%">
    <tr>
        <td width="126">Navn:</td>
        <td width="899"><input type="text" name="navn" value="<? echo $show['navn']; ?>"></td>
    </tr>
    <tr>
        <td width="126">Email</td>
        <td width="899"><input type="text" name="email" value="<? echo $show['email'];
?>"></td>
    </tr>
    <tr>
        <td width="126">Besked:</td>
        <td width="899">&nbsp;</td>
    </tr>
    <tr>
        <td width="1029" colspan="2"><textarea name="besked" rows="7" cols="29"><? echo
$show['besked']; ?></textarea></td>
    </tr>
    <tr>
        <td width="1029" colspan="2"><input type="submit" name="confirm" value="Rediger
indlægget"></td>
    </tr>
</table>
</form>
<?
}

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

if(
$_POST[navn] == "") { 
echo(
"Husk at skrive dit <b>Navn</b>"); 
} else {  

if(
$_POST[email] == "") { 
echo(
"Du skal udfylde feltet <b>E-mail</b>"); 
} else { 
// Vi tester om feltet email er udfyldt 

if($_POST[besked] == "") { 
echo(
"Husk at udfylde feltet <b>Besked</b>"); 
} else { 
// Vi tester om der er skrevet en besked. 

mysql_query("UPDATE gaestbog SET
navn='
$_POST[navn]',email='$_POST[email]',besked='$_POST[besked]' WHERE id = '$_GET[id]'")
or die(
mysql_error());
echo 
"Indlægget er nu redigeret";

}
}
}
}

if(
$_GET['action'] == "slet_nu") {

mysql_query("DELETE FROM gaestbog WHERE id = '$_GET[id]'") or die(mysql_error());
echo 
"Indlægget er nu slettet.";

}

mysql_close();
?>

</body>

</html>


Dato : 22.02.2008, 13:25

Kommentar af : Henrik Nielsen  

 

Filen SKAL hedde mode.php

Dato : 22.02.2008, 13:26

Kommentar af : Henrik Nielsen  

 

heeelt sikkert.. det virker sku.. tusind tak!!!

min ven kan jeg stadig lave opstillinge anderledes med html koder så det ligner det design
jeg har fra før med det der mouseover osv??



Dato : 22.02.2008, 13:41

Kommentar af : fdt  

 

Godt :)

Selvfølgelig kan du det - Bare rod med html'en :)


Dato : 22.02.2008, 15:35

Kommentar af : Henrik Nielsen  

 

wee det virker osv tusind tak..
en MEGET lille ting mere :)

du ved når man har slettet et indlæg kommer den frem og siger "indlægget er slettet", kan
du gøre sådan så der nedenunder står et link "tilbage til hovedmenu" der linker til en
side ? bar lad os kalde siden login.htm. ? for kan ik rigtig selv finde ud af det det
ødelægger scriptet når jeg prøver sætte htmlkoden ind der.. ?


Dato : 22.02.2008, 16:09

Kommentar af : fdt  

 

<html> 

<head> 

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> 
<title>Rediger / Slet</title> 

</head> 

<body> 

<a href="mode.php?action=indlaeg">Vis indlægs oversigt</a> 
<hr> 

<? 
include("db_connection.php"); 

if(
$_GET['action'] == "indlaeg") { 

$q mysql_query("SELECT * FROM gaestbog ORDER BY id DESC") or die(mysql_error()); 
if(
mysql_num_rows($q)) { 
while(
$vis mysql_fetch_array($q)) { 
?> 

<table border="0" width="100%"> 
    <tr> 
        <td><b><? echo $vis['navn']; ?></b> - <a href="mode.php?action=rediger_nu&id=<?
echo $vis['id']; ?>">Rediger dette indlæg</a> | <a href="mode.php?action=slet_nu&id=<?
echo $vis['id']; ?>">Slet dette indlæg</a></td> 
    </tr> 
    <tr> 
        <td>Besked:<br><? echo nl2br($vis['besked']); ?></td> 
    </tr> 
</table> 

<? 

} else { 
    echo 
"Der er ingen indlæg endnu."



if(
$_GET['action'] == "rediger_nu") { 

$edit mysql_query("SELECT * FROM gaestbog WHERE id = '$_GET[id]'") or
die(
mysql_error()); 
$show mysql_fetch_array($edit); 
?> 
<form action="mode.php?id=<? echo $show['id']; ?>" method="POST"> 
<table border="0" width="100%"> 
    <tr> 
        <td width="126">Navn:</td> 
        <td width="899"><input type="text" name="navn" value="<? echo $show['navn'];
?>"></td> 
    </tr> 
    <tr> 
        <td width="126">Email</td> 
        <td width="899"><input type="text" name="email" value="<? echo $show['email'];
?>"></td> 
    </tr> 
    <tr> 
        <td width="126">Besked:</td> 
        <td width="899">&nbsp;</td> 
    </tr> 
    <tr> 
        <td width="1029" colspan="2"><textarea name="besked" rows="7" cols="29"><? echo
$show['besked']; ?></textarea></td> 
    </tr> 
    <tr> 
        <td width="1029" colspan="2"><input type="submit" name="confirm" value="Rediger
indlægget"></td> 
    </tr> 
</table> 
</form> 
<? 


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

if(
$_POST[navn] == "") {  
echo(
"Husk at skrive dit <b>Navn</b>");  
} else {   

if(
$_POST[email] == "") {  
echo(
"Du skal udfylde feltet <b>E-mail</b>");  
} else { 
// Vi tester om feltet email er udfyldt  

if($_POST[besked] == "") {  
echo(
"Husk at udfylde feltet <b>Besked</b>");  
} else { 
// Vi tester om der er skrevet en besked.  

mysql_query("UPDATE gaestbog SET
navn='
$_POST[navn]',email='$_POST[email]',besked='$_POST[besked]' WHERE id = '$_GET[id]'")
or die(
mysql_error()); 
echo 
"Indlægget er nu redigeret"






if(
$_GET['action'] == "slet_nu") { 

mysql_query("DELETE FROM gaestbog WHERE id = '$_GET[id]'") or die(mysql_error()); 
echo 
"Indlægget er nu slettet."
echo 
"<a href='login.htm'>Tilbage til hovedmenuen</a>";



mysql_close(); 
?> 

</body> 

</html>

Således? :)


Dato : 22.02.2008, 20:36

Kommentar af : Henrik Nielsen  

 

hmm det virker ikke? har prøvet.. den vil ik vise linket

Dato : 24.02.2008, 13:39

Kommentar af : fdt  

 

..hovsa virker nu.. skulle bar også skrive den i det område hvor man har redigeret
indlægget... ;)


Dato : 24.02.2008, 13:41

Kommentar af : fdt  

 

Godt :)

Takker for points.


Dato : 24.02.2008, 21:33

Kommentar af : Henrik Nielsen  

 

det var så lidt ;) du hjalp mig !!!!

min ven har du ik et anbefal script? ;) kan ik finde nogle gode nogen steder.. 

vil gern have et felt hvor man skriver sit navn og så ens vens email, hvor man kan anbefal
hjemmesiden... har du sådan et liggende? ku godt tænke mig have felterne på min forside..
jeg har et iframe på min hjemmeside det hedder "meinmenu" så når der blevet sendt en
anbefaling skal den gå videre til iframet og skrive: Anbefaling sent til xxxxxxx

kan du det ;) ? så du en go ven ;)


Dato : 25.02.2008, 10:03

Kommentar af : fdt  

 

Opret et nyt spørgsmål ang. det :)

Dato : 25.02.2008, 14:10

Kommentar af : Henrik Nielsen  

 

ok :)

Dato : 25.02.2008, 18:28

Kommentar af : fdt  

 

min ven har lavet nyt indlæg:

http://www.phpuniverset.dk/se_child_forum.phtml?forum_id=1&id=3539


Dato : 26.02.2008, 21:30

Kommentar af : fdt  

 

hvorfor svarer du ik længere? :(

Dato : 28.02.2008, 13:38

Kommentar af : fdt  




Login for at skrive et indlæg :



   Brugernavn

Password
 

+ Opret en ny Bruger, Klik her

+ Glemt brugernavn/password

 

Send Artikel/anmeldelse til: phpuni@phpuniverset.dk

Tilbage til oversigt

© Copyright 2000 Propelcom Phpuniverset's politik om personlige oplysninger, artikler & Koder Phpuniverset er optimeret til Mozilla 1024 * 768 Phpuniverset version: 3.0 beta
Webhost : Ignesco.dk

Bund