För att kunna inkludera php filer måste filen du inkluderar ifrån också vara php fil. Sen är det bara att skriva:
<?
include ('phpfilename.php');
?>
8 svar · 641 visningar · startad av emton
Jag har en php-sida där man kan uppdatera lite information om man är inloggad. När man loggat in visas information och bilder i en divtagg på första sidan som är en html-sida. När man klickar på en bild kommer man till en php-sida där man kan uppdatera informationen. När man sen klickar på uppdatera så vill jag att sidan med den uppdaterade informationen och bilden visas i div-taggen på html-sidan igen. Hur gör jag då? Hoppas någon förstår min något röriga beskrivning :OO. Har skrivit en kommentar nere i php-scriptet.
function visaBilder () {
echo "<p><h2>Välkommen till mitt bildgalleri.</h2> Vill du ändra på någon bildtext går det bra genom att klicka på bilden.</p>";
require_once ("databas.inc");
$sql = "SELECT * FROM bilder;";
$sql_result = mysql_query ($sql) or die ("Query error.");
echo "<form action =\"andra.php\" method=\"post\">";
echo "<table border=\"1\" cellpadding=\"10\">";
echo "<tr><th>id</th><th>Beskrivning</th><th>Information</th><th>Bild</th></tr>";
while ($row = mysql_fetch_assoc ($sql_result)) {
echo "<tr>";
echo "<td>" . $row['id'] . "</td>";
echo "<td>" . $row['description'] . "</td>";
echo "<td>" . $row['information'] . "</td>";
echo "<td><a href='andra.php?vill_editera=1&bild=" . $row['id'] . "'><img src='" . $row['picture'] . "'/></a></td>";
echo "</tr>";
}
echo "</table>";
echo "<input type=\"hidden\" name=\"vill_editera\" value=\"1\" />";
echo "</form>";
}
function editeraBild ($attEditera) {
require_once ("databas.inc");
$sql = "SELECT * FROM bilder WHERE id=\"" . $attEditera . "\";";
$sql_result = mysql_query ($sql) or die (mysql_error());
if (!$sql_result)
{
echo "Could not successfully run query ($sql) from DB: " . mysql_error();
exit;
}
$row = mysql_fetch_assoc ($sql_result) or die (mysql_error());
echo "<form action=\"andra.php\" method=\"post\">";
echo "<table border=\"0\" cellpadding=\"3\">";
echo "<tr><td>Beskrivning</td> <td><input type=\"text\" name=\"description\" value=\"" . $row['description'] . "\" /></td></tr>";
echo "</table>";
echo "<input type=\"hidden\" name=\"bild\" value=\"" . $attEditera . "\" />";
echo "<input type=\"hidden\" name=\"har_editerat\" value=\"1\" />";
echo "<input type=\"submit\" value=\"KLAR\" />";
echo "</form>";
}
function gorEditering ($attEditera) {
require_once ("databas.inc");
$description = htmlentities ($_POST['description']);
$sql = "UPDATE bilder SET " .
"description=\"" . $description . "\" WHERE id=\"" . $attEditera . "\";";
$sql_result = mysql_query ($sql) or die ("Query Error.");
echo "<p>Bildtexten har ändrats</p>";
}
if ($_REQUEST['vill_editera'] == "1") {
$_REQUEST['vill_editera'] = 0;
$attEditera = intval ($_GET['bild']);
editeraBild ($attEditera);
}
else if ($_REQUEST['har_editerat'] == "1") {
$_REQUEST['har_editerat'] = 0;
$attEditera = intval ($_POST['bild']);
gorEditering ($attEditera);
header("Location: andra.php"); // denna sida ska hamna i divtaggen på html-sidan
}
else
visaBilder ();
?>
För att kunna inkludera php filer måste filen du inkluderar ifrån också vara php fil. Sen är det bara att skriva:
<?
include ('phpfilename.php');
?>
Hmm, det handlar bara om en php-sida? Stämmer det?
I sådana fall är det bara att lada om sidan eller anropa visaBilder();
Hmm, det handlar bara om en php-sida? Stämmer det?
I sådana fall är det bara att lada om sidan eller anropa visaBilder();
Det är ajax som jag ska komma fram till. Har ett vanligt inloggningsformulär i html på första sidan och en divtagg för resultat. När man loggat in så kommer den sidan jag la in ovan att visas i resultatdiven. När jag sen klickar på en bild kommer det upp en möjlighet att ändra bildtexten. När man gjort det och klickar på klar så ska man komma tillbaka och landa i resultatdiven igen där allt visas. Har även ett javascript. Får inte till kopplingar så att det funkar. Uppdateringen funkar fint men jag får inte det uppdaterade resultatet att hamna i divtaggen utan det kommer upp som en egen sida.
Och sidan resultatet ska skrivas ut i heter andra.php?
Och sidan resultatet ska skrivas ut i heter andra.php?
Nä, andra.php ska landa i resultatdiven på sidan index.php :)
Ändra header till index.php och se om det blir rätt då.
Använd AJAX och ta bort header raden. Förslagsvis något färdigt framework som jQuery som underlättar betydligt.
Eftersom det som andra.php skriver ut skall hamna i en div så andra.php bara generera den html kod som skall infogas i div'en.
Använd AJAX och ta bort header raden. Förslagsvis något färdigt framework som jQuery som underlättar betydligt.
Eftersom det som andra.php skriver ut skall hamna i en div så andra.php bara generera den html kod som skall infogas i div'en.
Tack ska kolla på detta och prova.