SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

TYPO3 Kochbuch

TYPO3 Kochbuch zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 01.10.2003, 21:36:30
NelliB. NelliB. ist offline
Anfänger
 
Registriert seit: Oct 2003
Ort: Niederösterreich
Beiträge: 29
Daten aus Formular werden nicht an DB übergeben

Hi!

Bin ganz neu hier, und etwas verzweifelt. Ich probiere, und probiere, seit Tagen, seit vielen Stunden, und kriegs einfach nicht hin.

Zu meinem Problem:

Ich habe ein Formular gemacht, in dieses sollen Daten eingegeben werden. Die Daten sollen an eine PHP-Seite übergeben werden, und in eine Datenbank eingetragen werden.

Die Daten, die ich im Formular eingebe, werden nicht an die Datenbank übergeben, und beim Klick auf den Senden-Button erhalte ich die Fehlermeldung, dass einige Felder falsch oder unvollständig ausgefüllt wurden. Die Felder im Script für Name, Text, etc. sind leer.

Der Code der HTML-Seite fürs Formular:

<html>
<head>
<title>guest1</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<form method="post" name="guest1" action="guest_2.php">
<table width="300" border="0" cellspacing="0" cellpadding="5">
<tr>
<td width="100" bgcolor="#CCCCCC">Name:</td>
<td width="200" bgcolor="#00FF99">
<input type="text" name="name" size="30" maxlength="50">
</td>
</tr>
<tr>
<td width="100" bgcolor="#CCCCCC">E-Mail:</td>
<td width="200" bgcolor="#00FF99">
<input type="text" name="email" size="30" maxlength="50">
</td>
</tr>
<tr>
<td width="100" bgcolor="#CCCCCC" valign="top">Text:</td>
<td width="200" bgcolor="#00FF99">
<textarea name="text" cols="30" rows="10"></textarea>
</td>
</tr>
<tr>
<td width="100" bgcolor="#CCCCCC">&nbsp;</td>
<td width="200" bgcolor="#00FF99">
<input type="submit" name="Senden" value="Absenden">
<input type="reset" name="Reset" value="Reset">
</td>
</tr>
</table>
</form>

</body>
</html>


Der Code der guest_2.php-Seite:

<html>
<head>
<title>G&auml;stebuch</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.text {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; color: #333333}
//-->
</style>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<span class="text">
<?php
$datum=date("Y-m-d H:i:s");
$db=@mysql_connect("localhost","root","root")
or die('<span class="text">Das Gästebuch ist zur Zeit nicht verfügbar...</span>');
if($name!="" && $email!="" && $text!="")
{
$eintrag="INSERT INTO guest(datum, name, email, text) VALUES ('$datum', '$name', '$email', '$text')";
mysql_db_query("humboldt",$eintrag);
mysql_close($db);
echo "Ihr Eintrag wurde erfolgreich vorgenommen!";
}
else
{
echo "Eintrag wurde nicht vorgenommen, da einige Felder falsch oder unvollständig ausgefüllt wurden!";
}
?>
</span>
<table border="0" cellspacing="2" cellpadding="4">
<tr align="left" valign="top">
<td width="50" class="text" bgcolor="#999999">Name:</td>
<td class="text" bgcolor="#CCCCCC">
<?php echo $name;?></td>
</tr>
<tr align="left" valign="top">
<td width="50" class="text" bgcolor="#999999">E-Mail:</td>
<td class="text" bgcolor="#CCCCCC">
<?php echo $email;?></td>
</tr>
<tr align="left" valign="top">
<td width="50" class="text" bgcolor="#999999">Text:</td>
<td class="text" bgcolor="#CCCCCC">
<?php echo $text;?></td>
</tr>
</table>
</body>
</html>



WAS MACHE ICH FALSCH? Ich habe keine Ahnung. Habe alle möglichen Variationen ausprobiert, weiß nicht mehr weiter. Habe auch erst grade angefangen, mich mit PHP und MYSQL zu beschäftigen.

Danke schon im Voraus für eure Zeit und Ideen.

Nelli B.
Mit Zitat antworten
  #2  
Alt 01.10.2003, 21:41:33
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Vermutlich das:
Mit Version 4.1 wurde in PHP ein neues Sicherheitskonzept eingeführt, welches seit Version 4.2 standardmäßig aktiviert ist. Seit dem muss man alle übergebenen Variablen mit
$_GET['variable'] - für Urlparameter
$_POST['variable'] - für mit method=post versendete Parameter
$_COOKIE['variable'] - für Cookies
$_REQUEST['variable'] - $_POST, $_GET und $_COOKIE zusammen
$_FILES['variable'] - für hochgeladene Dateien
$_SERVER['variable'] - für Servervariablen (z.B. $_SERVER['PHP_SELF']
$_ENV['variable'] - für Umgebungsvariablen
ansprechen. Also ehemals $str mit $_GET['str']
Oder Du setzt in der php.ini register_globals auf on. Davon rate ich aber ab.
__________________
sic!
--> http://dbCF.de/

Geändert von ­c­4­ (02.10.2003 um 21:32:51 Uhr)
Mit Zitat antworten
  #3  
Alt 02.10.2003, 21:24:15
NelliB. NelliB. ist offline
Anfänger
 
Registriert seit: Oct 2003
Ort: Niederösterreich
Beiträge: 29
"Oder Du setzt in der php.ini register_globals (o.ä.) auf on. Davon rate ich aber ab."

Danke für den Tipp, ich habs probiert, da ich nicht genau weiß, wie der andere Vorschlag funktionieren soll (bin wie gesagt ein absoluter Anfänger). Hat aber absolut keine Änderung gebracht.

Das gibts nicht, dass da bei so vielen Leuten hier, die sich wirklich auskennen, keiner weiß, warum mein oben geschildertes Problem nicht funktioniert.

Na dann, muss ich wohl weiter auf ein Wunder hoffen, sitze seit fast einer Woche jeden Abend dabei, und probiere herum.

Grüße, Nelli B.
Mit Zitat antworten
  #4  
Alt 02.10.2003, 21:30:38
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Welche Version von PHP nutzt Du und welchen Wert hat register_globals in der php.ini?

Werden die übergebenen Werte in der guest_2.php angezeigt, wenn Du sie kurz vor dem mySQL-Zeugs ausgeben lässt?
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #5  
Alt 02.10.2003, 22:42:37
NelliB. NelliB. ist offline
Anfänger
 
Registriert seit: Oct 2003
Ort: Niederösterreich
Beiträge: 29
Danke fürs Helfen, C4!

Also, ich habe die PHP Version 4.2.2 und den Wert von register_globals habe ich auf On gesetzt. Wie vorgeschlagen.

Wenn ich das Formular ausfülle, werden die Daten nicht weitergegeben. Nicht an guest_2.php, und nicht an die Datenbank. Bei vielem Herumprobieren habe ich es geschafft, dass zwar die Daten nicht an die guest_2.php weitergegeben werden, dafür in der Datenbank selbst leere Einträge waren. Da habe ich bei der if-Bedingung die " so gesetzt: if($name!='"' && $email!='"' && $text!='"'). Hat mich aber wie gesagt auch nicht wirklich weitergebracht.

Generell habe ich einige Scripte, im Endeffekt besteht bei allen dasselbe Problem. Geht es darum, aus der Datenbank Einträge über ein Script zu löschen, oder einzufügen, klappt das nie. Jedoch werden die Daten aus der Datenbank ausgelesen, das funktioniert in allen Scripts. Also muss die Verbindung zur Datenbank ja vorhanden sein, sonst hätte ich ja auch eine Fehlermeldung, nicht?

Naja, vielleicht hast du ja noch eine Idee zu all dem, ich bin auf jeden Fall mit meiner Weisheit am Ende!

MFG Nelli B.
Mit Zitat antworten
  #6  
Alt 02.10.2003, 22:57:09
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Also ich hab keine fein Idee.

Ich kann nur darauf bauen, dass Du eine falsche php.ini inspiziert hast. Daher dieser Versuch: Schreib mal in die guest_2.php
echo $_POST['email'];
Sollte auch das nichts ausgeben, dann ....
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #7  
Alt 03.10.2003, 02:54:54
chris17 chris17 ist offline
Senior Member
 
Registriert seit: Apr 2003
Alter: 57
Beiträge: 1.236
Nabend zusammen,

@NelliB.: Hast Du nach dem Ändern der php.ini den Server neu gestartet?

Gruss

chris17
Mit Zitat antworten
  #8  
Alt 03.10.2003, 10:54:40
NelliB. NelliB. ist offline
Anfänger
 
Registriert seit: Oct 2003
Ort: Niederösterreich
Beiträge: 29
Danke dass ihr euch meiner "erbarmt" habt!

So, habe "echo $_POST['email'];" ausprobiert (ist eh egal wo ich es genau einfüge?, ich habs an mehreren Stellen probiert). NICHTS ist passiert. Genau dasselbe wie immer. Auch habe ich das php.ini kontrolliert, register_globals ist immer noch auf On.

@chris 17:Ich habe alles auf meinem PC installiert, Webserver Apache, Mysql und Php. Hatte dazu ganz gute Unterlagen, wo sogar ich mich halbwegs auskannte..... Naja, das habe ich alles schon überprüft, ob ich da einen Fehler gemacht habe, bei der Installation....

Danke fürs Helfen, und schade, dass das ganze net klappt. Am liebsten würde ich alles aus dem Fenster schmeissen, so gernervt bin ich schon davon.

Grüsse, Nelli B.
Mit Zitat antworten
  #9  
Alt 03.10.2003, 14:13:50
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
Re: Daten aus Formular werden nicht an DB übergeben

Zitat:
Original geschrieben von NelliB.
Hi!

Die Felder im Script für Name, Text, etc. sind leer.
Da heißt du gibst keine Daten ein oder habe ich dich da falsch verstanden?

Zitat:
Original geschrieben von NelliB.
if($name!="" && $email!="" && $text!="")
Hier aber schreibst du nun, dass nur eingetragen werden soll wenn eben diese drei Felder nicht leer sind. Also kann auch nicht eingetragen werden, wenn eines der drei Felder (Name, email, text) leer ist.

Das ist das einzige, was mir dazu eingefallen ist, wenn ich dich nicht falsch verstanden habe.
Mit Zitat antworten
  #10  
Alt 03.10.2003, 14:32:44
NelliB. NelliB. ist offline
Anfänger
 
Registriert seit: Oct 2003
Ort: Niederösterreich
Beiträge: 29
@xabbuh:

"Die Felder im Script für Name, Text, etc. sind leer." soll heißen, dass wenn ich die Daten im Formular eingebe, sollten Sie ja nach erfolgreichem Eintrag in die Datenbank in guest_2.php nochmals ausgegeben werden. Das wird aber nicht gemacht. Ich habe gemeint in der PHP-Seite bleiben die Felder leer. Nicht im Formular. Weißt was ich meine?

Es etwas schwer sich für jeden verständlich auszudrücken!

Danke trotzdem für den Tipp.

Grüsse frustrierte NelliB.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:38:51 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt