PHP Problem beim Schreiben in MySQL Datenbank

Enneking

Cadet 3rd Year
Dabei seit
Nov. 2010
Beiträge
53
Guten Abend,

ich habe mir eine Webseite entwickelt mit der ich mir die Daten meiner Arbeiten die ich schreibe verwalte. Bevor ich meinen PC formatiert habe, lief dieselbe!! Datei ohne Probleme auf xampp. Jetzt habe ich xampp neu installiert und nun läuft sie nicht mehr. Ich glaube die xampp version ist neuer. Auf jeden Fall kommt beim Drücken auf Speichern Error 403 - Zugriff Verweigert.

Die Zugangsdaten zu der Datenbank ist korrekt. Das Auslesen funktioniert auch einwandfrei, nur halt das speichern neuer Daten nicht.

Hier mal der Quellcode:
PHP:
//Speichern

<div id="testdate">
<form action ="<?php
//MYSQL Daten
$mysqlhost="localhost"; // Dein Mysql Host (Standart:localhost)
$mysqluser="root"; // MySQL-User
$mysqlpwd=""; // Passwort

//Connection String
$connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die
("Verbindungsversuch fehlgeschlagen");

$mysqldb="school"; // Datenbank
mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht
waehlen.");
//Eingaben holen und in Variable speichern
//Der parameter der $_POST funcktion ist der name des input-feldes
$subject2 = $_POST['subject2'];
$day = $_POST['day'];
$month = $_POST['month'];
$year = $_POST['year'];

$date = $year ."-".$month."-".$day;

//Eingabe Datenbank speichern:
$mysql_query("UPDATE testdate SET date='$date' WHERE subject='$subject2'");

?>" style="text-align: left;"method="POST">
<table>
<tr>
  <td>Fach:</td>
  <td><select name="subject2" size="">
        <option value="biology">Biologie</option>
        <option value="chemistry">Chemie</option>
        <option value="german">Deutsch</option>
        <option value="english">Englisch</option>
        <option value="geography">Erdkunde</option>
        <option value="history">Geschichte</option>
        <option value="art">Kunst</option>
        <option value="latin">Latein</option>
        <option value="math">Mathe</option>
        <option value="music">Musik</option>
        <option value="physics">Physik</option>
        <option value="politics">Politik</option>
        <option value="religion">Religion</option>
        <option value="sports">Sport</option>
</select> </td>
</tr>
<tr>
  <td>Datum:</td>
<td>
    <select name="day">
        <option value="">Tag</option>
        <option value="01">    01</option>
        <option value="02">    02</option>
        <option value="03">    03</option>
        <option value="04">    04</option>
        <option value="05">    05</option>
        <option value="06">    06</option>
        <option value="07">    07</option>
        <option value="08">    08</option>
        <option value="09">    09</option>
        <option value="10">    10</option>
        <option value="11">    11</option>
        <option value="12">    12</option>
        <option value="13">    13</option>
        <option value="14">    14</option>
        <option value="15">    15</option>
        <option value="16">    16</option>
        <option value="17">    17</option>
        <option value="18">    18</option>
        <option value="19">    19</option>
        <option value="20">    20</option>
        <option value="21">    21</option>
        <option value="22">    22</option>
        <option value="23">    23</option>
        <option value="24">    24</option>
        <option value="25">    25</option>
        <option value="26">    26</option>
        <option value="27">    27</option>
        <option value="28">    28</option>
        <option value="29">    29</option>
        <option value="30">    30</option>
        <option value="31">    31</option>
    </select>
    <select name="month">
        <option value="">Monat</option>
        <option value="01">    Januar</option>
        <option value="02">    Februar</option>
        <option value="03">    März</option>
        <option value="04">    April</option>
        <option value="05">    Mai</option>
        <option value="06">    Juni</option>
        <option value="07">    Juli</option>
        <option value="08">    August</option>
        <option value="09">    September</option>
        <option value="10">    Oktober</option>
        <option value="11">    November</option>
        <option value="12">    Dezember</option>
    </select>
    <select name="year">
        <option value="">Jahr</option>
        <option value="2000">2000</option>
        <option value="2001">2001</option>
        <option value="2002">2002</option>
        <option value="2003">2003</option>
        <option value="2004">2004</option>
        <option value="2005">2005</option>
        <option value="2006">2006</option>
        <option value="2007">2007</option>
        <option value="2008">2008</option>
        <option value="2009">2009</option>
        <option value="2010">2010</option>
        <option value="2011">2011</option>
        <option value="2012">2012</option>
        <option value="2013">2013</option>
        <option value="2014">2014</option>
        <option value="2015">2015</option>
        <option value="2016">2016</option>
        <option value="2017">2017</option>
        <option value="2018">2018</option>
        <option value="2019">2019</option>
        <option value="2020">2020</option>

    </select> </td>
</tr>
<tr>
  <td colspan="2"><input type="submit" value="speichern"></td>
</tr>
</table>
</form>

//Auslesen

</div>
<div id="testdate">
<?php
//MYSQL Daten
$mysqlhost="localhost"; // Dein Mysql Host (Standart:localhost)
$mysqluser="root"; // MySQL-User
$mysqlpwd=""; // Passwort

//Connection String
$connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die
("Verbindungsversuch fehlgeschlagen");

$mysqldb="school"; // Datenbank
mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht
waehlen.");
//Eingaben holen und in Variable speichern
//Der parameter der $_POST funcktion ist der name des input-feldes

//Eingabe Datenbank speichern:
$art = mysql_result((mysql_query("SELECT DATE_FORMAT(date, '%d.%m.%Y') AS date FROM testdate")), 9);
$biology = mysql_result((mysql_query("SELECT DATE_FORMAT(date, '%d.%m.%Y') AS date FROM testdate")), 11);
$chemistry = mysql_result((mysql_query("SELECT DATE_FORMAT(date, '%d.%m.%Y') AS date FROM testdate")), 13);
$english = mysql_result((mysql_query("SELECT DATE_FORMAT(date, '%d.%m.%Y') AS date FROM testdate")), 5);
$geography = mysql_result((mysql_query("SELECT DATE_FORMAT(date, '%d.%m.%Y') AS date FROM testdate")), 12);
$german = mysql_result((mysql_query("SELECT DATE_FORMAT(date, '%d.%m.%Y') AS date FROM testdate")), 10);
$history = mysql_result((mysql_query("SELECT DATE_FORMAT(date, '%d.%m.%Y') AS date FROM testdate")), 6);
$latin = mysql_result((mysql_query("SELECT DATE_FORMAT(date, '%d.%m.%Y') AS date FROM testdate")), 7);
$math = mysql_result((mysql_query("SELECT DATE_FORMAT(date, '%d.%m.%Y') AS date FROM testdate")), 8);
$music = mysql_result((mysql_query("SELECT DATE_FORMAT(date, '%d.%m.%Y') AS date FROM testdate")), 4);
$physics = mysql_result((mysql_query("SELECT DATE_FORMAT(date, '%d.%m.%Y') AS date FROM testdate")), 3);
$politics = mysql_result((mysql_query("SELECT DATE_FORMAT(date, '%d.%m.%Y') AS date FROM testdate")), 2);
$religion = mysql_result((mysql_query("SELECT DATE_FORMAT(date, '%d.%m.%Y') AS date FROM testdate")), 1);
$sports = mysql_result((mysql_query("SELECT DATE_FORMAT(date, '%d.%m.%Y') AS date FROM testdate")), 0);

if ($art=="00.00.0000") $art = "";
if ($biology=="00.00.0000") $biology = "";
if ($chemistry=="00.00.0000") $chemistry = "";
if ($english=="00.00.0000") $english = "";
if ($geography=="00.00.0000") $geography = "";
if ($german=="00.00.0000") $german = "";
if ($history=="00.00.0000") $history = "";
if ($latin=="00.00.0000") $latin = "";
if ($math=="00.00.0000") $math = "";
if ($music=="00.00.0000") $music = "";
if ($physics=="00.00.0000") $physics = "";
if ($politics=="00.00.0000") $politics = "";
if ($religion=="00.00.0000") $religion = "";
if ($sports=="00.00.0000") $sports = "";

echo "<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" summary=\"\" style=\"text-align: center;\">\n";
echo "    <tr>\n";
echo "        <td style=\"width: 100px;\">Biologie</td>\n";
echo "        <td style=\"width: 100px;\">$biology</td>\n";
echo "    </tr>\n";
echo "    <tr>\n";
echo "        <td style=\"width: 100px;\">Chemie</td>\n";
echo "        <td style=\"width: 100px;\">$chemistry</td>\n";
echo "    </tr>\n";
echo "    <tr>\n";
echo "        <td style=\"width: 100px;\">Deutsch</td>\n";
echo "        <td style=\"width: 100px;\">$german</td>\n";
echo "    </tr>\n";
echo "    <tr>\n";
echo "        <td style=\"width: 100px;\">Englisch</td>\n";
echo "        <td style=\"width: 100px;\">$english</td>\n";
echo "    </tr>\n";
echo "    <tr>\n";
echo "        <td style=\"width: 100px;\">Erdkunde</td>\n";
echo "        <td style=\"width: 100px;\">$geography</td>\n";
echo "    </tr>\n";
echo "    <tr>\n";
echo "        <td style=\"width: 100px;\">Geschichte</td>\n";
echo "        <td style=\"width: 100px;\">$history</td>\n";
echo "    </tr>\n";
echo "    <tr>\n";
echo "        <td style=\"width: 100px;\">Kunst</td>\n";
echo "        <td style=\"width: 100px;\">$art</td>\n";
echo "    </tr>\n";
echo "    <tr>\n";
echo "        <td style=\"width: 100px;\">Latein</td>\n";
echo "        <td style=\"width: 100px;\">$latin</td>\n";
echo "    </tr>\n";
echo "    <tr>\n";
echo "        <td style=\"width: 100px;\">Mathe</td>\n";
echo "        <td style=\"width: 100px;\">$math</td>\n";
echo "    </tr>\n";
echo "    <tr>\n";
echo "        <td style=\"width: 100px;\">Musik</td>\n";
echo "        <td style=\"width: 100px;\">$music</td>\n";
echo "    </tr>\n";
echo "    <tr>\n";
echo "        <td style=\"width: 100px;\">Physik</td>\n";
echo "        <td style=\"width: 100px;\">$physics</td>\n";
echo "    </tr>\n";
echo "    <tr>\n";
echo "        <td style=\"width: 100px;\">Politik</td>\n";
echo "        <td style=\"width: 100px;\">$politics</td>\n";
echo "    </tr>\n";
echo "    <tr>\n";
echo "        <td style=\"width: 100px;\">Religion</td>\n";
echo "        <td style=\"width: 100px;\">$religion</td>\n";
echo "    </tr>\n";
echo "    <tr>\n";
echo "        <td style=\"width: 100px;\">Sport</td>\n";
echo "        <td style=\"width: 100px;\">$sports</td>\n";
echo "    </tr>\n";
echo "</table>\n";

mysql_close($connection);
?>

Vielen Dank für eure Hilfe

Enneking
 

KeepXtreme

Lt. Commander
Dabei seit
Sep. 2008
Beiträge
1.384
überprüf mal den eigentümer der Dateien & die ausführrechte. Klingt so, als hätte xampp keinen Zugriff auf die verarbeitende php-datei
 

Enneking

Cadet 3rd Year
Ersteller dieses Themas
Dabei seit
Nov. 2010
Beiträge
53
wie kann ich das ändern? was soll ich wie überprüfen??
weiß gerade irgendwie nicht was du meinst :o
 

moba

Ensign
Dabei seit
Apr. 2009
Beiträge
228
Code:
//Eingabe Datenbank speichern:
$mysql_query("UPDATE testdate SET date='$date' WHERE subject='$subject2'");

Existiert der Eintrag $subject2 schon? Weil update funktioniert (soweit ich weiß) nur, wenn der Eintrag bereits vorher existiert hat.
 

Enneking

Cadet 3rd Year
Ersteller dieses Themas
Dabei seit
Nov. 2010
Beiträge
53
Bei mir läuft Windows
und ja der Eintrag ist schon vorhanden
 

moba

Ensign
Dabei seit
Apr. 2009
Beiträge
228
Also:

1. du brauchst nur 1 mal die Verbindung zur Datenbank aufzubauen.

2. <form action ="<?php .. bei action sollte der pfad zur Datei sein, die das Skript verarbeitet. Kann auch die selbe Datei sein.
Wenn es die selbe ist, solltest du dem Formular eine ID bzw. Namen geben (id="" bzw. name=""), bin mir nicht mehr sicher wie genau (lange ist's her). Dann nach dem Post über if(isset(NAME)) { auszuführendes Skript hier rein} das Absenden überprüfen und Skript ausführen lassen. Vorher kannst du natürlich sämtliche Überprüfungen einbauen, ob z.B. das richtige Format eingegeben wurde, oder ob irgendwas leer gelassen wurde etc. Kannst du dann deinen Wünschen anpassen.
 

Enneking

Cadet 3rd Year
Ersteller dieses Themas
Dabei seit
Nov. 2010
Beiträge
53
Ich habe das Problem gelöst:

Ich habe das vor die Variablen in die das Formular Daten schreibt jeweils ein if isset(variable) gesetzt und sie erst nach dem Formular abgefragt.

Hier der jetzige funktionierende Quellcode:

PHP:
<div id="testdate">
<form action ="" style="text-align: left;"method="POST">
<table>
<tr>
  <td>Fach:</td>
  <td><select name="subject2" size="">
        <option value="biology">Biologie</option>
        <option value="chemistry">Chemie</option>
        <option value="german">Deutsch</option>
        <option value="english">Englisch</option>
        <option value="geography">Erdkunde</option>
        <option value="history">Geschichte</option>
        <option value="art">Kunst</option>
        <option value="latin">Latein</option>
        <option value="math">Mathe</option>
        <option value="music">Musik</option>
        <option value="physics">Physik</option>
        <option value="politics">Politik</option>
        <option value="religion">Religion</option>
        <option value="sports">Sport</option>
</select> </td>
</tr>
<tr>
  <td>Datum:</td>
<td>
    <select name="day">
        <option value="">Tag</option>
        <option value="01">    01</option>
        <option value="02">    02</option>
        <option value="03">    03</option>
        <option value="04">    04</option>
        <option value="05">    05</option>
        <option value="06">    06</option>
        <option value="07">    07</option>
        <option value="08">    08</option>
        <option value="09">    09</option>
        <option value="10">    10</option>
        <option value="11">    11</option>
        <option value="12">    12</option>
        <option value="13">    13</option>
        <option value="14">    14</option>
        <option value="15">    15</option>
        <option value="16">    16</option>
        <option value="17">    17</option>
        <option value="18">    18</option>
        <option value="19">    19</option>
        <option value="20">    20</option>
        <option value="21">    21</option>
        <option value="22">    22</option>
        <option value="23">    23</option>
        <option value="24">    24</option>
        <option value="25">    25</option>
        <option value="26">    26</option>
        <option value="27">    27</option>
        <option value="28">    28</option>
        <option value="29">    29</option>
        <option value="30">    30</option>
        <option value="31">    31</option>
    </select>
    <select name="month">
        <option value="">Monat</option>
        <option value="01">    Januar</option>
        <option value="02">    Februar</option>
        <option value="03">    März</option>
        <option value="04">    April</option>
        <option value="05">    Mai</option>
        <option value="06">    Juni</option>
        <option value="07">    Juli</option>
        <option value="08">    August</option>
        <option value="09">    September</option>
        <option value="10">    Oktober</option>
        <option value="11">    November</option>
        <option value="12">    Dezember</option>
    </select>
    <select name="year">
        <option value="">Jahr</option>
        <option value="2000">2000</option>
        <option value="2001">2001</option>
        <option value="2002">2002</option>
        <option value="2003">2003</option>
        <option value="2004">2004</option>
        <option value="2005">2005</option>
        <option value="2006">2006</option>
        <option value="2007">2007</option>
        <option value="2008">2008</option>
        <option value="2009">2009</option>
        <option value="2010">2010</option>
        <option value="2011">2011</option>
        <option value="2012">2012</option>
        <option value="2013">2013</option>
        <option value="2014">2014</option>
        <option value="2015">2015</option>
        <option value="2016">2016</option>
        <option value="2017">2017</option>
        <option value="2018">2018</option>
        <option value="2019">2019</option>
        <option value="2020">2020</option>

    </select> </td>
</tr>
<tr>
  <td colspan="2"><input type="submit" value="speichern"></td>
</tr>
</table>
</form>
</div>
<div id="testdate">
<?php
//MYSQL Daten
$mysqlhost="localhost"; // Dein Mysql Host (Standart:localhost)
$mysqluser="root"; // MySQL-User
$mysqlpwd=""; // Passwort

//Connection String
$connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die
("Verbindungsversuch fehlgeschlagen");

$mysqldb="school"; // Datenbank
mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht
waehlen.");
//Eingaben holen und in Variable speichern
//Der parameter der $_POST funcktion ist der name des input-feldes

if (isset($_POST['subject2'])) $subject2 = $_POST['subject2'];
if (isset($_POST['day'])) $day = $_POST['day'];
if (isset($_POST['month'])) $month = $_POST['month'];
if (isset($_POST['year']))
{
    $year = $_POST['year'];
    $date = $year ."-".$month."-".$day;

    //Eingabe Datenbank speichern:
    mysql_query("UPDATE testdate SET date='$date' WHERE subject='$subject2'");
}

//Eingabe Datenbank speichern:
$art = mysql_result((mysql_query("SELECT DATE_FORMAT(date, '%d.%m.%Y') AS date FROM testdate")), 9);
$biology = mysql_result((mysql_query("SELECT DATE_FORMAT(date, '%d.%m.%Y') AS date FROM testdate")), 11);
$chemistry = mysql_result((mysql_query("SELECT DATE_FORMAT(date, '%d.%m.%Y') AS date FROM testdate")), 13);
$english = mysql_result((mysql_query("SELECT DATE_FORMAT(date, '%d.%m.%Y') AS date FROM testdate")), 5);
$geography = mysql_result((mysql_query("SELECT DATE_FORMAT(date, '%d.%m.%Y') AS date FROM testdate")), 12);
$german = mysql_result((mysql_query("SELECT DATE_FORMAT(date, '%d.%m.%Y') AS date FROM testdate")), 10);
$history = mysql_result((mysql_query("SELECT DATE_FORMAT(date, '%d.%m.%Y') AS date FROM testdate")), 6);
$latin = mysql_result((mysql_query("SELECT DATE_FORMAT(date, '%d.%m.%Y') AS date FROM testdate")), 7);
$math = mysql_result((mysql_query("SELECT DATE_FORMAT(date, '%d.%m.%Y') AS date FROM testdate")), 8);
$music = mysql_result((mysql_query("SELECT DATE_FORMAT(date, '%d.%m.%Y') AS date FROM testdate")), 4);
$physics = mysql_result((mysql_query("SELECT DATE_FORMAT(date, '%d.%m.%Y') AS date FROM testdate")), 3);
$politics = mysql_result((mysql_query("SELECT DATE_FORMAT(date, '%d.%m.%Y') AS date FROM testdate")), 2);
$religion = mysql_result((mysql_query("SELECT DATE_FORMAT(date, '%d.%m.%Y') AS date FROM testdate")), 1);
$sports = mysql_result((mysql_query("SELECT DATE_FORMAT(date, '%d.%m.%Y') AS date FROM testdate")), 0);

if ($art=="00.00.0000") $art = "";
if ($biology=="00.00.0000") $biology = "";
if ($chemistry=="00.00.0000") $chemistry = "";
if ($english=="00.00.0000") $english = "";
if ($geography=="00.00.0000") $geography = "";
if ($german=="00.00.0000") $german = "";
if ($history=="00.00.0000") $history = "";
if ($latin=="00.00.0000") $latin = "";
if ($math=="00.00.0000") $math = "";
if ($music=="00.00.0000") $music = "";
if ($physics=="00.00.0000") $physics = "";
if ($politics=="00.00.0000") $politics = "";
if ($religion=="00.00.0000") $religion = "";
if ($sports=="00.00.0000") $sports = "";

echo "<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" summary=\"\" style=\"text-align: center;\">\n";
echo "    <tr>\n";
echo "        <td style=\"width: 100px;\">Biologie</td>\n";
echo "        <td style=\"width: 100px;\">$biology</td>\n";
echo "    </tr>\n";
echo "    <tr>\n";
echo "        <td style=\"width: 100px;\">Chemie</td>\n";
echo "        <td style=\"width: 100px;\">$chemistry</td>\n";
echo "    </tr>\n";
echo "    <tr>\n";
echo "        <td style=\"width: 100px;\">Deutsch</td>\n";
echo "        <td style=\"width: 100px;\">$german</td>\n";
echo "    </tr>\n";
echo "    <tr>\n";
echo "        <td style=\"width: 100px;\">Englisch</td>\n";
echo "        <td style=\"width: 100px;\">$english</td>\n";
echo "    </tr>\n";
echo "    <tr>\n";
echo "        <td style=\"width: 100px;\">Erdkunde</td>\n";
echo "        <td style=\"width: 100px;\">$geography</td>\n";
echo "    </tr>\n";
echo "    <tr>\n";
echo "        <td style=\"width: 100px;\">Geschichte</td>\n";
echo "        <td style=\"width: 100px;\">$history</td>\n";
echo "    </tr>\n";
echo "    <tr>\n";
echo "        <td style=\"width: 100px;\">Kunst</td>\n";
echo "        <td style=\"width: 100px;\">$art</td>\n";
echo "    </tr>\n";
echo "    <tr>\n";
echo "        <td style=\"width: 100px;\">Latein</td>\n";
echo "        <td style=\"width: 100px;\">$latin</td>\n";
echo "    </tr>\n";
echo "    <tr>\n";
echo "        <td style=\"width: 100px;\">Mathe</td>\n";
echo "        <td style=\"width: 100px;\">$math</td>\n";
echo "    </tr>\n";
echo "    <tr>\n";
echo "        <td style=\"width: 100px;\">Musik</td>\n";
echo "        <td style=\"width: 100px;\">$music</td>\n";
echo "    </tr>\n";
echo "    <tr>\n";
echo "        <td style=\"width: 100px;\">Physik</td>\n";
echo "        <td style=\"width: 100px;\">$physics</td>\n";
echo "    </tr>\n";
echo "    <tr>\n";
echo "        <td style=\"width: 100px;\">Politik</td>\n";
echo "        <td style=\"width: 100px;\">$politics</td>\n";
echo "    </tr>\n";
echo "    <tr>\n";
echo "        <td style=\"width: 100px;\">Religion</td>\n";
echo "        <td style=\"width: 100px;\">$religion</td>\n";
echo "    </tr>\n";
echo "    <tr>\n";
echo "        <td style=\"width: 100px;\">Sport</td>\n";
echo "        <td style=\"width: 100px;\">$sports</td>\n";
echo "    </tr>\n";
echo "</table>\n";

mysql_close($connection);
?>
</div>

Danke für eure Hilfe.

Der Thread kann geclosed werden.
 
Top