grOOvekill@
LegendVienna Badass
|
S'gott,
habe letzte Woche phpMyAdmin installiert. Nach anfänglichen Login Schwierigkeiten, die ich mit Eurer Hilfe lösen konnte, stehe ich nun vor einem weiteren Problem.
Ich habe ein Skript, welches sich den Inhalte einer Tabelle in ein <textarea> holt. Dort hat man nun die Möglichkeit, den Text zu verändern. Mit einem Klick auf Speichern, ersetzt dieser neue Text den ursprünglichen in der Tabelle, es wird also ein update-Statement verwendet.
Hier das Kuriose: Auf meinem eigenen Webserver funktionieren die Skript voll und ganz. Auf dem Webserver, auf dem phpMyAdmin neu installiert wurde, jedoch nicht! Also kann's sicher nicht an den Skripts liegen, die dürften in Ordnung sein. Jetzt weiß ich nicht, ob bei mysql rechtemäßig noch irgendwas eingestellt werden muß. Dummerweise habe ich auch nirgends im Verzeichnis ein Logfile entdeckt, daß mir Aufschluß darüber gibt, warum meine updates verschluckt werden. Nachdem die gesamte Website zukünftig auf mysql aufbauen soll (kleines CMS), wäre es natürlich essentiell, daß das Zeug hinhaut. Habe echt schon eine Menge ausprobiert, aber nun stehe ich an un komme nicht weiter.
Wäre für jede Hilfe dankbar. Wenn ihr spezielle Infos braucht um das Problem näher beleuchten zu können, bitte fragen. Ich wußte nicht, was ich alles anführen soll. Es handelt sich auf jeden Fall um die Version 2.4.0 von phpMyAdmin.
Vielen Dank!
Bearbeitet von grOOvekill@ am 20.11.2003, 12:58
|
mat
AdministratorLegends never die
|
connecten und selecten der db gibt dir keinen fehler? überprüf bei jedem mysql statement mit .. or die(mysql_error()) und schau mal ob er dir jetzt etwas auswirft.
|
grOOvekill@
LegendVienna Badass
|
Connect und Select funktionieren. Bekomme auch mit ..or die(mysql_error()) keine Fehlermeldung. Das Lustige ist aber: Nach dem Ändern des Textes, also nach einem Klick auf Speichern, sollte der Text "Der Eintrag wurde gespeichert" an der Stelle vom <textarea> erscheinen. Es bleibt aber alles weiß. Irgendwie wird der echo-Befehl ignoriert und ich komm' nicht drauf, weshalb. Nach 2 Sekunden mach ich dann einen Refresh, damit der neue Inhalt der Tabelle angezeigt werden kann.
|
watchout
Legendundead
|
Connect und Select funktionieren. Bekomme auch mit ..or die(mysql_error()) keine Fehlermeldung. Das Lustige ist aber: Nach dem Ändern des Textes, also nach einem Klick auf Speichern, sollte der Text "Der Eintrag wurde gespeichert" an der Stelle vom <textarea> erscheinen. Es bleibt aber alles weiß. Irgendwie wird der echo-Befehl ignoriert und ich komm' nicht drauf, weshalb. Nach 2 Sekunden mach ich dann einen Refresh, damit der neue Inhalt der Tabelle angezeigt werden kann. schreib das or die auch beim query hin
|
grOOvekill@
LegendVienna Badass
|
schreib das or die auch beim query hin ehm... wie? Weiß leider nicht genau, was du meinst. Ich soll ..or die auch bei der Query hinschreiben? Hab ich eigentlich. TUt sich trotzdem nix.
|
watchout
Legendundead
|
dann schreib mal ganz am anfang error_reporting(E_ALL);
|
grOOvekill@
LegendVienna Badass
|
Ach du meine Fresse! Ich hab da folgende Meldung: Notice: Undefined variable: submit in /home/wwwroot/www/_BACKEND/main/submit_main.php on line 11Aber das kann nicht sein! Ich sag doch, daß diese Skripts auf einem anderen Webserver funktionieren. Außerdem hab ich die submit variable in der Datei, in der ich das form tag definier angegeben. Ich zeig Euch mal den Code. Hier die Datei, wo ich Änderungen vornehmen kann: <body>
<?php
include ("../connectdb.php");
error_reporting(E_ALL);
?>
<form method="post" action="submit_main.php">
<?php
$result = mysql_query("Select * from main",$db);
$zeile = mysql_fetch_array ($result);
echo ("<textarea cols='100' rows='20' name='main'>$zeile[main]</textarea>");
echo ("<br><input type='submit' name='submit' value='text speichern'></center>");
?></form>
</body>
Und hier der Code von submit_php: <html>
<head>
<meta http-equiv="refresh" content="2; URL=main.php">
<title>submit</title>
</head>
<?php
include ("../connectdb.php");
error_reporting(E_ALL);
if ($submit){
$sql="UPDATE main SET main='$main' where id=1";
$result=mysql_query($sql);
echo ("<center><b><font face='arial' size='3'>Der Text wurde eingetragen!</font></b></center>");
if (!$result){
die ("Der Text konnte nicht eingetragen werden!");
}
}
?>
Wieso zur Hölle taugt ihm des submit nicht??
|
noledge
CWNE #540
|
such mal nach globale variablen im forum entweder über die superglobalen abfragen oder register_globals auf on - ich empfehle ersteres.
|
mat
AdministratorLegends never die
|
$result=mysql_query($sql);
2. parameter fehlt.. also der link zur db damit du weisst was ich mein: http://www.dynamicwebpages.de/php/f...mysql-query.phpedit: du solltest bei jedem query auf fehler überprüfen: $hQuery = mysql_query($szSQL,$hLink) or die(mysql_error());
|
atrox
in fairy dust... I trust!
|
der zweite parameter von mysql_query ist in den mini-beispielen aber nicht notwendig.
ich tippe eher auf register_globals ... führe mal ein <? phpinfo(); ?> aus und überprüfe die globals-einstellungen.
|
grOOvekill@
LegendVienna Badass
|
Ihr hattet mal wieder absolut recht! Beim Durchforsten früherer Postings bezüglich globaler Variablen hat sich herausgestellt, daß genau hier das Problem lag. Wie gesagt, auf dem anderen Webserver hat alles ohne Probleme funktioniert, daß es an sowas iegen könnte, ist mir im Traum nicht eingefallen. Wie auch immer, es funktioniert jetzt alles. Im Webserver sind die GLobals-Einstellungen natürlich wie zu erwarten war, auf off. Vielen Dank nochmal an alle. Verdammt, das muß jetzt mal gesagt werden: Ich kenne kein anderes Forum, wo einem so schnell geholfen wird, ehrlich! Hier dürfte sich so zirka alles rumtreiben, was IT-mäßig auch nur irgendwas auf dem Kasten hat. Weiter so!
|
grOOvekill@
LegendVienna Badass
|
Okay, hier mal ein kleines Update: Bei Formularen funzt das ganze ja schön. Nur hab ich jetzt das Problem, daß beispielsweise ein ID eines Datensatzes mittels url übergeben wird. Okay, hab ich den Befehl halt auf $variable = $_GET['variable']; umgeändert. Nun bekomme ich aber eigentlich bei jeder if Schleife die ich beginne (if $submit, if $update, id $delete) folgende Notices:
Notice: Undefined index: id in /home/wwwroot/www/_BACKEND/kunden/test/titel.php on line 11 Notice: Undefined index: submit in /home/wwwroot/www/_BACKEND/kunden/test/titel.php on line 12 Notice: Undefined index: delete in /home/wwwroot/www/_BACKEND/kunden/test/titel.php on line 13 Notice: Undefined index: update in /home/wwwroot/www/_BACKEND/kunden/test/titel.php on line 14
Jetzt steh' ich wieder schön blöd da, da die ID von Datensätzen die ich anklicke offensichtlich nicht übergeben wird.
Vorschläge?
|