php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 16-06-2008, 20:00
TheCure13
 Newbie
Links : Onlinestatus : TheCure13 ist offline
Registriert seit: May 2003
Ort: Thüringen
Beiträge: 109
TheCure13 ist zur Zeit noch ein unbeschriebenes Blatt
TheCure13 eine Nachricht über ICQ schicken TheCure13 eine Nachricht über AIM schicken
Standard Problem mit POST

Hallo,

ich habe da ein kleines (also für euch) für mich eher ein großes Problem.
Ich habe eine DB in die ich Daten eintragen will, mittels eines Formulares. Aber irgendwie kommen die Daten scheinbar nicht an.

Hier ist mal das Script, villeicht kann da ja mal jemand drüber gucken und mir sagen wo der Käfer ist.

PHP-Code:

<?
include('verbindung.php');
$abfrage "SELECT kunde, f_typ, f_nr, werk, fm_send FROM auslieferung";
$ergebnis mysql_query($abfrage);
?>
<html>
    <table border="1">
     <tr><td>Kunde</td><td>Fhzg.-typ</td><td>FIN</td><td>Werk</td><td>FM an Kunde</td><td>&nbsp;</td></tr>    
<?
while($row mysql_fetch_object($ergebnis))    {
    echo 
"<tr>";
    echo 
"<td>$row->kunde</td><td>$row->f_typ</td><td>$row->f_nr</td><td>$row->werk</td><td>$row->fm_send</td><td>&nbsp;</td>";
    echo 
"</tr>";
  }
?>
<form action="index.php" method="post">
     <tr><td colspan="6"><b>Einen neuen Eintrag anlegen</b></td></tr>
     <tr><td>Kunde</td><td>Fhzg.-typ</td><td>FIN</td><td>Werk</td><td>FM an Kunde</td><td>&nbsp;</td></tr>
     <tr>
        <td><input type="Text" name="kunde"></td>
        <td><input type="Text" name="f_typ"></td>
        <td><input type="Text" name="f_nr"></td>
        <td><input type="Text" name="werk"></td>        
        <td><input type="Text" name="fm_send"></td>
        <td><input type="Submit" value="Absenden"></td>
    </tr>    
 </table>
</form>
</html>
<?
//Neue Fahrzeugdaten in DB eintragen
$eintrag "INSERT INTO auslieferung (kunde, f_typ, f_nr, fm_send)
VALUES ($_POST[kunde], $_POST[f_typ], $_POST[f_nr], $_POST[werk], $_POST[fm_send])"
;
$eintragen mysql_query($eintrag);
//Wurden die Daten eingetragen?

if($eintragen == true)    {    echo "Eintrag war erfolgreich";    }
else    {    echo 
"Fehler beim Speichern";    }

echo 
$kunde."&nbsp;".$f_typ."&nbsp;".$f_nr."&nbsp;".$werk."&nbsp;".$fm_send;
 
?>
__________________
... wenn deine träume sterben dann wirst du alt !!!

Mit Zitat antworten
  #2 (permalink)  
Alt 16-06-2008, 20:22
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

du überprüfst nicht, ob das formular abgesendet wurde. der letzte teil des scriptes wird ja immer ausgeführt! außerdem solltest du dich mal über ein vernünftiges debugging informieren.und beachte auch mal folgendes zum thema programmierstil

gruß
peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #3 (permalink)  
Alt 16-06-2008, 20:34
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.578
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
$_POST[kunde], $_POST[f_typ], $_POST[f_nr], $_POST[werk], $_POST[fm_send]
Ist falsch, außer kunde, f_typ, f_nr, werk und fm_send sind Konstansten, was ich aber nicht glaube.

Richtig wäre $_POST['kunde']

Außerdem solltest du nicht Benutzereingaben direkt in SQL Queries schreiben, außer du willst, dass deine Webseite so einfach wie möglich gehackt wird.

Siehe: SQL-Injection
Mit Zitat antworten
  #4 (permalink)  
Alt 17-06-2008, 09:07
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Ist falsch, außer kunde, f_typ, f_nr, werk und fm_send sind Konstansten, was ich aber nicht glaube.
nö, sind sie nicht. nicht bei der schreibweise.

peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #5 (permalink)  
Alt 17-06-2008, 09:33
H2O
 PHP Junior
Links : Onlinestatus : H2O ist offline
Registriert seit: Jul 2007
Beiträge: 937
H2O ist zur Zeit noch ein unbeschriebenes Blatt
Standard Re: Problem mit POST

Zitat:
Original geschrieben von TheCure13
Aber irgendwie kommen die Daten scheinbar nicht an.
Ist eine wahnsinnig genaue Fehlerbeschreibung!
Zuerst solltest du vielleicht mal die Forumsregeln lesen und anwenden. Ich bin sicher, dann erhälste von mysql_error(() eine wunderschöne Fehlermeldung, die dir auch sagt, warum die Daten «irgendwie nicht ankommen»
__________________
Gruss
H2O
Mit Zitat antworten
  #6 (permalink)  
Alt 17-06-2008, 09:41
body
 Newbie
Links : Onlinestatus : body ist offline
Registriert seit: Jun 2008
Beiträge: 19
body ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Kropff
nö, sind sie nicht. nicht bei der schreibweise.

peter
Also Kropff hat rescht $_POST[kunde] falsch
richtig $_POST['kunde']

Wass sagt denn der Fehleranzeige von MYSQL.
$fehler=mysql_error();
echo $fehler;

Füge disen Quellcode in deine datei ein und du wirst ein Fehler ernten.

Mit Zitat antworten
  #7 (permalink)  
Alt 17-06-2008, 09:43
MelloPie
 PHP Master
Links : Onlinestatus : MelloPie ist offline
Registriert seit: Jan 2002
Ort: Hessen
Beiträge: 4.380
MelloPie ist zur Zeit noch ein unbeschriebenes Blatt
Standard

wahrscheinlich einen column count doesnt match...
__________________
Beantworte nie Threads mit mehr als 15 followups...
Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25
Mit Zitat antworten
  #8 (permalink)  
Alt 17-06-2008, 09:44
UzumakiNaruto
 Registrierter Benutzer
Links : Onlinestatus : UzumakiNaruto ist offline
Registriert seit: Nov 2004
Beiträge: 642
UzumakiNaruto befindet sich auf einem aufstrebenden Ast
Standard Re: Problem mit POST

Zitat:
Original geschrieben von TheCure13
PHP-Code:
[...]
echo 
$kunde."&nbsp;".$f_typ."&nbsp;".$f_nr."&nbsp;".$werk."&nbsp;".$fm_send
eine ausgabe wird hier nie erscheinen ;-)

PHP-Code:
echo $_POST['kunde']; 
schon eher
__________________
Gruß
Uzu

private Homepage
Mit Zitat antworten
  #9 (permalink)  
Alt 17-06-2008, 09:52
H2O
 PHP Junior
Links : Onlinestatus : H2O ist offline
Registriert seit: Jul 2007
Beiträge: 937
H2O ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von MelloPie
wahrscheinlich einen column count doesnt match...
Nicht nur wahrscheinlich. Aber das ist nur einer von mehreren Fehlern. Und ausserdem sieht er die alle selber, wenn er sich an die Regeln hält.
Zitat:
Original geschrieben von UzumakiNaruto
eine ausgabe wird hier nie erscheinen
Wenn register_globals eingeschaltet sind schon ...
__________________
Gruss
H2O
Mit Zitat antworten
  #10 (permalink)  
Alt 17-06-2008, 19:41
TheCure13
 Newbie
Links : Onlinestatus : TheCure13 ist offline
Registriert seit: May 2003
Ort: Thüringen
Beiträge: 109
TheCure13 ist zur Zeit noch ein unbeschriebenes Blatt
TheCure13 eine Nachricht über ICQ schicken TheCure13 eine Nachricht über AIM schicken
Standard

Erstmal danke für die zahlreichen Antworten.

Also mal der Reihe nach:

Irgendwie kommt nichts an war die saloppe Bezeichnung für:
In der DB wird nichts gespeichert

Durch einfügen von:
PHP-Code:
$fehler=mysql_error();
echo 
$fehler
erscheint nach dem absenden des ausgefüllten formulars folgendes:

Column count doesn't match value count at row 1


Wenn ich die vorgeschlagene Schreibweise:
PHP-Code:
$eintrag "INSERT INTO auslieferung (kunde, f_typ, f_nr, fm_send)
VALUES ($_POST['kunde'], $_POST['f_typ'], $_POST['f_nr'], $_POST['werk'], $_POST['fm_send'])"
;
$eintragen mysql_query($eintrag); 
bei dem INSERT INTO verwende, kommt folgende Fehlermeldung nach dem Absenden des Formulares:

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\xampp\htdocs\fliegl\index.php on line 33

In Line 33 steht der INSERT INTO Befehl
__________________
... wenn deine träume sterben dann wirst du alt !!!

Mit Zitat antworten
  #11 (permalink)  
Alt 17-06-2008, 19:48
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Column count doesn't match value count at row 1
fehler 1
Zitat:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, ...
fehler 2
PHP-Code:
$eintrag "INSERT INTO auslieferung (kunde, f_typ, f_nr, fm_send)
VALUES ($_POST['kunde'], $_POST['f_typ'], $_POST['f_nr'], $_POST['werk'], $_POST['fm_send'])"

hierzu wurde ziemlicher blödsinn geschrieben. lies dir mal das hier genau durch. und den ersten fehler wirst du wohl selber finden (siehe auch hier).

gruß
peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #12 (permalink)  
Alt 17-06-2008, 20:13
TheCure13
 Newbie
Links : Onlinestatus : TheCure13 ist offline
Registriert seit: May 2003
Ort: Thüringen
Beiträge: 109
TheCure13 ist zur Zeit noch ein unbeschriebenes Blatt
TheCure13 eine Nachricht über ICQ schicken TheCure13 eine Nachricht über AIM schicken
Standard

So sieht meine Datei jetzt aus:

PHP-Code:
<?
include('verbindung.php');
$abfrage "SELECT kunde, f_typ, f_nr, werk, fm_send FROM auslieferung";
$ergebnis mysql_query($abfrage);
?>
<html>
    <table border="1">
     <tr><td>Kunde</td><td>Fhzg.-typ</td><td>FIN</td><td>Werk</td><td>FM an Kunde</td><td>&nbsp;</td></tr>    
<?
while($row mysql_fetch_object($ergebnis))    {
    echo 
"<tr>";
    echo 
"<td>$row->kunde</td><td>$row->f_typ</td><td>$row->f_nr</td><td>$row->werk</td><td>$row->fm_send</td><td>&nbsp;</td>";
    echo 
"</tr>";
  }
?>
<form action="index.php" method="post">
     <tr><td colspan="6"><b>Einen neuen Eintrag anlegen</b></td></tr>
     <tr><td>Kunde</td><td>Fhzg.-typ</td><td>FIN</td><td>Werk</td><td>FM an Kunde</td><td>&nbsp;</td></tr>
     <tr>
        <td><input type="Text" name="kunde"></td>
        <td><input type="Text" name="f_typ"></td>
        <td><input type="Text" name="f_nr"></td>
        <td><input type="Text" name="werk"></td>        
        <td><input type="Text" name="fm_send"></td>
        <td><input type="Submit" value="Absenden"></td>
    </tr>    
 </table>
</form>
</html>
<?
//Neue Fahrzeugdaten in DB eintragen
$eintrag "INSERT INTO auslieferung (kunde, f_typ, f_nr, fm_send) VALUES ($_POST[kunde], $_POST[f_typ], $_POST[f_nr], $_POST[werk], $_POST[fm_send])";
$eintragen mysql_query($eintrag);
//Wurden die Daten eingetragen?

if($eintragen == true)    {    echo "Eintrag war erfolgreich<br />";    }
else    {    echo 
"Fehler beim Speichern<br />";    }

echo 
$_POST['kunde']."&nbsp;".$_POST['f_typ']."&nbsp;".$_POST['f_nr']."&nbsp;".$_POST['werk']."&nbsp;".$_POST['fm_send'];

echo 
"<br />";
$fehler=mysql_error();
echo 
$fehler;
?>
Diese Fehlermeldung kommt:

Column count doesn't match value count at row 1

und ich hab keinen Plan was die mir sagen will, oder was ich falsch mache. Das mit den Zeichenketten auf deiner Seite habe ich mir durchgelesen. Aber ehrlich gesagt ... Ich werde da nicht wirklich draus schlau.
KAnnst du mir das nicht erklären als wäre ich 8 Jahre alt?
__________________
... wenn deine träume sterben dann wirst du alt !!!

Mit Zitat antworten
  #13 (permalink)  
Alt 17-06-2008, 20:24
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Column count doesn't match value count at row 1
das heißt, dass du in deinem query vier felder auswählst, aber fünf einträge hineinschreiben willst.
Zitat:
Das mit den Zeichenketten auf deiner Seite habe ich mir durchgelesen ... KAnnst du mir das nicht erklären als wäre ich 8 Jahre alt?
LESEN, LESEN, LESEN! AUSPROBIEREN, AUSPROBIEREN, AUSPROBIEREN! wenn du das nicht begreifst, sollest du die finger vom programmieren lassen.

gruß
peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #14 (permalink)  
Alt 17-06-2008, 20:55
UzumakiNaruto
 Registrierter Benutzer
Links : Onlinestatus : UzumakiNaruto ist offline
Registriert seit: Nov 2004
Beiträge: 642
UzumakiNaruto befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
$eintrag = "INSERT INTO auslieferung (kunde, f_typ, f_nr, fm_send) VALUES ($_POST[kunde], $_POST[f_typ], $_POST[f_nr], $_POST[werk], $_POST[fm_send])";
das sind alles zahlenwerte oder boolean????
sollten es Strings sein, solltest du diese auch so kennzeichnen

PHP-Code:
$eintrag "
INSERT INTO auslieferung (
   kunde, f_typ, f_nr, fm_send
) VALUES (
   $_POST[kunde], '$_POST[f_typ]', $_POST[f_nr], '$_POST[fm_send]'
)"

__________________
Gruß
Uzu

private Homepage
Mit Zitat antworten
  #15 (permalink)  
Alt 17-06-2008, 21:14
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

zuerst sollte er mal zählen lernen
PHP-Code:
(kundef_typf_nrfm_send
und dann
PHP-Code:
($_POST[kunde], $_POST[f_typ], $_POST[f_nr], $_POST[werk], $_POST[fm_send]) 
peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 14:32 Uhr.