[GastForen Programmierung/Entwicklung PHP und MySQL INSERT - Problem unter PHP

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

INSERT - Problem unter PHP

jobst1111
Beiträge gesamt: 5

7. Sep 2002, 15:38
Beitrag # 1 von 8
Bewertung:
(1808 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
 
Hallo ! ;-)


Ich habe hier ein kleines Problem. Ich bin mit PHP und MySQL noch ganz neu. ... Sicher ist das hier nur ein sehr kleines Problem .
Vielleicht kann mir ja jemand helfen.

Es handelt sich um ein einfaches in PHP geschriebenes Gästebuch.
Die Daten werden auf 'sign.php' eingegeben :


<?php include ("dbconnect.php"); ?>
<h2>Signieren Sie mein Gästebuch !!!</h2>
<form method=post action="create_entry.php">
<b>Name:</b>
<input type=text size=40 name=name>
<br>
<b>Ort:</b>
<input type=text size=40 name=ort>
<br>
<b>E-Mail:</b>
<input type=text size=40 name=email>
<br>
<b>URL:</b>
<input type=text size=40 name=url>
<br>
<b>Kommentar:</b>
<textarea name=kommentar cols=40 rows=4 wrap=virtual></textarea>
<br>
<input type=submit name=submit value="submit">
<input type=reset name=reset value="Löschen">
</form>


Es sollte dann 'create_entry.php' die Daten in MySQL einfügen :


<?php include("dbconnect.php"); ?>
<?php

if ($submit == "submit")
{
$query = "insert into gaestebuch "
." (name,ort,email,url,kommentar) values "
."('$name', '$ort', '$email', '$url', '$kommentar')"
;
//mysql_query($query);
safe_query($query);
echo mysql_error();
?>
<h2>Danke!!</h2>
<h2><a href="view.php">Sehen Sie mein Gästebuch an!!!</a></h2>
<?php
}
else
{
echo mysql_error();
include("sign.php");
}
?>


Das Problem ist, daß sich einfach keine Daten in die Datenbank einfügen lassen.
Dagegen funktioniert die Ausgabe mittels z.B.:"select * from ..." anstandslos.Nur funktioniert die "insert"-anweisung nicht, es werden keine Daten in die Datenbank eingefügt.
Es könnte sich nun um einen Fehler im PHP-Script handeln, ich vermute mittlerweile aber eher, daß es sich hier um das altbekannte Problem der Benutzerrechte handelt ....Benutze ich die Datenbank "test" samt tabellen tut sich nichts und es gibt auch keine Fehlermeldungen.
Nun habe ich mich unter
mysql_connect("localhost", "jobst@localhost" , "")- als jobst@localhost (ohne Passwort) versucht einzuloggen. MySQL habe ich die Anweisung "grant all on *.* to jobst@localhost" gegeben. Auf jeden Fall müßte ich nun doch als jobst@localhost auch auf andere Datenbanken als die "test"-Datenbank Zugriff haben ?

Versuche ich nun das PHP-Script für die Datenbank 'gaestebuch' auzuführen, erhalte ich die Fehlermeldung :
"Access denied for user: '@localhost' to database 'gaestebuch'"
(weshalb erhalte ich die Fehlermeldung für @localhost und nicht für jobst@localhost ?).
Hat hier jemand eine Ahnung wie oder wo ich etwas verändern muß um von meinem PHP-Script aus in die Datenbank schreiben zu können ?

Vielen Dank im Voraus für Eure Hilfe,

Grüße, Jobst ;-)
X

INSERT - Problem unter PHP

Miro Dietiker
Beiträge gesamt: 699

8. Sep 2002, 00:30
Beitrag # 2 von 8
Beitrag ID: #10891
Bewertung:
(1808 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Schon mal nachgeschaut, ob die Dateien der Datenbank fälschlicherweise das Attribut "W" (Schreiben) deaktiviert haben??
(Im Explorer nachschauen...)

http://www.hilfdirselbst.ch/...15&topic_id=2032

GR: MDi


als Antwort auf: [#10881]

INSERT - Problem unter PHP

Anonym
Beiträge gesamt: 22827

8. Sep 2002, 08:35
Beitrag # 3 von 8
Beitrag ID: #10895
Bewertung:
(1808 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo und besten Dank für die Antwort ! ;-)

Was genau meinst Du mit 'im Explorer nachschauen' ?
Meinst Du den Browser ? Also wenn Du das meinst, - ich arbeite unter Linux.
Die Idee klingt sehr gut mit den deaktivierten Schreibrechten. Das Problem habe ich aber nur vom PHP-Script aus ...
Von der Konsole kann ich mittels 'Insert' Daten in die Datenbank eingeben.
Kannst Du mit genauer sagen welche Datei es wäre die ich auf ihre Schreibrechte zu untersuchen hätte ?

Grüße, Jobst ;-)


als Antwort auf: [#10881]

INSERT - Problem unter PHP

Miro Dietiker
Beiträge gesamt: 699

9. Sep 2002, 00:38
Beitrag # 4 von 8
Beitrag ID: #10916
Bewertung:
(1808 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Der Link nicht einfachso, sondern da wurde das Thema "read only"
bereits kurz und bündig besprochen (incl. Pfad zu den Files!) .)

In Deinem Falle aber wird dies sicher nicht das Problem sein und
ich frage mich sehr was es wohl sein könnte, denn deine Beschreibung
kommt mir wirklich seltsam vor - Sorry

Bleib dran! Miro


als Antwort auf: [#10881]

INSERT - Problem unter PHP

Anonym
Beiträge gesamt: 22827

9. Sep 2002, 08:43
Beitrag # 5 von 8
Beitrag ID: #10921
Bewertung:
(1808 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Miro !

Ich denke langsam komme ich der Lösung des Problems näher ... ;-)

Ich habe wieder ein paar Sachen zur Problemlösung probiert.
Für den Benutzername habe ich 'root' und auch 'jobst' probiert. Beides wurde angenommen. Aber ohne Erfolg.
Dann habe ich die Variablen-Kennzeichnung
$_POST['$name'] = $name; umgedreht zu
$name = $_POST['$name'];
Auch das wird angenommen, aber ohne Erfolg.

Die Fehlermeldung habe ich eingefügt. Es werden aber keine Fehler beim Ausführen angezeigt.
Dabei kam mir Idee innerhalb der SQL-Anfrage einfach mal imaginäre Sachen reinzuschreiben - wie es dann so mit den Fehlermeldungen aussieht ........
Und siehe da :
Ich kann den größten Unsin
n reinschreiben und es gibt keine Fehlermeldungen !!!!!!!!!!!!!!!!!!!!!
Eigenartig dabei ist daß dies nur bei 'create_entry.php' so der Fall ist. Beim funktionierenden Script 'view.php! (siehe weiter unten) zum Anzeigen des Tabellen-Inhalts kann ich keine Fehler einbauen. Dort werden sie sofort erkannt .....

O.k., wie gesagt, den Inhalt einer Tabelle kann ich mir anzeigen lassen. Dieses Script funktioniert dabei ohne Probleme :

'view.php' :

<?php include("dbconnect.php"); ?>

<h2>Gästebuch!!</h2>

<?php

$result = mysql_query("select * from gaestebuch") or die ("Fehler");
if ($result)
{
while ($row = mysql_fetch_array($result))
{
print "<b>Name:</b>";
print $row["name"];
print "<br>\n";
print "<b>Ort:</b>";
print $row["ort"];
print "<br>\n";
print "<b>E-Mail:</b>";
print $row["email"];
print "<br>\n";
print "<b>URL:</b>";
print $row["url"];
print "<br>\n";
print "<b>Kommentar:</b>";
print $row["kommentar"];
print "<br>\n";
print "<br>\n";
print "<br>\n";
}
mysql_free_result($result);
}
?>
<h2><a href="sign.php">Signieren Sie mein Gästebuch!!</a></h2>

Das Problem liegt dann wohl eher irgendwo hier in diesen beiden Scripten über die die Daten per 'INSERT' in die Datenbank eingefügt werden sollen :


'sign.php' :


<?php include ("dbconnect.php"); ?>

<h2>Signieren Sie mein Gästebuch !!!</h2>

<form method=post action="create_entry.php">

<b>Name:</b>
<input type=text size=40 name=name>
<br>
<b>Ort:</b>
<input type=text size=40 name=ort>
<br>
<b>E-Mail:</b>
<input type=text size=40 name=email>
<br>
<b>URL:</b>
<input type=text size=40 name=url>
<br>
<b>Kommentar:</b>
<textarea name=kommentar cols=40 rows=4 wrap=virtual></textarea>
<br>

<input type=submit name=submit value="Signieren!">
<input type=reset name=reset value="Löschen">
</form>



und 'create_entry.php' :



<?php include("dbconnect.php"); ?>
<?php

if ($submit == "submit")
{

$name = $_POST['name'];
$ort = $_POST['ort'];
$email = $_POST['email'];
$kommentar = $_POST['kommentar'];


$query = "insert into gaestebuch "
." (name,ort,email,url,kommentar) values "
."('$name', '$ort', '$email', '$url', '$kommentar')"
;
mysql_query($query)
or print "&gt;&gt;&gt; MySQL-Error: ".mysql_errno()." -&gt; ".mysql_error()."<br>\n";
?>
<h2>Danke!!</h2>
<h2><a href="view.php">Sehen Sie mein Gästebuch an!!!</a></h2>
<?php
}
else
{
include("sign.php");
}
?>


So, also daß keine Fehlermeldungen angezeigt werden, gibt ja vielleicht noch einen Hoffnungsschimmer ;-)


Erst mal bis dann,

Grüße, Jobst ;-) ;-) ;-)



als Antwort auf: [#10881]

INSERT - Problem unter PHP

jobst1111
Beiträge gesamt: 5

11. Sep 2002, 15:56
Beitrag # 6 von 8
Beitrag ID: #11102
Bewertung:
(1808 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Leute ! ;-)

Ich habe die Lösung gefunden !
Ich bin sowas von erleichtert, es ist aber auch ganz schön peinlich,
wie man sowas übersehen kann ..........................
Aber ohne Euch hätte ich keine Chance gehabt .........


Ich hatte die Variablen-Kennzeichnung erst vor kurzer Zeit auf $_POST geändert,
nachdem ich erfuhr daß dies mit PHP >= 4.2 nötig wäre.
Der einzige Fehler den ich jetzt nur noch gemacht habe war für den
Button nicht "Signieren!" sondern "submit" anzugeben.
Ich kann jetzt mit INSERT Daten in die Datenbank einfügen !
Die Änderung sieht jetzt so aus und die ganze Sache läuft wie Zucker ;-) .



if ($_POST[submit] == "Signieren!")
{

$name = $_POST['name'];
$ort = $_POST['ort'];
$email = $_POST['email'];
$url = $_POST['url'];
$kommentar = $_POST['kommentar'];


Auf jeden Fall VIELEN DANK für die Hilfe und Eure Bemühungen !!!


Grüße, Jobst ;-) ;-) ;-)


als Antwort auf: [#10881]

INSERT - Problem unter PHP

Miro Dietiker
Beiträge gesamt: 699

11. Sep 2002, 18:57
Beitrag # 7 von 8
Beitrag ID: #11123
Bewertung:
(1808 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Da können wir ja bereits schon fast sagen, dass die ganze Diskussion
für die Katz war wenns denn ein solcher fehler war ;)

Auf mehr Erfolg punkto so blöden Fehlerchen, ich kenn das nur zu gut,
wie lästig die sind. Mein persönlicher Tipp für harte Fälle:
Bereits diverse male musste ich jede 2. Zeile mit einem echo oder
print füllen um zu überprüfen, ob ein Script auch wirklich das macht
was ich mir vorgestellt habe. Und bei diesen Prints da muss man auch
nicht sparen denn rausgelöscht sind sie schnell und sie bringen alles
zutage ,)

Viel Spass!
GR: MDi


als Antwort auf: [#10881]

INSERT - Problem unter PHP

Anonym
Beiträge gesamt: 22827

15. Sep 2002, 01:35
Beitrag # 8 von 8
Beitrag ID: #11412
Bewertung:
(1808 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Miro !

Das ist eine sehr gute Idee mit den 'Prints' und den 'Echos'. Werd ich mir merken und sicherlich noch häufig anwenden ;-)

Besten Dank auf jeden Fall nochmals !

Grüße, Jobst ;-)


als Antwort auf: [#10881]
X

Aktuell

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
21.01.2021 - 22.01.2021

Digicomp Academy AG, Bern oder Basel
Donnerstag, 21. Jan. 2021, 08.30 Uhr - Freitag, 22. Jan. 2021, 17.00 Uhr

Kurs

Dieser Basic-Kurs ist der perfekte Einstieg in die Welt von InDesign, dem vielseitigen Layout-Programm. Sie lernen, wie InDesign aufgebaut ist, wie saubere Dokumente erstellt werden und wie man korrekt mit gelieferten InDesign-Projekten umgeht.

Dauer: 2 Tage
Preis: CHF 1'400.–

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/INDEM1

Veranstaltungen
21.01.2021

Illustrator - das unbekannte Wesen

Online
Donnerstag, 21. Jan. 2021, 19.00 Uhr

Vortrag

Millionen Funktionen, und immer kommen neue dazu! Monika Gause ist jeden Januar aufs Neue ein gern gesehener Gast bei der IDUG Stuttgart. - Sie bringt alle Neuerungen mit, die 2020 dazukamen und jede Menge Tipps und Tricks. - Zudem wird sie uns informieren, was wir in Illustrator beachten müssen, wenn wir Daten fürs Web erstellen bzw. aufbereiten. - Wichtig zu wissen: "Dos and Don'ts" in Illustrator. Welche Fehler sollte man dringend vermeiden und was muss man unbedingt tun, damit es Spaß macht mit Illustrator zu arbeiten. - Dieses Jahr hast Du zusätzlich die Möglichkeit Monika im Voraus Fragen zu stellen. Fülle dieses Formular mit deinen Fragen; auch Beispieldateien sind anfügbar: https://forms.gle/fJmF8C6MjbDoEhED8

Nein

Organisator: InDesign Usergroup Stuttgart

Kontaktinformation: Christoph Steffens, E-Mailidug AT satzkiste DOT de

https://idugs67.eventbrite.de/

IDUGS #67 Illustrator mit Monika Gause

Neuste Foreneinträge


Fortlaufende Nummerierung der Druckbogen

Verschiedene Netzwerke Handeln

Netzwerklaufwerke verbinden -> Bei nicht verfügbar Fehlermeldung unterdrücken

Ende der Unterstützung von Flash Player - und jetzt?

Bilder High> Low

weitere peinliche Fragen zu Selbstverständlichkeiten

WLAN-Verbindung mit iPhone 11

In Illustrator einen Kreis zerschneiden bzw. erstmal sinnvoll anlegen

Event 'mausedown': Kriege das Kontext-Menü des Browsers nicht weg...

Skript-Ordner
medienjobs