Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

PHP, MySQL und Datenhandling Probleme

Frage Entwicklung Datenbanken

Mitglied: epole73

epole73 (Level 1) - Jetzt verbinden

03.09.2008, aktualisiert 14:39 Uhr, 5598 Aufrufe, 11 Kommentare

hallo, ich bin im php und mysql bereich absoluter anfänger und habe die aufgabe eine faq datenbank aufzubauen (kein fertigscript) und komme nicht weiter. die funktionen sind denkbar einfach. aber ich habe erst den ersten teil begonnen.

- daten (frage, antwort usw.) per form und php an mysql db übergeben
- daten aus db auslesen und anzeigen
- daten verändern können

die mysql db ist eingerichtet und die zugangsdaten stimmen auch. nun habe ich mich im netz ein wenig umgeschaut und ein script geschrieben. die connection zur db funktioniert, das script scheinbar auch, doch es werden keine daten in der db sichtbar. kann mir jemand helfen? hier der code. vieleicht sieht ja jemand meinen fehler?!

ach ja...ich bekomme beim absenden folgende fehlermeldung:
Notice: Undefined index: Frage in C:\xxx\xxx\xxx\eintrag.php on line 14
Notice: Undefined index: Antwort in C:\xxx\xxx\xxx\eintrag.php on line 15
Notice: Undefined index: Keywords in C:\xxx\xxx\xxx\eintrag.php on line 16
Notice: Undefined index: Bilder in C:\xxx\xxx\xxx\eintrag.php on line 17

index.php
<form action="eintrag.php" method=post>
Frage <br>
<textarea id="Frage" rows=7 cols=50></textarea>
<br>
<br>
Antwort<br>
<textarea id="Antwort" rows=7 cols=50></textarea>
<br>
<br>
Keywords<br>
<input type="Text" size="65" id="Keywords">
<br>
<br>
Bilder<br>
<input type="Text" size="65" id="Bilder">

<input type="submit" value="Send"> <input type="reset" value="Reset">
</form>
eintrag.php
<?php
include 'inc/config.php';
error_reporting(E_ALL);

mysql_connect("$host","$user","$password") or die ("Keine Verbindung");
mysql_select_db("$dbname") or die ("Die Datenbank ist nicht da");

$Frage = $_POST["Frage"];
$Antwort = $_POST["Antwort"];
$Keywords = $_POST["Keywords"];
$Bilder = $_POST["Bilder"];

$eintragen = "INSERT INTO $dbtable VALUES ('$Frage', '$Antwort', '$Keywords', '$Bilder')";

$eintragen = mysql_query($eintragen);
?>
config.php
<?php
$host = "localhost";
$user = "xxx";
$password = "xxx";
$dbname = "xxx";
$dbtable = "faq";
?>
Mitglied: bytecounter
03.09.2008 um 11:02 Uhr
Hallo,

was steht denn in den Zeilen 14-17 von Eintrag.php. Wenn ich mir den Code hier anschaue, existieren diese Zeilen nur zum Teil.

Aber ich vermute den Fehler in HTML: Das Array $_POST dürfte leer sein, da Deine Formularfelder keine Bezeichnungen haben.

vg
Bytecounter
Bitte warten ..
Mitglied: epole73
03.09.2008 um 12:09 Uhr
dem ist leider nicht so, alles schön benannt.

<form action="eintrag.php" method=post>
Frage <br>
<textarea name="Frage" rows=7 cols=50 title="Frage"></textarea>
<br>
<br>
Antwort<br>
<textarea name="Antwort" rows=7 cols=50 title="Antwort"></textarea>
<br>
<br>
Keywords<br>
<input type="Text" size="65" name="Keywords" title="Keywords">
<br>
<br>
Bilder<br>
<input type="Text" size="65" name="Bilder" title="Bilder">

<input type="submit" value="Send"> <input type="reset" value="Reset">
</form>
Bitte warten ..
Mitglied: epole73
03.09.2008 um 12:11 Uhr
den fehler konnte ich beheben, nun werden die daten auch scheinbar übergeben, allerdings bleibt die datenbank immernoch leer.
Bitte warten ..
Mitglied: bytecounter
03.09.2008 um 12:37 Uhr
In Deinem ersten Posting hatten die Formularfelder nur eine ID, keinen Namen.

Erhälst Du eine Fehlermeldung?

Was gibt denn folgender Code aus:
01.
<?php 
02.
include 'inc/config.php'; 
03.
error_reporting(E_ALL); 
04.
 
05.
mysql_connect("$host","$user","$password") or die ("Keine Verbindung"); 
06.
mysql_select_db("$dbname") or die ("Die Datenbank ist nicht da"); 
07.
 
08.
$Frage = $_POST["Frage"]; 
09.
$Antwort = $_POST["Antwort"]; 
10.
$Keywords = $_POST["Keywords"]; 
11.
$Bilder = $_POST["Bilder"]; 
12.
 
13.
$eintragen = "INSERT INTO $dbtable VALUES ('$Frage', '$Antwort', '$Keywords', '$Bilder')"; 
14.
 
15.
// SQL Query nur anzeigen 
16.
echo $eintragen; 
17.
//$eintragen = mysql_query($eintragen); 
18.
?> 
Er zeigt Dir die Query, die an die DB geschickt werden soll an, gibt sie aber nicht an die DB weiter.
Bitte warten ..
Mitglied: Arano
03.09.2008 um 12:39 Uhr
Moin,

wie ist denn deine Datenbanktabelle strukturiert ?
Sind: "Frage", "Antwort", "Keywords", "Bilder" alle deine Spalten ?

Ich habe mir mal erlaubt deinen Quelltext etwas zu erweitern:
01.
<?php 
02.
include 'inc/config.php'
03.
error_reporting(E_ALL); 
04.
 
05.
mysql_connect($host,$user,$password) or die ('Keine Verbindung'); 
06.
mysql_select_db($dbname) or die ('Die Datenbank ist nicht da'); 
07.
 
08.
// Array zum Speichern der Felder die nicht korrekt ausgefuellt wurden. 
09.
$errorFields = array(); 
10.
 
11.
// Eingaben vor ueberpruefung, wurden die Felder ausgefuellt und bestehen sie nicht aus leerzeichen 
12.
// isset() = wurde das Feld uebertragen (ausgefuellt) 
13.
// trim() entfernt alle leerzeichen am Anfang und Ende der Zeichenkette 
14.
// bedingung ? wahr : falsch     <- eine kurzform von if(){}else{} 
15.
$Frage    = isset($_POST['Frage'])    && trim($_POST['Frage'])!=""    ? $_POST['Frage']    : NULL; 
16.
$Antwort  = isset($_POST['Antwort'])  && trim($_POST['Antwort'])!=""  ? $_POST['Antwort']  : NULL; 
17.
$Keywords = isset($_POST['Keywords']) && trim($_POST['Keywords'])!="" ? $_POST['Keywords'] : NULL; 
18.
$Bilder   = isset($_POST['Bilder'])   && trim($_POST['Bilder'])!=""   ? $_POST['Bilder']   : NULL; 
19.
 
20.
// Detailiertere pruefung der Eingaben 
21.
// Wenn unzureichend wird der Name (o.Titel) des Feldes in das Array $errorFields gespeichert 
22.
if(is_null($Frage)    || strlen($Frage)<3    || strlen($Frage)>100)    $errorFields[] = 'Frage'
23.
if(is_null($Antwort)  || strlen($Antwort)<3  || strlen($Antwort)>100)  $errorFields[] = 'Antwort'
24.
if(is_null($Keywords) || strlen($Keywords)<3 || strlen($Keywords)>100) $errorFields[] = 'Keywords'
25.
if(is_null($Bilder)   || strlen($Bilder)<3   || strlen($Bilder)>100)   $errorFields[] = 'Bilder'
26.
 
27.
// Gab es einen Fehler bei den Eingaben ? 
28.
if(empty($errorFields)){ 
29.
      // Es gabe keine Fehler bei den Eingabedaten - Mach weiter... 
30.
      // Queery zusammensetzen 
31.
      $query  = "INSERT INTO `$dbtable
32.
                             (`Frage`,`Antwort`,`Keys`,`Bilder`) 
33.
                      VALUES ('$Frage', '$Antwort', '$Keywords', '$Bilder')"; 
34.
      // Query an Datenbank schicken. Das @ unterdruekt die Fehlermeldungen die wir ja eine Zeile spaeter selber pruefen. 
35.
      $result = @mysql_query($query); 
36.
      // Antwort ueberpruefen 
37.
      if($result===TRUE){ 
38.
            echo 'Alles erfolgreich eingetragen !<br>'
39.
      } else
40.
            echo 'Es gab einen Fehler beim eintragen in die Datenbank: #'.mysql_errno().'<br>'.mysql_error().'<br>'
41.
42.
} else
43.
      // Fehler bei den Eingabedaten - Stoppe ! 
44.
      echo 'Die Felder "'.implode('", "',$errorFields).'" wurden nicht korrekt ausgef&uuml;llt !<br> 
45.
            <a href="./index.php" title="zum Eingabeformular">zur&uuml;ck zum Eingabeformular</a><br>'; 
46.
47.
?>
Gruß Arano
Bitte warten ..
Mitglied: epole73
03.09.2008 um 13:29 Uhr
folgendes gibt er nun aus, trägt aber nix in die db ein:

INSERT INTO faq VALUES ('test', 'test', 'test', 'test')
Bitte warten ..
Mitglied: epole73
03.09.2008 um 13:41 Uhr
hier meine db:

CREATE TABLE `faq` (
`ID` int(11) NOT NULL,
`Frage` text collate latin1_general_ci NOT NULL,
`Antwort` text collate latin1_general_ci NOT NULL,
`Keywords` varchar(100) collate latin1_general_ci NOT NULL,
`Bilder` varchar(100) collate latin1_general_ci NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

werde mich jetzt mal durch deinen netten eintrag arbeiten ;)
Bitte warten ..
Mitglied: bytecounter
03.09.2008 um 14:05 Uhr
Also was mir so auffällt:
ID sollte autoincrement sein.

Ich halte es auch für besser, immer die Feldnamen mit zu übergeben, wie es in den Beispiel von Arano ist.
Bitte warten ..
Mitglied: epole73
03.09.2008 um 14:06 Uhr
nach eingabe des scriptes bekomme ich nun folgenden fehler:

Es gab einen Fehler beim eintragen in die Datenbank: #1054
Unknown column 'Keys' in 'field list'
Bitte warten ..
Mitglied: epole73
03.09.2008 um 14:22 Uhr
HEJ...auf einmal läuft es...na dann muss ich jetzt mal nachvollziehen was Arano da gebaut hat...und dann werde ich mich bestimmt wieder melden wenn es darum geht die daten aus der db auszugeben und verändern zu können. aber vieleicht schaffe ich es ja auch mal selbst. ganz lieben dank!
Bitte warten ..
Mitglied: epole73
03.09.2008 um 14:39 Uhr
ok, es funktioniert! top klasse und danke für die tipps.
Bitte warten ..
Ähnliche Inhalte
PHP
PHP Umstellung mysql connect
Frage von DPiegzaPHP7 Kommentare

Hallo zusammen. Ich bekomme immer diese Fehlermeldung / Warnung: Deprecated: mysql_connect(): The mysql extension is deprecated and will be ...

PHP
PHP MySQL Login
Frage von YanmaiPHP7 Kommentare

Hallo ihr Administratoren, ich habe eine Datenbank, in der alle User des Netzwerkes enthalten sind. Wenn ein User sich ...

PHP
MySQL in PHP mit Variablen
gelöst Frage von carl7nPHP10 Kommentare

Hallo, ich habe PHP-Grundkenntnisse, schaffe es aber nicht, nach meinen Vorstellungen ein paar kleine PHP-Scripts zusammen arbeiten zu lassen. ...

Datenbanken
Eine Art Access, nur mit PHP und MySQL?
gelöst Frage von McLionDatenbanken14 Kommentare

Hallo, gibt es eine Art wie Microsoft Access, nur auf PHP und MySQL aufbauend? OpenSource wäre noch schöner. Danke!

Neue Wissensbeiträge
Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 8 StundenApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 13 StundenWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 13 StundenWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 1 TagInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless19 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...

Windows Server
Remotesteuerung der Sitzung (Kennung XX) fehlgeschlagen
gelöst Frage von Stefan91Windows Server14 Kommentare

Hallo Zusammen, seit kurzem bekomme ich oben genannte Fehlermeldung, wenn ich versuche eine Remotesitzung über den Taskmanager fernzusteuern (Rechtsklick ...