Endless Storm
Commander
- Registriert
- Dez. 2008
- Beiträge
- 2.154
Hallo zusammen,
ich wollte mit HTML, AngularJS und ursprünglich der MongoDB etwas zur Übung basteln. Ich scheiterte aber an der Einrichtung der MongoDB, ich erhielt gar keinen Zugriff auf die Datenbank. Also bin ich wieder auf XAMPP gestoßen, welches ich in der Vergangenheit bereits im Einsatz hatte zur Übung.
Kurz der Hinweis:
Ich soll mich mit HTML, AngularJS und REST befassen, am besten mit der MongoDB. Da letztere nicht funktioniert, greife ich auf bekanntes zurück, mit XAMPP... Leider funktioniert das auch nicht, da ich aber prinzipiell Zugriff auf die DB habe und nur der Zugriff von der HTML nicht klappt, wollte ich es dennoch mit dieser Variante probieren.
Was bisher geschah:
- XAMPP frisch installiert und mit gestarteten Apache sowie MySQL-Diensten eine DB angelegt in phpMyAdmin.
- Selbst, wenn ich XAMPP über rechtsklick "Als Administrator starten" starte, habe ich keinen Zugriff von der HTML aus.
- Über die Shell von XAMPP habe ich einen User angelegt:
- Zur Übung habe ich eine kleine HTML-Seite mitsamt dem AngularJS-Teil und dem ebenfalls verwendeten PHP-Code nachprogrammiert.
- Über die Shell kann ich mich mit root und pw="" einloggen und in der DB herumspielen, mit meinem programmierten Ergebnis bekomme ich es jedoch nicht zum laufen.
- Ich habe in der PHP als User="root" und PW="" und mit User="user1" und PW="user1password" versucht, beides Erfolglos.
- Die Rechte für "Jeder" habe ich aus phpMyAdmin entfernt, da ich gelesen habe, dass dies zu Problemen führen kann.
! Da ich noch Anfänger bin, wollte ich was nachprogrammieren um es dann für mich anzupassen. Leider funktioniert nicht einmal das... !
Die HTML inklusive AngularJS:
Die PHP:
Ein Ausschnitt aus der DB-Shell:
Das allermeiste an dem Code ist ab-programmiert, von daher nicht mein eigener Code-Stil und nicht mein Fachwissen, welches da verwendet wird.
Wenn Ihr Ideen für Lösungen habt, dann bitte Schritt für Schritt.
Final wollte ich eigentlich was ohne PHP machen, hatte gehofft, ich käme um PHP herum und kann ausschließlich AngularJS nutzen für die CRUD-Funktionen... Vielleicht finde ich da aber noch was.
Wenn ihr weitere Infos braucht, einfach Nachfragen!
Vielen Dank im Vorraus.
[edit]
Für alle, die es interessiert, welche Probleme ich mit MongoDB habe. Ich scheitere bereits an der mongod.exe:
Hier das Consolenfenster, wenn ich im neuen CMD-Fenster mongo.exe ausführen will:
So am Rande, ich nutze Win7Prof 64Bit und habe Kaspersky als Anti-Viren-Programm.
ich wollte mit HTML, AngularJS und ursprünglich der MongoDB etwas zur Übung basteln. Ich scheiterte aber an der Einrichtung der MongoDB, ich erhielt gar keinen Zugriff auf die Datenbank. Also bin ich wieder auf XAMPP gestoßen, welches ich in der Vergangenheit bereits im Einsatz hatte zur Übung.
Kurz der Hinweis:
Ich soll mich mit HTML, AngularJS und REST befassen, am besten mit der MongoDB. Da letztere nicht funktioniert, greife ich auf bekanntes zurück, mit XAMPP... Leider funktioniert das auch nicht, da ich aber prinzipiell Zugriff auf die DB habe und nur der Zugriff von der HTML nicht klappt, wollte ich es dennoch mit dieser Variante probieren.
Was bisher geschah:
- XAMPP frisch installiert und mit gestarteten Apache sowie MySQL-Diensten eine DB angelegt in phpMyAdmin.
- Selbst, wenn ich XAMPP über rechtsklick "Als Administrator starten" starte, habe ich keinen Zugriff von der HTML aus.
- Über die Shell von XAMPP habe ich einen User angelegt:
Code:
CREATE USER 'user1'@'localhost' IDENTIFIED BY 'user1password';
GRANT ALL PRIVILEGES ON *.* TO 'user1'@'localhost' WITH GRANT OPTION;
- Über die Shell kann ich mich mit root und pw="" einloggen und in der DB herumspielen, mit meinem programmierten Ergebnis bekomme ich es jedoch nicht zum laufen.
- Ich habe in der PHP als User="root" und PW="" und mit User="user1" und PW="user1password" versucht, beides Erfolglos.
- Die Rechte für "Jeder" habe ich aus phpMyAdmin entfernt, da ich gelesen habe, dass dies zu Problemen führen kann.
! Da ich noch Anfänger bin, wollte ich was nachprogrammieren um es dann für mich anzupassen. Leider funktioniert nicht einmal das... !
Die HTML inklusive AngularJS:
HTML:
<html>
<head>
<meta charset="utf8" />
<title>Employee-Test</title>
<link rel="stylesheet" href="style.css">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular.js"></script>
</head>
<body>
<div ng-app="myapp" ng-controller="empcontroller">
<form>
Employee No. <input type="text" ng-model="empno"/><br />
First Name <input type="text" ng-model="fname"/><br />
Last Name <input type="text" ng-model="lname"/><br />
Department <input type="text" ng-model="dept"/><br />
<input type="button" value="submit" ng-click="insertdata()"/><br />
</form>
<script>
var app= angular.module('myapp',[]);
app.controller('empcontroller',function($scope,$http){
$scope.insertdata=function(){
$http.post("test.php",
{'empno':$scope.empno,'fname':$scope.fname,'lname':$scope.lname,'dept':$scope.dept}
)
.success(function(data,status,headers,config){
console.log("data inserted successfully");
});
}
});
</script>
</div>
</body>
</html>
Die PHP:
PHP:
<?php
$data = json_decode(file_get_contents("php://input"));
$empno = mysql_real_escape_string($data->empno);
$fname = mysql_real_escape_string($data->fname);
$lname = mysql_real_escape_string($data->lname);
$dept = mysql_real_escape_string($data->dept);
mysql_connect("localhost","user1","user1password");
mysql_select_db("company");
// 'id' bewusst ausgespart, da Auto-Inkrement eingestellt ist!!
mysql_query("INSERT INTO employee('emp_no', 'first_name', 'last_name', 'dept_name')
VALUES('".$empno."','".$fname."','".$fname."','".$dept."')");
?>
Ein Ausschnitt aus der DB-Shell:
Code:
+--------------------+
| Database |
+--------------------+
| company |
+--------------------+
+-------------------+
| Tables_in_company |
+-------------------+
| employee |
+-------------------+
+------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| emp_no | int(10) | NO | | NULL | |
| first_name | varchar(14) | NO | | NULL | |
| last_name | varchar(15) | NO | | NULL | |
| dept_name | varchar(25) | NO | | NULL | |
+------------+-------------+------+-----+---------+----------------+
Testdatensatz:
+----+--------+------------+-----------+-----------+
| id | emp_no | first_name | last_name | dept_name |
+----+--------+------------+-----------+-----------+
| 1 | 123 | John | Deere | IT |
| 2 | 456 | Obi Wan | Kenobi | Jedi |
+----+--------+------------+-----------+-----------+
Das allermeiste an dem Code ist ab-programmiert, von daher nicht mein eigener Code-Stil und nicht mein Fachwissen, welches da verwendet wird.
Wenn Ihr Ideen für Lösungen habt, dann bitte Schritt für Schritt.
Final wollte ich eigentlich was ohne PHP machen, hatte gehofft, ich käme um PHP herum und kann ausschließlich AngularJS nutzen für die CRUD-Funktionen... Vielleicht finde ich da aber noch was.
Wenn ihr weitere Infos braucht, einfach Nachfragen!
Vielen Dank im Vorraus.
[edit]
Für alle, die es interessiert, welche Probleme ich mit MongoDB habe. Ich scheitere bereits an der mongod.exe:
Code:
C:\Program Files\MongoDB\Server\3.4\bin>mongod.exe
2016-12-30T19:02:43.242+0100 I CONTROL [initandlisten] MongoDB starting : pid=7
376 port=27017 dbpath=C:\data\db\ 64-bit host=**MeinPCName**
2016-12-30T19:02:43.242+0100 I CONTROL [initandlisten] targetMinOS: Windows 7/W
indows Server 2008 R2
2016-12-30T19:02:43.242+0100 I CONTROL [initandlisten] db version v3.4.1
2016-12-30T19:02:43.242+0100 I CONTROL [initandlisten] git version: 5e103c4f558
3e2566a45d740225dc250baacfbd7
2016-12-30T19:02:43.242+0100 I CONTROL [initandlisten] OpenSSL version: OpenSSL
1.0.1t-fips 3 May 2016
2016-12-30T19:02:43.242+0100 I CONTROL [initandlisten] allocator: tcmalloc
2016-12-30T19:02:43.242+0100 I CONTROL [initandlisten] modules: none
2016-12-30T19:02:43.242+0100 I CONTROL [initandlisten] build environment:
2016-12-30T19:02:43.242+0100 I CONTROL [initandlisten] distmod: 2008plus-ss
l
2016-12-30T19:02:43.243+0100 I CONTROL [initandlisten] distarch: x86_64
2016-12-30T19:02:43.243+0100 I CONTROL [initandlisten] target_arch: x86_64
2016-12-30T19:02:43.243+0100 I CONTROL [initandlisten] options: {}
2016-12-30T19:02:43.244+0100 I - [initandlisten] Detected data files in C
:\data\db\ created by the 'wiredTiger' storage engine, so setting the active sto
rage engine to 'wiredTiger'.
2016-12-30T19:02:43.244+0100 I STORAGE [initandlisten] wiredtiger_open config:
create,cache_size=7654M,session_max=20000,eviction=(threads_max=4),config_base=f
alse,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=sn
appy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),st
atistics_log=(wait=0),
2016-12-30T19:02:43.478+0100 I CONTROL [initandlisten]
2016-12-30T19:02:43.479+0100 I CONTROL [initandlisten] ** WARNING: Access contr
ol is not enabled for the database.
2016-12-30T19:02:43.479+0100 I CONTROL [initandlisten] ** Read and wri
te access to data and configuration is unrestricted.
2016-12-30T19:02:43.479+0100 I CONTROL [initandlisten]
2016-12-30T19:02:43.479+0100 I CONTROL [initandlisten] Hotfix KB2731284 or late
r update is not installed, will zero-out data files.
2016-12-30T19:02:43.480+0100 I CONTROL [initandlisten]
2016-12-30T19:02:43.584+0100 W FTDC [initandlisten] Failed to initialize Per
formance Counters for FTDC: WindowsPdhError: PdhExpandCounterPathW failed with '
Das angegebene Objekt wurde nicht auf dem Computer gefunden.' for counter '\Memo
ry\Available Bytes'
2016-12-30T19:02:43.584+0100 I FTDC [initandlisten] Initializing full-time d
iagnostic data capture with directory 'C:/data/db/diagnostic.data'
2016-12-30T19:02:43.590+0100 I NETWORK [thread1] waiting for connections on por
t 27017
Code:
C:\Program Files\MongoDB\Server\3.4\bin>mongo
MongoDB shell version v3.4.1
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.1
Server has startup warnings:
2016-12-30T19:02:43.478+0100 I CONTROL [initandlisten]
2016-12-30T19:02:43.479+0100 I CONTROL [initandlisten] ** WARNING: Access contr
ol is not enabled for the database.
2016-12-30T19:02:43.479+0100 I CONTROL [initandlisten] ** Read and wri
te access to data and configuration is unrestricted.
2016-12-30T19:02:43.479+0100 I CONTROL [initandlisten]
2016-12-30T19:02:43.479+0100 I CONTROL [initandlisten] Hotfix KB2731284 or late
r update is not installed, will zero-out data files.
2016-12-30T19:02:43.480+0100 I CONTROL [initandlisten]
Zuletzt bearbeitet:
(Fehlermeldung der MongoDB ergänzt)