<?
if(isset($redigera)) {
...
Hur sätter du $redigera? Kan det vara så att du har globals On i php.ini filen och webbhotellet har det off?
12 svar · 230 visningar · startad av Pedda
Vad har jag gjort för fel i koden? Fungerar när jag kör lokalt men inte på webbhotellet!
<?
if(isset($redigera)) {
$open = mysql_connect("$server", "$anvandare", "$losen");
$data = mysql_db_query("$databas", "SELECT * FROM nyheter WHERE id = '$id'");
while ($rad = mysql_fetch_array($data)) {
$text = $rad["text"];
$id = $rad["id"];
$titel = $rad["titel"];
print "Id: <br><b>";
print $rad["id"];
print "<br>";
print "<form method=post action=\"sid1.php\" name=\"nyhet\">";
print "</b><br>Titel: <br>";
print "<input type=text size=25 name=\"titel\" value=\"";
print $rad["titel"];
print "\"><br>";
print "Text: <br>";
print "<textarea cols=50 rows=15 name=\"text\">";
print $rad["text"];
print "</textarea><br>";
print "<input type=\"hidden\" name=\"id\" value=\"";
print $rad["id"];
print "\"><br>";
print "<input type=\"submit\" name=\"update\" value=\"Uppdatera\"><b> Varning! Denna åtgärd går ej att ångra!</b>";
print "</form>";
}
}
?>
<?
if(isset($redigera)) {
...
Hur sätter du $redigera? Kan det vara så att du har globals On i php.ini filen och webbhotellet har det off?
$redigera kommer med från ett formulär. Har även testat utan det och inget skrivs då heller!
Pedda skrev:
$redigera kommer med från ett formulär. Har även testat utan det och inget skrivs då heller!
Om du använder POST metoden i formuläret så kan du testa med detta:
<?
if(isset($_POST['redigera'])) {
...
Och om du använder GET metoden så kan du testa med detta:
<?
if(isset($_GET['redigera'])) {
...
Det verkar som att webbhotellet kör globals Off.
Jag använder POST metoden. Använder det även på andra ställen på sidan och där fungerar det.
Vi ändrar början av din kod lite så vi ser vart vi är någonstans...
<?
if(isset($redigera)) {
echo "Brytpunkt 1";
$open = mysql_connect("$server", "$anvandare", "$losen");
$data = mysql_db_query("$databas", "SELECT * FROM nyheter WHERE id = '$id'") or die(mysql_error());
echo "Brytpunkt 2";
while ($rad = mysql_fetch_array($data)) {
echo "Brytpunkt 3";
...
Skrev om kopplingen till databasen och nu fungerar det
$open = mysql_connect("$server", "$anvandare", "$losen");
mysql_select_db("$databas");
$data = mysql_query("SELECT * FROM nyheter WHERE id = '$id'");
while ($rad = mysql_fetch_array($data))
{
$id = $rad["id"];
$titel = $rad["titel"];
$text = $rad["text"];
Men vad var fel egentligen? Jag är nybörjare på PHP ;)
Att jag inte tänkte på det tidigare... Ett citat från PHP-manualen:
"Note: This function has been deprecated since PHP 4.0.6. Do not use this function. Use mysql_select_db() and mysql_query() instead."
Citatet avser
mysql_db_query();
Vilken version av PHP kör du på utvecklingsdatorn?
Jag har version 4.1.1.
Tycker du att jag ska uppdatera till den senaste versionen, eller behövs det inte? Kanske inte är så mycket ändrat?
Jag skulle uppdatera om jag vore du. Många buggar är väck och många nya saker finns i den senaste PHP 4.3.0...
Darren skrev:
Jag skulle uppdatera om jag vore du. Många buggar är väck och många nya saker finns i den senaste PHP 4.3.0...
Tänk bara på att inte använda nyare teknik/funktioner än webbhotellet som du ska lägga upp applikationen på har.
/G
GrodanBoll skrev:
Darren skrev:
Jag skulle uppdatera om jag vore du. Många buggar är väck och många nya saker finns i den senaste PHP 4.3.0...
Tänk bara på att inte använda nyare teknik/funktioner än webbhotellet som du ska lägga upp applikationen på har.
/G
Jupp... Eller så tvingar du webbhotellet att uppdatera till 4.3.0 också. :e
Darren skrev:
Jupp... Eller så tvingar du webbhotellet att uppdatera till 4.3.0 också. :e
He he, ja kan man bara det så. :e
/G