neonail-database/test-remove-fix.php
2025-08-10 18:09:07 +02:00

100 lines
3.3 KiB
PHP

<?php
// Test der Remove-Funktion
// Führen Sie dies aus, um zu prüfen, ob das Löschen jetzt funktioniert
echo "🧪 Test der Remove-Funktion\n";
echo "==========================\n\n";
// 1. Prüfe Laravel-Routes
echo "1. Laravel-Routes prüfen:\n";
try {
require_once 'vendor/autoload.php';
$app = require_once 'bootstrap/app.php';
$app->make('Illuminate\Contracts\Console\Kernel')->bootstrap();
$router = $app->make('router');
$routes = $router->getRoutes();
$foundRemoveRoute = false;
foreach ($routes as $route) {
if (strpos($route->uri(), 'remove-from-collection') !== false) {
echo " ✅ Route 'remove-from-collection' gefunden\n";
echo " - URI: " . $route->uri() . "\n";
echo " - Method: " . implode('|', $route->methods()) . "\n";
echo " - Name: " . $route->getName() . "\n";
$foundRemoveRoute = true;
}
}
if (!$foundRemoveRoute) {
echo " ❌ Route 'remove-from-collection' nicht gefunden\n";
}
} catch (Exception $e) {
echo " ❌ Laravel-Fehler: " . $e->getMessage() . "\n";
}
// 2. Prüfe Form-Action in Index-View
echo "\n2. Form-Action in Index-View prüfen:\n";
$indexViewPath = 'resources/views/user-nail-polishes/index.blade.php';
if (file_exists($indexViewPath)) {
$content = file_get_contents($indexViewPath);
if (strpos($content, 'action="/remove-from-collection/') !== false) {
echo " ✅ Form-Action korrekt: /remove-from-collection/{id}\n";
} else {
echo " ❌ Form-Action nicht korrekt\n";
echo " Gefunden: " . preg_match('/action="([^"]+)"/', $content, $matches) ? $matches[1] : 'nichts';
}
// Prüfe @method('DELETE')
if (strpos($content, '@method(\'DELETE\')') !== false) {
echo " ⚠️ @method('DELETE') noch vorhanden - sollte entfernt werden\n";
} else {
echo " ✅ @method('DELETE') entfernt\n";
}
} else {
echo " ❌ Index-View nicht gefunden\n";
}
// 3. Prüfe CSRF-Token
echo "\n3. CSRF-Token prüfen:\n";
if (strpos($content, '@csrf') !== false) {
echo " ✅ CSRF-Token in Form vorhanden\n";
} else {
echo " ❌ CSRF-Token fehlt\n";
}
// 4. Prüfe Method
echo "\n4. HTTP-Method prüfen:\n";
if (strpos($content, 'method="POST"') !== false) {
echo " ✅ HTTP-Method: POST\n";
} else {
echo " ❌ HTTP-Method nicht POST\n";
}
// 5. Prüfe Datenbank
echo "\n5. Datenbank prüfen:\n";
try {
$pdo = new PDO('sqlite:database.sqlite');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// Prüfe nail_polishes Tabelle
$stmt = $pdo->query("SELECT COUNT(*) FROM nail_polishes");
$polishCount = $stmt->fetchColumn();
echo " - Lacke in Datenbank: $polishCount\n";
// Prüfe user_nail_polishes Tabelle
$stmt = $pdo->query("SELECT COUNT(*) FROM user_nail_polishes");
$userPolishCount = $stmt->fetchColumn();
echo " - User-Lack-Verbindungen: $userPolishCount\n";
} catch (Exception $e) {
echo " ❌ Datenbankfehler: " . $e->getMessage() . "\n";
}
echo "\n✅ Remove-Test abgeschlossen!\n";
echo "🔗 Testen Sie jetzt: https://neonail.vogt.de.com/my-collection\n";
echo "📝 Versuchen Sie einen Lack aus Ihrer Sammlung zu entfernen\n";
?>