Gegen Bilderklau - Das Original (https://www.gegen-bilderklau.net/index.php)
- Design, Website, Copyright (https://www.gegen-bilderklau.net/board.php?boardid=80)
--- Homepagehilfe (https://www.gegen-bilderklau.net/board.php?boardid=27)
---- Homepagehilfe - Archiv (https://www.gegen-bilderklau.net/board.php?boardid=139)
----- [PHP & MySQL] Update geht nicht (https://www.gegen-bilderklau.net/thread.php?threadid=167769)


Geschrieben von MissFreaky am 27.01.2010 um 17:07:

  Update geht nicht

Kann mir vielleicht jemand sagen warum bei diesem Update nichts in die DB eingetragen wird? Ich find den Fehler nicht >.<

php:
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:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:

<?php
session_start();
?> 

<html>
<head>

  <meta http-equiv="Content-Language" content="de">

  <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">

  <meta name="GENERATOR" content="Microsoft FrontPage 4.0">

  <meta name="ProgId" content="FrontPage.Editor.Document">
  <title>Neue Seite 1</title>


  <link rel="stylesheet" href="http://calvano.bplaced.de/lmain.css">

</head>


<body>

<p align="center" class="head">Futterpläne</p>
Du kannst jedem deiner Pferde einen eigenen Futterplan erstellen. Dieser hilft den Stallburschen und Pflegern auf Calvano zu wissen wie, wann
und womit dein Pferd gefüttert wird. Erstellst du keinen Futterplan wird das Standartfutter verwendet.
<br><br>
Wähle aus von welchem deiner Pferde du den Plan ändern möchtest.


<br>
<form action=futterplanerstellen.php method=post>
<select name=pname>

<?php
    include("db.php");
$Ergebnisone mysql_query("SELECT  name, status FROM mitglieder WHERE id = ".$_SESSION["login"]);
while($row mysql_fetch_object($Ergebnisone))
    {
    $besitzername $row->name;
    }
            

$Ergebnis mysql_query("SELECT * FROM pferd WHERE besitzer = '".$besitzername."'");

                if (mysql_num_rows($Ergebnis) == 0) {
                    echo 'Fehler.';
                                                            }

                else {
                        while($Data mysql_fetch_array($Ergebnis)) {
        
                     echo "
<option>$Data[name]</option>

";
    }
}

echo mysql_error();

?>

</select>
<input type=submit name=send value=Auswählen>
</form>
<br>

<?php
    include("db.php");

$pname=$HTTP_POST_VARS['pname'];

    if(isset($_SESSION["login"])) { // Wenn eingeloggt..
        include("functions.inc.php");
        refresh($_SESSION["login"]); // refresht
        if(isset($_REQUEST["submit"])) {
            $update mysql_query("UPDATE pferd Set Futterplan = '".strip_tags($_REQUEST["Futterplan"])."' WHERE name = '$pname'");
            



        }
        $abfrage "SELECT * FROM pferd WHERE name = '$pname'";
        $ergebnis mysql_query($abfrage);
        while($row mysql_fetch_object($ergebnis))
        { // Formular ->
    ?>
        

<form action=futterplanerstellen.php method=post enctype="multipart/form-data">
<textarea name="Futterplan" cols=47 rows=6>
<?= $row->Futterplan ?>
</textarea><br>
<input type="submit" value="Erstellen!" name="submit">
</form>


<br>
<br>
<br>

            Der Futterplan wird automatisch geändert. Einmal klicken genügt.
    <?php
        
        include("footer.php");


}
}

?>


Also damits verständlicher ist. Erst soll der User ein Pferd aus der SelectListe auswählen dann soll der Name übertragen werden und der entsprechende Futterplan angezeigt werden -> Klappt! Gibt man aber nun in der Textarea was neues ein und klickt auf Erststellen ist der Eintrag in der DB immernoch der gleiche .__.



Geschrieben von MissFreaky am 27.01.2010 um 17:48:

 

Habs jetzt genau so gemacht.

php:
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:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
<?php
session_start();
?> 

<html>
<head>

  <meta http-equiv="Content-Language" content="de">

  <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">

  <meta name="GENERATOR" content="Microsoft FrontPage 4.0">

  <meta name="ProgId" content="FrontPage.Editor.Document">
  <title>Neue Seite 1</title>


  <link rel="stylesheet" href="http://calvano.bplaced.de/lmain.css">

</head>


<body>

<p align="center" class="head">Futterpläne</p>
Du kannst jedem deiner Pferde einen eigenen Futterplan erstellen. Dieser hilft den Stallburschen und Pflegern auf Calvano zu wissen wie, wann
und womit dein Pferd gefüttert wird. Erstellst du keinen Futterplan wird das Standartfutter verwendet.
<br><br>
Wähle aus von welchem deiner Pferde du den Plan ändern möchtest.


<br>
<form action=futterplanerstellen.php method=post>
<select name=pname>

<?php
    include("db.php");
$Ergebnisone mysql_query("SELECT  name, status FROM mitglieder WHERE id = ".$_SESSION["login"]);
while($row mysql_fetch_object($Ergebnisone))
    {
    $besitzername $row->name;
    }
            

$Ergebnis mysql_query("SELECT * FROM pferd WHERE besitzer = '".$besitzername."'");

                if (mysql_num_rows($Ergebnis) == 0) {
                    echo 'Fehler.';
                                                            }

                else {
                        while($Data mysql_fetch_array($Ergebnis)) {
        
                     echo "
<option>$Data[name]</option>

";
    }
}

echo mysql_error();

?>

</select>
<input type=submit name=send value=Auswählen>
</form>
<br>

<?php
    include("db.php");


$pname=$_REQUEST['pname'];

    if(isset($_SESSION["login"])) { // Wenn eingeloggt..
        include("functions.inc.php");
        refresh($_SESSION["login"]); // refresht
        if(isset($_REQUEST["submit"])) {
            $update mysql_query("UPDATE pferd Set Futterplan = '".mysql_real_escape_string($_REQUEST["Futterplan"])."' WHERE name = '$pname'");
            



        }
        $abfrage "SELECT * FROM pferd WHERE name = '$pname'";
        $ergebnis mysql_query($abfrage);
        while($row mysql_fetch_object($ergebnis))
        { // Formular ->
                echo mysql_error();
    ?>
        

<form action=futterplanerstellen.php method=post enctype="multipart/form-data">
<textarea name="Futterplan" cols=47 rows=6>
<?= $row->Futterplan ?>
</textarea><br>
<input type="submit" value="Erstellen!" name="submit">
</form>


<br>
<br>
<br>

            Der Futterplan wird automatisch geändert. Einmal klicken genügt.
    <?php
        
        include("footer.php");


}
}
echo mysql_error();
?>


Geht aber leider immer noch nicht unglücklich
Kommt auch kein Fehler..



Geschrieben von MissFreaky am 27.01.2010 um 20:38:

 

Was genau meinst du mit Dummy-Werten?



Geschrieben von Herodius am 27.01.2010 um 20:43:

 

Mit Dummywerten meint sie wohl einfach mal so ein paar Testwerte, die nicht zwingend stimmen müssen. Nur, um das ganze mal zu testen.



Geschrieben von MissFreaky am 10.02.2010 um 14:01:

 

Suche immernoch Hilfe



Geschrieben von MissFreaky am 10.02.2010 um 14:34:

 

Da kam irgendein Fehler raus >.<
Allerdings hab ich jetzt den Code umgeschrieben und ich glaub ich kenn auch den Grund warum es nicht funzt.

Also so sieht der Code aus:

php:
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:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:

<?php
session_start();
?> 

<html>
<head>

  <meta http-equiv="Content-Language" content="de">

  <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">

  <meta name="GENERATOR" content="Microsoft FrontPage 4.0">

  <meta name="ProgId" content="FrontPage.Editor.Document">
  <title>Neue Seite 1</title>


  <link rel="stylesheet" href="http://calvano.bplaced.de/lmain.css">

</head>


<body>

<p align="center" class="head">Futterpläne</p>
Du kannst jedem deiner Pferde einen eigenen Futterplan erstellen. Dieser hilft den Stallburschen und Pflegern auf Calvano zu wissen wie, wann
und womit dein Pferd gefüttert wird. Erstellst du keinen Futterplan wird das Standartfutter verwendet.
<br><br>
Wähle aus von welchem deiner Pferde du den Plan ändern möchtest.


<br>
<?php
    include("db.php");
        include("functions.inc.php");
        refresh($_SESSION["login"]); // refresht

$Ergebnisone mysql_query("SELECT  name, status FROM mitglieder WHERE id = ".$_SESSION["login"]);
while($row mysql_fetch_object($Ergebnisone))
    {
    $besitzername $row->name;
    }
            

$Ergebnis mysql_query("SELECT * FROM pferd WHERE besitzer = '".$besitzername."'");

                if (mysql_num_rows($Ergebnis) == 0) {
                    echo 'Du hast noch keine eigenen Pferde. Schau doch mal auf den Pferdemarkt. 
Dort kannst du dir Pferde kaufen.';
                                                            }

                else {
                        while($Data mysql_fetch_array($Ergebnis)) {
        
                     echo "

<div align="center">
<table border="0" width="375">
  <tr>
    <td width="143" rowspan="2"><img border="0" src="http://calvano.bplaced.de/bilder/$Data[vorschaupic]" align="center"></td>
    <td width="218">
<form action=futterplanerstellen2.php method=post enctype="multipart/form-data">
<textarea name="Futterplan" cols=30 rows=8>
$Data[Futterplan]
</textarea><br>
</td>
  </tr>
  <tr>
    <td width="218">
<input type="submit" value="Erstellen!" name="submit">
</form>
</td>
  </tr>
</table>
</div>




<br>

";
    }
}

echo mysql_error();

?>

<?php

       
$Ergebnis = mysql_query("SELECT FROM pferd WHERE besitzer '".$besitzername."'");
        if(isset($_REQUEST["submit"])) {
            $update = mysql_query("UPDATE pferd Set Futterplan '".strip_tags($_REQUEST["Futterplan"])."' WHERE name '$Data[name]'");


        }
?>

<br>

            Der Futterplan wird automatisch geändert. Einmal klicken genügt.
    <?php
        
        include("footer.php");



echo mysql_error();

?>


Und so auf der Seite (zum besser vorstellen).


Ich denke der Fehler liegt auf jeden Fall hier ran:
php:
1:
$update mysql_query("UPDATE pferd Set Futterplan = '".strip_tags($_REQUEST["Futterplan"])."' WHERE name = '$Data[name]'");


Weil name = $Data[name] kann nicht erkannt werden. Gebe ich einen bestimmten Namen ein geht es sofort. Am Rest liegt es also nicht. Es wird also nicht erkannt WELCHER futterplan von WELCHEM Pferd geändert werden soll. Kann ich es in dieser Art wie es jetzt aufgebaut ist überhaupt so coden das der Name erkannt wird?



Geschrieben von MissFreaky am 10.02.2010 um 15:26:

 

Wert ist .. NULL !?
Hm, hätt ich mir schon denken können >.<



Geschrieben von MissFreaky am 10.02.2010 um 15:52:

 

Also, es werden mir genau die zwei Pferde angezeigt die ich besitze. So wie hier auf dem Screen -> klick

Und halt jeweils das was in den Futterplänen steht. Nur wenn ich was eingebe und auf erstellen klick ist alles wie vorher.

Wenn man kein Pferd besitzt, also kein Pferd unter "Besitzer" den eigenen Namen angegeben hat, wird halt

Du hast noch keine eigenen Pferde. Schau doch mal auf den Pferdemarkt.
Dort kannst du dir Pferde kaufen.

angezeigt.

Der Wert der var_dump wird mir als: NULL ausgegeben.



Geschrieben von MissFreaky am 10.02.2010 um 16:16:

 

Nee, direkt bevor das UPDATE kommt. Aber auch am Ende wär es Null..



Geschrieben von MissFreaky am 10.02.2010 um 16:36:

 

Alsoo, der Code.

php:
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:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:

<?php
session_start();
?> 

<html>
<head>

  <meta http-equiv="Content-Language" content="de">

  <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">

  <meta name="GENERATOR" content="Microsoft FrontPage 4.0">

  <meta name="ProgId" content="FrontPage.Editor.Document">
  <title>Neue Seite 1</title>


  <link rel="stylesheet" href="http://calvano.bplaced.de/lmain.css">

</head>


<body>

<p align="center" class="head">Futterpläne</p>
Du kannst jedem deiner Pferde einen eigenen Futterplan erstellen. Dieser hilft den Stallburschen und Pflegern auf Calvano zu wissen wie, wann
und womit dein Pferd gefüttert wird. Erstellst du keinen Futterplan wird das Standartfutter verwendet.
<br><br>
Wähle aus von welchem deiner Pferde du den Plan ändern möchtest.


<br>
<?php
    include("db.php");
        include("functions.inc.php");
        refresh($_SESSION["login"]); // refresht

$Ergebnisone mysql_query("SELECT  name, status FROM mitglieder WHERE id = ".$_SESSION["login"]);
while($row mysql_fetch_object($Ergebnisone))
    {
    $besitzername $row->name;
    }
            

$Ergebnis mysql_query("SELECT * FROM pferd WHERE besitzer = '".$besitzername."'");

                if (mysql_num_rows($Ergebnis) == 0) {
                    echo 'Du hast noch keine eigenen Pferde. Schau doch mal auf den Pferdemarkt. 
Dort kannst du dir Pferde kaufen.';
                                                            }

                else {
                        while($Data mysql_fetch_array($Ergebnis)) {
        
                     echo "

<div align="center">
<table border="0" width="375">
  <tr>
    <td width="143" rowspan="2"><img border="0" src="http://calvano.bplaced.de/bilder/$Data[vorschaupic]" align="center"></td>
    <td width="218">
<form action=futterplanerstellen2.php method=post enctype="multipart/form-data">
<textarea name="Futterplan" cols=30 rows=8>
$Data[Futterplan]
</textarea><br>
</td>
  </tr>
  <tr>
    <td width="218">
<input type="submit" value="Erstellen!" name="submit">
</form>
</td>
  </tr>
</table>
</div>




<br>

";
    }
}

echo mysql_error();

?>

<?php


       
$Ergebnis = mysql_query("SELECT FROM pferd WHERE besitzer '".$besitzername."'");
var_dump($Data['name']);
        if(isset($_REQUEST["submit"])) {

            $update = mysql_query("UPDATE pferd Set Futterplan '".strip_tags($_REQUEST["Futterplan"])."' WHERE name '$Data[name]'");


        }
var_dump($Data['name']);
?>

<br>

            Der Futterplan wird automatisch geändert. Einmal klicken genügt.
    <?php
        
        include("footer.php");



echo mysql_error();

?>


Beide mal ist es NULL.




Geschrieben von MissFreaky am 10.02.2010 um 16:52:

 

Nein, eigentlich nur das, bei welchem auf "Erstellen" geklickt wird.

Beim andern Code hatte ich es ja so das man auswählen kann und dann der Futterplan angezeigt wird. Da zeigt er mir auch bei var_dump genau den richtigen Namen an! Aber es funktioniert trotzdem nicht.

Aber wie gesagt hab ichs ja umgeändert und jetzt wird eben nicht erkannt welches Pferd ich updaten will, weil ja alle Pferde automatisch angezeigt werden.



Geschrieben von Melli am 10.02.2010 um 16:56:

 

Und wenn du einfach oben ne abfrage hinmachst, in der du dir die pferde-id geben lässt, und dann in dein formular ein hiddenfield machst, bei dem dann die pferde-id weitergegeben wird mit dem submit?
also .. fällt mir grade spontan dazu ein



Geschrieben von MissFreaky am 10.02.2010 um 17:41:

 

Puh danke wenigstens weiß ich jetzt was ich verändern muss. Und wie könnte ich es realisieren mit dem hiddenfield und der Pferdeid?


Forensoftware: Burning Board, entwickelt von WoltLab GmbH