getreidemuehlen
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 17.01.2005, 20:07   #1
TP-Senior
 
Benutzerbild von nels0n
 
Registriert seit: Dec 2004
Ort: Braunschweig
nels0n macht alles soweit korrekt

VERZWEIFELT!! Daten aus einer Tabelle bearbeiten


Ich habe 2 Stunden den Fehler in diesem Script gesucht !

PHP-Code:
<div align="center">
<?php
    
//DATENBANK VERBINDUNG HERSTELLEN    
    
include("db_login.php");
    
//MENÜ EINFÜGEN
    
include("menue.html");
    
//DATENBANK AUSWÄHLEN
    
@mysql_select_db(nelson)
        or die( 
mysql_error() );
        
    echo(
"<font face=\"Verdana\" size=\"3\"> <p>Hier kannst Du neue News posten</font>");
  
?>
<!-- News_post Formular-->
<title>News bearbeiten</title>
<form name="n_hinzu" method="post" action="<?=$PHP_SELF?>">
  <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Geben Sie hier 
    den Titel der News ein:</font><br/>
    <font size="2"> <font face="Verdana, Arial, Helvetica, sans-serif">
      <input type="text" name="newstitel" size="40" value="<?php echo $n_header?>">
      <?php $n_header ?>
    </font></font></p>
  <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Geben Sie hier 
    die News ein:</font><br/>
      <textarea name="newstext" rows="10" type="text" cols="50"><?php echo $n_text?></textarea>
  </p>
  <p> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">Autor:</font><br/>
      <input type="text" name="newsautor" size="30" value="<?php echo $n_autor?>">
  </p>
  <p>
    <input type="submit" name="submit_news" value="Abschicken">
  </p>
</form>

<?php


    
if($submit_news == "Abschicken") {
        
$sql "UPDATE news SET NewsHeader=$newstitel,NewsText=$newstext,NewsDate=CURDATE(),NewsAutor=$newsautor WHERE ID=$n_id";
        

//RÜCKGABE: ERFOLG ODER NICHT
        
if(@mysql_query($sql)) {
            echo(
"<font face=\"Verdana\" size=\"3\"> <p>Die News wurden geändert!</p> </font>");
            }else {
            echo(
"<font size=\"3\" face=\"Verdana\" color=\"FF0000\"><p>Fehler beim speichern:".mysql_error().".</p></font>");
             }
        }
?>
</div>
Das Script soll eigentlich eine Tabelle ersetzen
PHP-Code:
Update -- From 
Tut es aber leider nicht. Er gibt diesen Fehler:
Fehler beim speichern:You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'bal,NewsText=12,NewsDate=CURDATE(),NewsAutor=bla bla WHERE ID='.

Bitte helft mir !
__________________
<A programmer is just a tool which converts coffeine into code>
anonym
nels0n ist offline   Mit Zitat antworten


Alt 17.01.2005, 20:12   #2
TP-Specialist
 
Benutzerbild von Dennis The Menace
 
Registriert seit: Nov 2004
Ort: Ich komme aus dem Zauberwald
Dennis The Menace bringt sich richtig einDennis The Menace bringt sich richtig ein
PHP-Code:
//Naja, erlösen wir dich mal von deiner Qual
$sql "UPDATE news SET NewsHeader = '".$newstitel."', NewsText = '".$newstext."', NewsDate = CURDATE() , NewsAutor = '".$newsautor."' WHERE ID = ".$n_id
In der Annahme, dass $n_id existiert!

Anmerkung: Wenn du in einer Datenbank Text (Strings) speichern möchtest, musst du jene immer in Single Quotes schreiben 'neuer String' und nicht neuer String
__________________
Zwei Dinge sind Unbestreitbar:
  • In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.
  • Die Erde ist eine Scheibe!
Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!
Dennis The Menace ist offline   Mit Zitat antworten
Alt 17.01.2005, 20:25   #3
TP-Senior
 
Benutzerbild von nels0n
 
Registriert seit: Dec 2004
Ort: Braunschweig
nels0n macht alles soweit korrekt
Funktioniert leider immer noch nicht

Fehler:
Fehler beim speichern:You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1.


Alle Variablen exestieren !
Hab auch alles nochmal durchgetestet.
__________________
<A programmer is just a tool which converts coffeine into code>
anonym
nels0n ist offline   Mit Zitat antworten
Alt 17.01.2005, 20:46   #4
TP-Specialist
 
Benutzerbild von Dennis The Menace
 
Registriert seit: Nov 2004
Ort: Ich komme aus dem Zauberwald
Dennis The Menace bringt sich richtig einDennis The Menace bringt sich richtig ein
PHP-Code:
//Du wirst doch als ID nicht etwa auch ein Textfeld genommen haben, oder?
$sql "UPDATE news SET NewsHeader = '".$newstitel."', NewsText = '".$newstext."', NewsDate = CURDATE(), NewsAutor = '".$newsautor."' WHERE ID = '".$n_id."'"
Notfalls, gib mal die Struktur der Tabelle!
__________________
Zwei Dinge sind Unbestreitbar:
  • In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.
  • Die Erde ist eine Scheibe!
Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!
Dennis The Menace ist offline   Mit Zitat antworten
Alt 17.01.2005, 20:53   #5
TP-Supporter
 
Registriert seit: Apr 2001
Judi macht alles soweit korrekt
Hi

ich bin ja jetzt kein Profi aber pack doch mal den Wert von n_id in ein hiddenfeld und schick dies mit ab. Ich glaube nämlich nicht, dass der Wert korrekt übergeben wird.
__________________
Liebe Grüße, die Judi!
Judi ist offline   Mit Zitat antworten
Alt 17.01.2005, 21:32   #6
TP-Senior
 
Benutzerbild von nels0n
 
Registriert seit: Dec 2004
Ort: Braunschweig
nels0n macht alles soweit korrekt
doch wird er habe ich mit echo getestet.

Die Tabelle

ID AUTO_INCREMENT
NewsText
NewsAutor
NewsDate
NewsHeader

geht immer noch nich aber jetzt bringt er keine Fehlermeldung mehr
__________________
<A programmer is just a tool which converts coffeine into code>
anonym

Geändert von nels0n (17.01.2005 um 21:49 Uhr).
nels0n ist offline   Mit Zitat antworten
Alt 17.01.2005, 21:51   #7
TP-Specialist
 
Benutzerbild von Dennis The Menace
 
Registriert seit: Nov 2004
Ort: Ich komme aus dem Zauberwald
Dennis The Menace bringt sich richtig einDennis The Menace bringt sich richtig ein
PHP-Code:
$sql "UPDATE news SET NewsHeader = '".$newstitel."', NewsText = '".$newstext."', NewsDate = CURDATE(), NewsAutor = '".$newsautor."' WHERE ID = ".$n_id;

echo 
$sql
Sende uns mal die Ausgabe bitte!
__________________
Zwei Dinge sind Unbestreitbar:
  • In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.
  • Die Erde ist eine Scheibe!
Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!
Dennis The Menace ist offline   Mit Zitat antworten
Alt 17.01.2005, 22:05   #8
TP-Senior
 
Benutzerbild von nels0n
 
Registriert seit: Dec 2004
Ort: Braunschweig
nels0n macht alles soweit korrekt
UPDATE news SET NewsHeader = '', NewsText = '', NewsDate = CURDATE(), NewsAutor = '' WHERE ID =
__________________
<A programmer is just a tool which converts coffeine into code>
anonym
nels0n ist offline   Mit Zitat antworten
Alt 17.01.2005, 22:07   #9
TP-Specialist
 
Benutzerbild von Dennis The Menace
 
Registriert seit: Nov 2004
Ort: Ich komme aus dem Zauberwald
Dennis The Menace bringt sich richtig einDennis The Menace bringt sich richtig ein
Naja, ist doch selbsterklärend, oder?
Keine der Variablen Funktioniert an dieser Stelle. Den Fehler produziert aber die fehlende $n_id!

Leider ist in deinem Code nicht ersichtlich, wo $n_id überhaupt herkommt, sonst hätt ich den Fehler kurz behoben!
__________________
Zwei Dinge sind Unbestreitbar:
  • In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.
  • Die Erde ist eine Scheibe!
Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!

Geändert von Dennis The Menace (17.01.2005 um 22:10 Uhr).
Dennis The Menace ist offline   Mit Zitat antworten
Alt 17.01.2005, 22:11   #10
TP-Senior
 
Benutzerbild von nels0n
 
Registriert seit: Dec 2004
Ort: Braunschweig
nels0n macht alles soweit korrekt
Aber wenn ich die $n_id mit echo ausgebe gibt er sie richtig aus.
__________________
<A programmer is just a tool which converts coffeine into code>
anonym
nels0n ist offline   Mit Zitat antworten
Alt 17.01.2005, 22:16   #11
TP-Specialist
 
Benutzerbild von Dennis The Menace
 
Registriert seit: Nov 2004
Ort: Ich komme aus dem Zauberwald
Dennis The Menace bringt sich richtig einDennis The Menace bringt sich richtig ein
[doppelpost]
__________________
Zwei Dinge sind Unbestreitbar:
  • In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.
  • Die Erde ist eine Scheibe!
Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!

Geändert von Dennis The Menace (18.01.2005 um 01:41 Uhr).
Dennis The Menace ist offline   Mit Zitat antworten
Alt 17.01.2005, 22:19   #12
TP-Specialist
 
Benutzerbild von Dennis The Menace
 
Registriert seit: Nov 2004
Ort: Ich komme aus dem Zauberwald
Dennis The Menace bringt sich richtig einDennis The Menace bringt sich richtig ein
Das geht nicht - dann wäre sie ja im SQL Query drin
Vielleicht gibt er sie an irgend einer anderen Stelle im Code aus - wenn du aber versuchst, die in der dortigen if Klammer beim $sql versuchst, mit echo auszugeben, wirst du sehen, dass dem nicht so ist!

Poste am besten mal den Kompletten Code, dann kann ich dir relativ schnell zweigen, wo der Fehler liegt. Generell sendest du n_id schon mal nicht im Formular mit ...
__________________
Zwei Dinge sind Unbestreitbar:
  • In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.
  • Die Erde ist eine Scheibe!
Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!
Dennis The Menace ist offline   Mit Zitat antworten
Alt 17.01.2005, 22:20   #13
TP-Senior
 
Benutzerbild von nels0n
 
Registriert seit: Dec 2004
Ort: Braunschweig
nels0n macht alles soweit korrekt
ok kapiert aber wie geht das dann ??
Das muss doch irgendwie gehen oder ??

Der code wo die zu bearbeitenden news ausgewählt wird
PHP-Code:
<title>News bearbeiten</title>
<div align="center">
<?php
//VERBINDEN MIT DATENBANK
    
include("db_login.php");

//EINBINDEN DES MENÜS
    
include("menue.html");
    
//AUSWÄHLEN EINER DATENBANK
    
@mysql_select_db("nelson")
        or die( 
mysql_error() );
        
//AUSLESEN ALLER NEWS    
    
$show_news mysql_query("SELECT ID,NewsAutor,NewsText,NewsHeader,NewsDate FROM news")
            or die ( 
mysql_error() );
    
//SPEICHERN DER DATEN IN VARIABLEN
    
while($row=mysql_fetch_array($show_news))  {
    
        
$n_autor=$row["NewsAutor"];
        
$n_text=$row["NewsText"];
        
$n_header=$row["NewsHeader"];
        
$n_date=$row["NewsDate"];
        
$n_id=$row["ID"];
        
//AUSGABE DER DATEN IN EINER TABELLE
            
echo("<p><font face=\"Verdana\" size=\"2\"><table border=\"1\" cellspacing=\"0\" align=\"center\" width=\"70%\">
                    <tr>
                        <td width=\"20\">
                            Datum: "
.$n_date.
                        
"</td>
                        <td>
                            "
.$n_header.
                        
"</td>
                        <td rowspan=\"3\" width=\"10\">
                            <a href='ad_edit.php?n_header=$n_header&n_text=$n_text&n_autor=$n_autor&n_id=$n_id'>Bearbeiten</a>
                        </td>
                    </tr>
                    <tr>
                        <td colspan=\"2\">
                            "
.$n_text."
                        </td>
                    </tr>
                    <tr>
                        <td colspan=\"2\">
                            "
.$n_autor."
                        </td>
                    </tr>
                </table></font></p>
            "
);
    }
?>
</div>

Code wo die von der ad_bearbeiten.php eingefügt wird, verändert werden kann und dann geuptdatet werden soll.
PHP-Code:
<div align="center">
<?php
    
//DATENBANK VERBINDUNG HERSTELLEN    
    
include("db_login.php");
    
//MENÜ EINFÜGEN
    
include("menue.html");
    
//DATENBANK AUSWÄHLEN
    
@mysql_select_db(nelson)
        or die( 
mysql_error() );
        
    echo(
"<font face=\"Verdana\" size=\"3\"> <p>Hier kannst Du neue News posten</font>");
  
?>
<!-- News_post Formular-->
<title>News bearbeiten</title>
<form name="n_hinzu" method="post" action="<?=$PHP_SELF?>">
  <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Geben Sie hier 
    den Titel der News ein:</font><br/>
    <font size="2"> <font face="Verdana, Arial, Helvetica, sans-serif">
      <input type="text" name="newstitel" size="40" value="<?php echo $n_header?>">
      <?php $n_header ?>
    </font></font></p>
  <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Geben Sie hier 
    die News ein:</font><br/>
      <textarea name="newstext" rows="10" type="text" cols="50"><?php echo $n_text?></textarea>
  </p>
  <p> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">Autor:</font><br/>
      <input type="text" name="newsautor" size="30" value="<?php echo $n_autor?>">
  </p>
  <p>
    <input type="submit" name="submit_news" value="Abschicken">
  </p>
</form>

<?php


    
if($submit_news == "Abschicken") {
        
//$sql = "UPDATE news SET NewsHeader=$newstitel,NewsText=$newstext,NewsDate=CURDATE(),NewsAutor=$newsautor WHERE ID=$n_id";
        //$sql = "UPDATE news SET NewsHeader = '".$newstitel."', NewsText = '".$newstext."', NewsDate = CURDATE() , NewsAutor = '".$newsautor."' WHERE ID = ".$n_id; 
        
$sql "UPDATE news SET NewsHeader = '".$newstitel."', NewsText = '".$newstext."', NewsDate = CURDATE(), NewsAutor = '".$newsautor."' WHERE ID = '".$n_id."'"




//RÜCKGABE: ERFOLG ODER NICHT
        
if(@mysql_query($sql)) {
            echo(
"<font face=\"Verdana\" size=\"3\"> <p>Die News wurden geändert!</p> </font>");
            }else {
            echo(
"<font size=\"3\" face=\"Verdana\" color=\"FF0000\"><p>Fehler beim speichern:".mysql_error().".</p></font>");
             }
        }
?>
</div>
__________________
<A programmer is just a tool which converts coffeine into code>
anonym

Geändert von nels0n (17.01.2005 um 22:26 Uhr).
nels0n ist offline   Mit Zitat antworten
Alt 17.01.2005, 22:23   #14
TP-Specialist
 
Benutzerbild von Dennis The Menace
 
Registriert seit: Nov 2004
Ort: Ich komme aus dem Zauberwald
Dennis The Menace bringt sich richtig einDennis The Menace bringt sich richtig ein
Du musst die n_id im Formular mit übergeben, wie hier schon genannt wurde, am besten per verstecktem Eingabefeld <input type="hidden" name="n_id" value="<?=$n_id?>" />

Und ganz zum Schluss bei $sql halt nicht $newstext schreiben, sondern $_POST["newstext"], bei $n_id dann $_POST["n_id"] usw. usw!
__________________
Zwei Dinge sind Unbestreitbar:
  • In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.
  • Die Erde ist eine Scheibe!
Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!
Dennis The Menace ist offline   Mit Zitat antworten
Alt 18.01.2005, 00:12   #15
TP-Supporter
 
Registriert seit: Apr 2001
Judi macht alles soweit korrekt
Zitat:
Zitat von nels0n
UPDATE news SET NewsHeader = '', NewsText = '', NewsDate = CURDATE(), NewsAutor = '' WHERE ID =
Huhu

Hier wird ja nix übergeben.

Ich z.B. bin in solchen Dingen immer hin- und hergerissen...

sind Register_globals jetzt on oder off.

Manchmal ist die Abfrage darauf einfach zu blöde. Bei mir sind sie off. Deswegen könnte solch ein Konstrukt wie hier gepostet auch nicht funzen bei mir.

Ich müsste erstmal alle Formularfelder in Variablen schreiben.

$NewsText = $_POST[NewsText];
__________________
Liebe Grüße, die Judi!
Judi ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
VERZWEIFELT!! Daten aus einer Tabelle bearbeiten VERZWEIFELT!! Daten aus einer Tabelle bearbeiten
« php / sql news script mit bild upload | Formularüberprüfung mit PHP oder JavaScript? »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten