• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Code funktioniert auf localhost, nicht auf Webserver

Hesoyam

Neues Mitglied
Hallo,

auf meiner Seite habe ich derzeit einen JavaScript-Newsticker.
Die Daten für den Newsticker werden aus einer Datenbank ausgelesen.

In meinem ACP kann ich die Anzeigetexte verändern, bzw erweitern.

Leider funktioniert das aber nur teilweise.
Ich habe das Script auf meinem localhost getestet und da funktioniert es tadellos und nach dem upload auf den Webserver funktioniert es nur halbwegs.

Es soll wie folgt funktionieren:
Wenn das Feld ID leer ist, sollen alle Daten als neuen Datensatz angelegt werden, wenn nicht, soll der Datensatz ge-updated werden.

Insert: Funktioniert
Update: funktioniert nicht

Hier der Code:
PHP:
<?php
    include('../inc/title.php');
    $thisPage = "Newsticker";
    include('../inc/auth.php');

    include('../inc/mysql2.php');
    $id = $_GET['id'];
    $aktion = $_GET['aktion'];
    
    $status = $_POST['status'];
    $meldung = $_POST['meldung'];
    
    switch ($aktion) {
        case 'Delete':
            $query = "DELETE FROM newsticker WHERE id = '$id'";
            $dummy = mysql_query($query);
            unset($id, $meldung, $starteffekt, $endeffekt, $senden);
        break;
        case 'Edit':
            $query = "SELECT * FROM newsticker WHERE id = '$id'";
            $sql = mysql_query($query);
            $ds = mysql_fetch_object($sql);
            $id = $ds->id;
            $meldung = $ds->meldung;
            $starteffekt = $ds->starteffekt;
            $endeffekt = $ds->endeffekt;
            $senden = $ds->senden;
        break;
        default:
    }
    
    switch($status) {
        case 'Eintragen':    
            $id = $_POST['id'];
            $meldung = trim($_POST['meldung']);
            $starteffekt = $_POST['starteffekt'];
            $endeffekt = $_POST['endeffekt'];
            $senden = $_POST['senden'];
            if (!empty($id)) {
                $query = "UPDATE newsticker SET "
                        ."meldung = '$meldung', starteffekt = '$starteffekt', endeffekt = '$endeffekt', senden = '$senden'"
                        ."WHERE id2 = '$id'";
                $dummy = mysql_query($query);
                unset($id, $meldung, $starteffekt, $endeffekt, $senden);
            } elseif (!empty($meldung)) {
                    $query = "INSERT INTO newsticker "
                            ."(meldung, starteffekt, endeffekt, senden)"
                            ."VALUES ('$meldung','$starteffekt','$endeffekt','$senden')";
                    $dummy = mysql_query($query);
                    unset($id, $meldung, $starteffekt, $endeffekt, $senden);
            }
        break;
        case 'Vorschau':
            $id = $_POST['id'];
            $meldung = trim($_POST['meldung']);
            $starteffekt = $_POST['starteffekt'];
            $endeffekt = $_POST['endeffekt'];
            $senden = $_POST['senden'];
        break;
        default:
    }
?>

Was mich halt stört ist,
dass ich dieses Script, nur mit anderen Variablen, auch nutze um meine Startseite zu verändern, und da funktioniert es tadellos ....

Hoffe man kann mir möglichst Heute noch helfen ...

Grüsse
Daniel
 
Dein Code ist unvollständig und keiner weiß, wie die Seite aufgerufen wird. Außerdem kann man den Code nicht so einfach mal eben testen.

Du musst lernen, Deinen Code zu debuggen. Lass Dir an sinnvollen Stellen Variableninhalte ausgeben, wenn keine Fehlermeldungen kommen. Überprüfe, ob das Script nach jeder Zeile auch noch das macht, was es soll, bzw. was Du erwartest. Lass Dir bei mysql_query() Fehlermeldungen ausgeben:
Code:
mysql_query("select haste nicht gesehen") or die("Fehler: ".mysql_error());
Lass Dir vorher Dein $query ausgeben, ob das Statement richtig aufgebaut wird. Kopiere das Statement in Deine DB-Oberfläche (z.B. phpMyAdmin) und führe es dort manuell aus. Macht es den selben Fehler oder funktioniert es hier?
 
das habe ich alles schon gemacht!
ich bin ja net von gestern, debuggen habe ich bis jetzt schon gelernt ...

Es funktioniert ja ... aber eben nicht auf diesem server ....

und wenn du mir nicht helfen willst, ja, dann brauchste ja nicht antworten, weil mittlerweile bekomme ich von manchen usern immer dieselbe antwort ... langsam kommts mir so vor, als würdet ihr mich für retardiert halten ....
 
das habe ich alles schon gemacht!
ich bin ja net von gestern, debuggen habe ich bis jetzt schon gelernt
Na ist ja schön. Damit hast Du dann einen Haufen mehr Informationen als alle anderen hier. Und trotzdem müssen wir mit dem weniger, was wir haben, auskommen.

Es funktioniert ja ... aber eben nicht auf diesem server
Dann überprüfe die Servereinstellungen.

und wenn du mir nicht helfen willst, ja, dann brauchste ja nicht antworten
Richtig.

weil mittlerweile bekomme ich von manchen usern immer dieselbe antwort
Das würde ich mir durch den Kopf gehen lassen...
 
wie Efchen schon schrieb:
mach mal ordentliches Debug!
Auch Fehlerbehandlung gehört zum Coden! 60-70% von gutem Code sind Fehlerbehandlungen! Lass dir das mal bei deinem Code durch den Kopf gehen ;) da sehe ich vielleciht 1-2% (weis ja net wie der rest aussieht).

Wenn das selbe Script auf einer anderen Seite funktioniert, dann würde ich mal die Rechte überprüfen! Kann ja sein das da was klemmt!

Wenn Update nicht funktioniert, würde ich mal die Variablen richtig überprüfen, ob da überhaupt immer was drinsteht oder nich ;) halt fehlerbehandlung!

Viel erfolg!:razz:
 
Zurück
Oben