Registrieren  •  Login 
  
 
im Forum


 FAQ   Mitgliederliste   Benutzergruppen   Teamseite   Suchen 

Änderungen werden nicht übernommen
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
thoha
Übersetzer
Übersetzer



Anmeldedatum: 07.10.2006
Geschlecht: Männlich
Beiträge: 2591

BeitragVerfasst am: 30.09.2008, 21:32    Titel: Änderungen werden nicht übernommen

Hallo zusammen

ich hab echt Probleme...

Folgender Code:
PHP-Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php $sql_update "UPDATE hausaufgaben SET `aufgaben` = '".$_POST['aufgaben']."' WHERE `date` = '".$date_edit."'";
if(isset(
$_POST['Submit']))
{
    if(
mysql_query($sql_update)) 
    { 
    echo 
'<font color="green"><b>Datensatz erfolgreich bearbeitet</b></font><br><br>'
    } 
    else 
    { 
    echo 
'<font color="red">Fehler beim Bearbeiten des Datensatzes.</b></font><br>'.mysql_error().'<br><br>'
    }
}
else
{
echo 
"Kein Datensatz gewählt<br><br>";
?>


Jetzt mal ohne auf Optimierungsmöglichkeiten/Sicherheit zu achten: wieso übernimmt diese SQL-Anweisung meine Änderungen im Formular nicht?
Die Variabel-Namen stimmen überein!
Ich bekomme jedes Mal die Meldung, dass der Datensatz bearbeitet wurde, obwohl überhaupt nichts geschah!

Dieser Beitrag wurde insgesamt 1 mal geändert. Zuletzt von thoha.
Nach oben
Benutzer-Profile anzeigen thoha ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden
killerbees19
Administrator & Rennleitung
Administrator & Rennleitung



OC-Nickname: KB19
Südafrika Team South Africa

Anmeldedatum: 09.05.2006
Geschlecht: Männlich
Alter: 29 Jahre
Beiträge: 13740
Wohnort: Wien

BeitragVerfasst am: 30.09.2008, 23:15    Titel:

Den Datensatz mit diesem WHERE Vergleich gibt es vermutlich nicht.. Verwende einmal mysql_affected_rows() zur Kontrolle. Lass' dir einmal den ganzen SQL Query ausgeben und teste damit in phpMyAdmin herum.

Und Sorry, aber das muss sein, sonst werden andere Benutzer nur verwirrt:: $_POST Daten bitte immer mit z.B. mysql_real_escape_string() maskieren (außer Magic Quotes sind On) Wink


MfG Christian
_________________
SC:Banner
Nach oben
Benutzer-Profile anzeigen killerbees19 ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden Website dieses Benutzers besuchen
thoha
Übersetzer
Übersetzer



Anmeldedatum: 07.10.2006
Geschlecht: Männlich
Beiträge: 2591

BeitragVerfasst am: 01.10.2008, 19:16    Titel:

ok... als mysql_affected_rows() gibt Null aus.
Ich habe mir auch mal die Variabel date_edit ausgeben lassen und da einen Fehler entdeckt. Den Fehler habe ich behobe, trotzdem wird der Datensatz weiterhin nicht bearbeitet!

Ich habe mal den gesamten Code in den Pastebin geschmissen. Es ist das Kalenderscript von Pakl, welches ich ein bisschen geändert habe.
https://www.happytec.at/pastebin/view.php?secure=1e926a4b57a7417809c0d5bbe1e98475
Nach oben
Benutzer-Profile anzeigen thoha ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden
killerbees19
Administrator & Rennleitung
Administrator & Rennleitung



OC-Nickname: KB19
Südafrika Team South Africa

Anmeldedatum: 09.05.2006
Geschlecht: Männlich
Alter: 29 Jahre
Beiträge: 13740
Wohnort: Wien

BeitragVerfasst am: 01.10.2008, 20:14    Titel:

Code:
$date_edit = $_GET['data'];

Schön, nur wo wird beim Absenden des Formulars ein GET Parameter namens "data" gesetzt? Ich sehe jedenfalls keinen. Denn $_SERVER['PHP_SELF'] enthält keinen Query String, also auch keine GET Parameter. In deinem Action Attribut des Formulars ist also eine falsche Url:
Code:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="editform" id="editform">

Und da du ja keine weiteren Sicherheits- und Optimierungsvorschläge willst, halte ich jetzt meine Klappe, hoffe dir hilft meine Lösung weiter Wink


MfG Christian
_________________
SC:Banner

Dieser Beitrag wurde insgesamt 1 mal geändert. Zuletzt von killerbees19.
Nach oben
Benutzer-Profile anzeigen killerbees19 ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden Website dieses Benutzers besuchen
thoha
Übersetzer
Übersetzer



Anmeldedatum: 07.10.2006
Geschlecht: Männlich
Beiträge: 2591

BeitragVerfasst am: 01.10.2008, 20:23    Titel:

Moment, Verständnisproblem: wieso muss beim Absenden des Formulars der Parameter "data" gesetzt werden? Den brauche ich nur, um die Daten aus der DB zu ziehen!

Was muss dann in der action stehen?
Das Komische ist eben, dass ich schon andere Dinge so gelöst habe und dort funkts...
Nach oben
Benutzer-Profile anzeigen thoha ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden
killerbees19
Administrator & Rennleitung
Administrator & Rennleitung



OC-Nickname: KB19
Südafrika Team South Africa

Anmeldedatum: 09.05.2006
Geschlecht: Männlich
Alter: 29 Jahre
Beiträge: 13740
Wohnort: Wien

BeitragVerfasst am: 01.10.2008, 20:34    Titel:

Du klickst den Link zum Bearbeiten an, dabei ist data gesetzt und die bestehenden Daten werden ausgelesen. Du sendest das Formular mit den neuen Daten ab aber ohne data Parameter. Ja, nur wie soll dein Script jetzt wissen, welchen Datensatz du bearbeiten willst? Schön, du übergibst alle neuen Daten wie den Text (o. was auch immer) aber ohne eine ID. Na, machts klick? 0114

Da kannst du 100.000.000.000.000.000.000 mal vorher die Daten aus der DB auslesen, nützt dir nichts, wenn die Identifikation des Datensatzes fehlt. Hier auf Happytec z.B. hast du beim Bearbeiten von Beitragen doch auch einen Parameter, den p Parameter. Dieser ist beim Absenden dann halt nicht GET sondern POST, aber er existiert und wird so verarbeitet im Script.


MfG Christian
_________________
SC:Banner

Dieser Beitrag wurde insgesamt 2 mal geändert. Zuletzt von killerbees19.
Nach oben
Benutzer-Profile anzeigen killerbees19 ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden Website dieses Benutzers besuchen
thoha
Übersetzer
Übersetzer



Anmeldedatum: 07.10.2006
Geschlecht: Männlich
Beiträge: 2591

BeitragVerfasst am: 01.10.2008, 20:37    Titel:

ja, das macht Sinn.... aber ich komm immer noch nicht auf die Idee, was ich denn in der Formular-Action schreiben muss...

Kannst du mal den Code von action posten? vielleicht kann ichs dann eher nachvollziehen.
Nach oben
Benutzer-Profile anzeigen thoha ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden
killerbees19
Administrator & Rennleitung
Administrator & Rennleitung



OC-Nickname: KB19
Südafrika Team South Africa

Anmeldedatum: 09.05.2006
Geschlecht: Männlich
Alter: 29 Jahre
Beiträge: 13740
Wohnort: Wien

BeitragVerfasst am: 01.10.2008, 20:40    Titel:

Sagte ich doch bereits: Du musst den GET Parameter setzen, genauso wie bei einem Link. Also einfach hinzufügen. Ich werde jetzt sicher nicht alles vorkauen, sry Wink


MfG Christian
_________________
SC:Banner
Nach oben
Benutzer-Profile anzeigen killerbees19 ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden Website dieses Benutzers besuchen
NoMoKeTo
Ehemaliger
Ehemaliger



Anmeldedatum: 13.07.2006
Geschlecht: Männlich
Beiträge: 1019
Wohnort: NRW

BeitragVerfasst am: 01.10.2008, 20:50    Titel:

Mensch, wo is das Problem?
Code:
<form action="bla.php?name=value&name=value&name=value...">


NoMoKeTo
_________________
Ich spreche Esperanto und lerne auf diesem Weg tolle Leute kennen - weltweit!
Nach oben
Benutzer-Profile anzeigen NoMoKeTo ist derzeit offline Private Nachricht senden Website dieses Benutzers besuchen
thoha
Übersetzer
Übersetzer



Anmeldedatum: 07.10.2006
Geschlecht: Männlich
Beiträge: 2591

BeitragVerfasst am: 01.10.2008, 21:33    Titel:

Also zB so?

PHP-Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<form action="monat.php?do=update" method="post" name="editform" id="editform">
    <table width="100%" border="0">
  <tr>
    <td width="16%" valign="top">Mit Hilfe der Forma-tierungshilfen die Hausaufgaben eintragen. </td>
    <td width="55%"><label>
      <textarea name="aufgaben" cols="90" rows="30" id="aufgaben"><?php echo $u_edit['aufgaben']; echo $date_edit?></textarea>
    </label></td>
    <td width="29%" valign="top"><b>Tags</b>
    <br /><br />
    <input type="button" value="Hausaufgabe hinzufügen" onClick="insert('[add_homework]')"><br />
    <input type="button" value="Prüfung hinzufügen" onClick="insert('[add_exam]', '[/add_exam]')"><br />
    
    <input type="button" value="Fett" onClick="insert('[b]', '[/b]')"><br />
    <input type="button" value="Kursiv" onClick="insert('[i]', '[/i]')">
    
    </td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td><label>
      <input type="submit" name="Submit" value="Senden" />
    </label></td>
  </tr>
</table>
    
    </form>
    <?php
    
}
    
//$aufgaben_update = $_POST['aufgaben'];
    //Update SQL
if($_GET['do'] == "update") {
$sql_update "UPDATE hausaufgaben SET `aufgaben` = '".$_POST['aufgaben']."' WHERE `date` = '".$date_edit."'";
if(isset(
$_POST['Submit']))
{
    if(
mysql_query($sql_update)) 
    { 
    echo 
'<font color="green"><b>Datensatz erfolgreich bearbeitet</b></font><br><br>'
    echo 
mysql_affected_rows();
    } 
    else 
    { 
    echo 
'<font color="red">Fehler beim Bearbeiten des Datensatzes.</b></font><br>'.mysql_error().'<br><br>'
    }
}
else
{
echo 
"Kein Datensatz gewählt<br><br>";

}
?>


Leider geht das nicht, es werden immer noch null Zeilen bearbeitet.
Nach oben
Benutzer-Profile anzeigen thoha ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden
NoMoKeTo
Ehemaliger
Ehemaliger



Anmeldedatum: 13.07.2006
Geschlecht: Männlich
Beiträge: 1019
Wohnort: NRW

BeitragVerfasst am: 02.10.2008, 09:23    Titel:

Kannst du jetzt bitte den aktuellen Code nochmal in den Pastebin stellen oder den alten editieren, damit ich weiss, wie es momentan aussieht?

NoMoKeTo
_________________
Ich spreche Esperanto und lerne auf diesem Weg tolle Leute kennen - weltweit!
Nach oben
Benutzer-Profile anzeigen NoMoKeTo ist derzeit offline Private Nachricht senden Website dieses Benutzers besuchen
thoha
Übersetzer
Übersetzer



Anmeldedatum: 07.10.2006
Geschlecht: Männlich
Beiträge: 2591

BeitragVerfasst am: 02.10.2008, 13:58    Titel:

https://www.happytec.at/pastebin/view.php?secure=788081b7c970befe8be2e6c2cd1e8c13
Nach oben
Benutzer-Profile anzeigen thoha ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden
killerbees19
Administrator & Rennleitung
Administrator & Rennleitung



OC-Nickname: KB19
Südafrika Team South Africa

Anmeldedatum: 09.05.2006
Geschlecht: Männlich
Alter: 29 Jahre
Beiträge: 13740
Wohnort: Wien

BeitragVerfasst am: 02.10.2008, 20:32    Titel:

Bitte was ist daran so schwer zu verstehen thoha? Du brauchst den GET Parameter data, du musst ihn also im Form Tag angeben:
Code:
<form action="monat.php?do=update&amp;data=<?php echo htmlspecialchars($date_edit); ?>" method="post" name="editform" id="editform">



MfG Christian
_________________
SC:Banner

Dieser Beitrag wurde insgesamt 2 mal geändert. Zuletzt von killerbees19.
Nach oben
Benutzer-Profile anzeigen killerbees19 ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden Website dieses Benutzers besuchen
thoha
Übersetzer
Übersetzer



Anmeldedatum: 07.10.2006
Geschlecht: Männlich
Beiträge: 2591

BeitragVerfasst am: 03.10.2008, 16:34    Titel:

ok... wäre nie auf die Idee gekommen.

Was bewirkt denn dieser Strichpunkt genau?

Code:
&amp;data
Nach oben
Benutzer-Profile anzeigen thoha ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden
killerbees19
Administrator & Rennleitung
Administrator & Rennleitung



OC-Nickname: KB19
Südafrika Team South Africa

Anmeldedatum: 09.05.2006
Geschlecht: Männlich
Alter: 29 Jahre
Beiträge: 13740
Wohnort: Wien

BeitragVerfasst am: 03.10.2008, 18:55    Titel:

&amp; ist die HTML Entitität des & Zeichens.


MfG Christian
_________________
SC:Banner
Nach oben
Benutzer-Profile anzeigen killerbees19 ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht teilnehmen.
Du kannst Dateien in diesem Forum nicht hochladen.
Du kannst Dateien in diesem Forum nicht herunterladen.

 

Alle Zeiten sind GMT + 1 Stunde
Aktuelles Datum und Uhrzeit: 23.02.2020, 08:29
Nach oben
Valid HTML 4.01 Transitional
Valid CSS!
Software based on work from the phpBB-Group  •  Deutsche Übersetzung von phpBB.de

netcup - Internetdienstleistungen
 
 
[ happytec.at | forum.happytec.at | blog.happytec.at | esports.happytec.at | event.happytec.at ]