Ich habe ein Formular, das ich mit HTML/PHP gemacht habe, und ich möchte es an die Datenbank senden; Ich habe eine Filmwebseite und arbeite gerade am Admin-Panel. Ich möchte, dass es ein Formular enthält, das der Site neue Filme hinzufügt. Ich habe mein Formular ausprobiert, aber nichts geht in die Datenbank. Die Verbindung mit der Datenbank ist in Ordnung und die Abfragen sehen gut aus, ich weiß ehrlich nicht, was das Problem ist.Mein Formular wird nicht an die Datenbank übergeben (PHP/MySQL)
P.S. Ich mache es auf Arabisch, die arabische Schrift hat nichts zu bedeuten ..
PHP/HTML-Code:
<?php
session_start();
include('php/config.php');
if($_SESSION['username'] != true){
header('Location: http://www.domain.com/');
}
//this form allows to choose what to do (e.g. add new movie)...
else{
echo'
<head>
<link rel="stylesheet" href="css/main.css" />
<link rel="stylesheet" href="css/admin.css" />
<meta charset="utf-8"/>
<title>Admin Panel v1.0</title>
</head>
<ul class="management-b">
<li><a href="#">إضافة فيلم جديد</a></li>
<li><a href="#">إضافة مسلسل جديد</a></li>
<li><a href="#">مسح فيلم/مسلسل</a></li>
</ul>
';
}
//this form adds new movies...
connectDB();
$genreQuery = mysql_query("SELECT genre FROM Genres");
echo'
<head>
<link rel="stylesheet" href="css/main.css"/>
<link rel="stylesheet" href="css/admin.css"/>
<meta charset="utf-8" />
</head>
<form method="post" id="new-movie">
عنوان الفيلم:<input type="text" class="new-movie-title" name="new-movie-title" /><br/><br/>
وصف الفيلم:<textarea class="new-movie-desc" name="new-movie-desc" cols="50" rows="7"></textarea><br/><br/>
نوع الفيلم:<select class="new-movie-genre" name="new-movie-genre">';
while($options = mysql_fetch_array($genreQuery, MYSQL_ASSOC)){
echo '<option>'.$options["genre"].'</option>';
}
echo'</select><br/><br/>
تاريخ الفيلم:<select class="new-movie-year" name="new-movie-year">';
for($years = 1995; $years<2017; $years++){
echo '<option>'.$years.'</option>';
}
echo'
</select><br/><br/>
رابط الفيلم:<input type="text" name="new-movie-link" class="new-movie-link"/><br/><br/>
صورة الفيلم:<input type="text" name="new-movie-img" class="new-movie-img" /><br/><br/>
تقييم imDB:<input type="text" name="new-movie-imdb" class="new-movie-imdb"/><br/><br/>
<input type="submit" name="new-movie-submit" class="new-movie-submit" value="إضافة الفيلم" />
</form>
';
if(isset($_POST['new-movie-submit'])){
connectDB();
$mNewTitle= $_POST['new-movie-title'];
$mNewDesc= $_POST['new-movie-desc'];
$mNewGenre= $_POST['new-movie-genre'];
$mNewYear= $_POST['new-movie-year'];
$mNewURL= $_POST['new-movie-link'];
$mNewIMG= $_POST['new-movie-img'];
$mNewIMDB= $_POST['new-movie-imdb'];
mysql_query("INSERT INTO Movies(title, description, genre, url, image, imdb, release-year) VALUES('$mNewTitle', '$mNewDesc', '$mNewGenre', '$mNewURL', '$mNewIMG', '$mNewIMDB', '$mNewYear'");
closeDB();
}
?>
Sie müssen zu 'mysqli_ *' Funktionen wechseln, da 'mysql_' abgeschrieben wird. Sie sind auch offen für [SQL Injections] (http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php). – Tigger
@Tigger Ja, aber funktioniert Mysql abgeschrieben? –
Nicht jetzt, aber vielleicht in der Zukunft. – Tigger