Jetzt kostenlos Anmelden!


googlehupf

postet ab und an hier

1

Mittwoch, 7. Januar 2009, 00:14

Wieso klappt dieses script nicht?

Hallo,

bin fast am verzweifeln hier:

Das nachfolgende script soll Daaten in eine datenbanktabelle eintragen, aber es funktioniert nicht. Es kommt auch keine Fehlermeldung vom server.

Ist ersichtlich, wo das Problem liegen könnte?

P. S.: Jeder neue Eintrag bekommt eine sog. "Log-ID", die nach erfolgtem Eintrag angezeigt wird. Diese ID ist jedoch immer "0"...

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?
include("dbconnect.php");

$service $_POST["service"];
$station $_POST["station"];
$itu $_POST["itu"];
$address $_POST["address"];
$email $_POST["email"];
$www $_POST["www"];
$remarks $_POST["remarks"];
$bild1 $_POST["bild1"];
$bild2 $_POST["bild2"];
    
if ($station == "")
    $error true;
if ($error)
{
    print "Die Datenbank akzeptiert nur vollständig ausgefüllte Formulare. Bitte füllen Sie alle Felder aus! Vielen Dank.";
} else
{
$eintragen mysql_query("INSERT INTO qstation (service, station, itu, address, email, www, remarks, bild1, bild2) VALUES ('$service','$station','$itu','$address','$email','$www','$remarks','$bild1','$bild2')");

?>
<?php
{
?>
<p><u><i><b><font face="Arial">Das hat geklappt!</font></b></i></u></p>
<p>
<b><font face="Arial">Ihr Station wurde erfolgreich zur Datenbank hinzugefügt 
und ist sofort sichtbar</font></b><font face="Arial"><b>. 
Log-ID: <?= mysql_insert_id(); ?> </b></font></p>
<p>
<font face="Arial">
<b>Vielen Dank für Ihre Unterstützung!</b></font></p>
<p>
<?php
}
}
?>

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »googlehupf« (7. Januar 2009, 11:13)

  • Zum Seitenanfang
  • Zum Seitenende

-=LCL=-|BuLLeT| Männlich

#1.6.1 - still alive #

Beiträge: 1 356

Geschlecht: Männlich

Wohnort: Leipzig

PHPKIT Version: 1.6.1

2

Mittwoch, 7. Januar 2009, 02:13

so auf den ersten blick würde ich sagen, dass dieses script keine info zu den IDs bekommt. woher soll es denn wissen, welche die nächste ID sein soll.

sprich, es müsste doch zuerst einmal eine DB abfrage rein, welche die letzte ID holt und diese müsste dann mit +1 summiert werden.

mhhh
  • Zum Seitenanfang
  • Zum Seitenende

googlehupf

postet ab und an hier

3

Mittwoch, 7. Januar 2009, 07:18

Hallo,

gute Frage, das script ist eine Abwandelung (abgespeckte Version) von diesem nachfolgenden hier, deshalb ist der Tabellenname bei "INSERT INTO" anders...

Das nachfolgende Script funktioniert auch tadellos, hier finde ich aber nichts mit +1 oder so...

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<?
$mailto "info@tblablabla.de";
include("dbconnect.php");
$dienst $_POST["dienst"];
$freq $_POST["freq"];
$station $_POST["station"];
$stationother $_POST["stationother"];
$itu $_POST["itu"];
$relais $_POST["relais"];
$lang $_POST["D1"];
$date $_POST["T1"];
$time $_POST["time"];
$sonstiges $_POST["sonstiges"];
$receiver1 $_POST["receiver1"];
$receiver $_POST["receiver"];
$antenna1 $_POST["antenna1"];
$antenna $_POST["antenna"];
$qth "";//$_POST["qth"];
$audio $_POST["audio"];
$SINPO $_POST["SINPO"];
$betriebsart $_POST["betriebsart"];
$user $_POST["user"];
$wohnort $_POST["wohnort"];
$empfangsland $_POST["empfangsland"];

$freq str_replace(",""."$freq);
$audio $audio == "" "" : (substr($audio07) != "http://" "http://".$audio $audio);
$datum explode(".",$date);
$date $datum[2]."-".$datum[1]."-".$datum[0];

$error count($_POST) == 0;
foreach ($_POST as $k=>$v)
    if ($v == "" && $k != "stationother" && $k != "antenna" && $k != "audio")
        $error true;
        
if ($station == "-2")
    $station $stationother;
if ($station == "")
    $error true;
if ($error)
{
    print "Die Datenbank akzeptiert nur vollständig ausgefüllte Formulare. Bitte füllen Sie alle Felder aus! Vielen Dank.";
} else
{
$uid $user == "Gast" || strtolower($user) == "guest" 1;
$eintragen mysql_query("INSERT INTO qrgdb (freq, station, itu, relais, lang, date, time, sonstiges, receiver1, receiver, antenna1, antenna, qth, SINPO, betriebsart, user, wohnort,empfangsland, dienst,active,audio) VALUES ('$freq','$station','$itu', '$relais', '$lang','$date','$time','$sonstiges','$receiver1','$receiver','$antenna1','$antenna','$qth','$SINPO','$betriebsart','$user', '$wohnort','$empfangsland','$dienst','".($uid == "0" "1")."','".$audio."')");
if ($uid == 0)
{
    mail($mailto"Neuer Eintrag von unregistriertem Benutzer""Ein unregistrierter Benutzer hat einen Eintrag hinterlassen. Klicke auf den untenstehenden Link\nhttp://www.xxxx.de/xxxx/db2/check.php?id=".mysql_insert_id());
?>
<body bgcolor="#B5B5B5">
<u>
<i><b><font face="Arial">Fast geschafft!</font></b></i></u><p><font face="Arial">
<b>Ihr <i><font size="4">GAST-</font></i>Eintrag wurde mit der Log-ID <?= mysql_insert_id(); ?> an den 
Administrator zur Überprüfung weitergeleitet. Bitte <font color="#A82200"><i>loggen Sie sich ein oder 
registrieren Sie sich kostenlos,</i></font> damit Ihre Einträge sofort freigeschaltet werden 
und Ihrem Namen zugeordnet werden können.</b></font></p>
<p><font face="Arial">
<b>Vielen Dank für Ihre Unterstützung!</b></font></p>
<hr color="#C0C0C0" size="1">
<?php
} else
{
?>
<p><u><i><b><font face="Arial">Das hat geklappt!</font></b></i></u></p>
<p>
<b><font face="Arial">Ihr Eintrag wurde erfolgreich zur Datenbank hinzugefügt 
und ist sofort sichtbar</font></b><font face="Arial"><b>. 
Log-ID: <?= mysql_insert_id(); ?> </b></font></p>
<p>
<font face="Arial">
<b>Vielen Dank für Ihre Unterstützung!</b></font></p>
<p>
<?php
}
}
?>
  • Zum Seitenanfang
  • Zum Seitenende

kusnojo Männlich

findet sich zurecht

Beiträge: 111

Geschlecht: Männlich

PHPKIT Version: 1.6.1

4

Mittwoch, 7. Januar 2009, 09:18

kannst du mal denn msql befehl deiner tabelle qstation hier rein kopieren? (also die tabelle qstation exportieren und den code hier rein kopieren)
  • Zum Seitenanfang
  • Zum Seitenende

googlehupf

postet ab und an hier

5

Mittwoch, 7. Januar 2009, 09:36

Kein Problem:

MySQL-Abfrage(n)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
-- phpMyAdmin SQL Dump
-- version 2.11.9.1
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Erstellungszeit: 07. Januar 2009 um 09:36
-- Server Version: 4.1.19
-- PHP-Version: 4.4.8

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- Datenbank: `geoo`
--

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `qstation`
--

CREATE TABLE IF NOT EXISTS `qstation` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `service` varchar(30) character set latin1 collate latin1_german1_ci NOT NULL default '',
  `station` varchar(30) character set latin1 collate latin1_german1_ci NOT NULL default '',
  `itu` char(3) character set latin1 collate latin1_german1_ci NOT NULL default '',
  `address` varchar(50) character set latin1 collate latin1_german1_ci NOT NULL default '',
  `mail` varchar(30) character set latin1 collate latin1_german1_ci NOT NULL default '',
  `www` varchar(30) character set latin1 collate latin1_german1_ci NOT NULL default '',
  `remarks` text character set latin1 collate latin1_german1_ci NOT NULL,
  `bild1` varchar(30) character set latin1 collate latin1_german1_ci NOT NULL default '',
  `bild2` varchar(30) character set latin1 collate latin1_german1_ci NOT NULL default '',
  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

--
-- Daten für Tabelle `qstation`
--
  • Zum Seitenanfang
  • Zum Seitenende

-=LCL=-|BuLLeT| Männlich

#1.6.1 - still alive #

Beiträge: 1 356

Geschlecht: Männlich

Wohnort: Leipzig

PHPKIT Version: 1.6.1

6

Mittwoch, 7. Januar 2009, 10:27

das wäre meine nächste frage gewesen:

`id` int(10) unsigned NOT NULL auto_increment,

hat sich somit ja auch erledigt

mhhh
  • Zum Seitenanfang
  • Zum Seitenende

googlehupf

postet ab und an hier

7

Mittwoch, 7. Januar 2009, 11:16

Das ist aber so korrekt, oder?

Das Eingabeformular zum ausprobieren gibt es übrigens HIER

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »googlehupf« (7. Januar 2009, 11:29)

  • Zum Seitenanfang
  • Zum Seitenende

kusnojo Männlich

findet sich zurecht

Beiträge: 111

Geschlecht: Männlich

PHPKIT Version: 1.6.1

8

Mittwoch, 7. Januar 2009, 13:30

lösch mal deine tabelle qstation und importiere folgendes:

MySQL-Abfrage(n)

1
2
3
4
5
6
7
8
9
10
11
12
13
CREATE TABLE IF NOT EXISTS `qstation` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `service` varchar(30) character set latin1 collate latin1_german1_ci NOT NULL default '',
  `station` varchar(30) character set latin1 collate latin1_german1_ci NOT NULL default '',
  `itu` char(3) character set latin1 collate latin1_german1_ci NOT NULL default '',
  `address` varchar(50) character set latin1 collate latin1_german1_ci NOT NULL default '',
  `email` varchar(30) character set latin1 collate latin1_german1_ci NOT NULL default '',
  `www` varchar(30) character set latin1 collate latin1_german1_ci NOT NULL default '',
  `remarks` text character set latin1 collate latin1_german1_ci NOT NULL,
  `bild1` varchar(30) character set latin1 collate latin1_german1_ci NOT NULL default '',
  `bild2` varchar(30) character set latin1 collate latin1_german1_ci NOT NULL default '',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
  • Zum Seitenanfang
  • Zum Seitenende

googlehupf

postet ab und an hier

9

Mittwoch, 7. Januar 2009, 18:21

SUPI; ES KLAPPT!

Vielen Dank. Aber was ist jetzt anders?
  • Zum Seitenanfang
  • Zum Seitenende

kusnojo Männlich

findet sich zurecht

Beiträge: 111

Geschlecht: Männlich

PHPKIT Version: 1.6.1

10

Mittwoch, 7. Januar 2009, 23:57

ich habe

MySQL-Abfrage(n)

1
  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,

entfernt
und

MySQL-Abfrage(n)

1
 `mail` varchar(30) character set latin1 collate latin1_german1_ci NOT NULL default '',

in

MySQL-Abfrage(n)

1
 `email` varchar(30) character set latin1 collate latin1_german1_ci NOT NULL default '',

geändert.
  • Zum Seitenanfang
  • Zum Seitenende