per PHP Formular ca.1500 Zeichen in Db eintragen

Moderatoren: crack, Marwin, Krüsty

Beitragvon Rudi » Freitag 8. August 2003, 15:49

Halli Hallo,

da bin ich schonwieder.
Diesmal habe ich ein kleines, eher durch den Zeitaufwand, lästiges Problem.
Ich möchte per PHP Formular in eine Db Tabelle so ca. 1500 Zeichen in eine einzelne Spalte eintragen lassen.
Die restlichen Spalten bekommen viel weniger Inhalt und da klappt es auch.
Leider übernimmt die Datenbank in der Spalte wo die 1500 Zeichen rein sollen, davon nur so knappe 30 Zeichen und der Rest fällt unter den Tisch.
Die Tabellenspalte hat den Typ TEXT so das sie von Anfang an, nicht mit einer Zeichenbegrenzung versehen ist.
Aber da scheine ich wohl wieder Falsch mit zu liegen!

Jedenfalls ist es so, daß wenn ich die Zeichen mit PHPMyadmin eintrage. Die komplette Anzahl der Zeichen in die Spalte übernommen werden!
Woran kann das liegen.?

Gruß Rudi
Rudi
Advanced Member
 
Beiträge: 30
Registriert: Donnerstag 24. Juli 2003, 17:05

Beitragvon Marwin » Freitag 8. August 2003, 22:07

Die Tabellenspalte hat den Typ TEXT so das sie von Anfang an, nicht

mit einer Zeichenbegrenzung versehen ist.
Aber da scheine ich wohl wieder Falsch mit zu liegen!


So ist es, der Datentyp TEXT ist auf 65535 Byte beschränkt, was allerdings

nicht dein Problem erklärt.
Versuche zunächst einmal folgende Zeichenkette anstatt der 1500 Zeichen

(btw. ist das der Code für die I-Net Radios?) in die Datenbank per INSERT

INTO einzufügen:

Code: Alles auswählen
$zeichen = str_repeat("a", 1500);


Wenn dies auch nicht funktionieren sollte, so enthält dein Script

wahrscheinlich einen Fehler. Anders kann ich mir das Verhalten sonst nicht

erklären. In diesem Falle poste doch bitte den Code.

Marwin
Benutzeravatar
Marwin
Moderator
 
Beiträge: 307
Registriert: Donnerstag 8. Mai 2003, 21:19
Wohnort: Seelow, Deutschland

Beitragvon Rudi » Samstag 9. August 2003, 03:06

Hi Marwin,

genau so ist es!
Die 1500 Zeichen sind die Player Quellcodes für die I.net Radios.
Die größe der beiden Player Typen ist ja fast identisch, so das die Zeichenlänge auch fast die gleiche ist.
Am liebsten würde ich mir diese Schreiberei ja ersparen.
Aber ich weis nicht wie ich es anstellen muß, daß je nach gewählten Sender, entweder die php Datei mit dem Code für den Real Player oder für den Win Media Player in das Framest geladen wird.
Sonst würde ich nur jeweils eine Datei mit dem Player Code erstellen und in diese Datei wird dann nur noch die URL des Radio Streams per echo eingefügt.

Mit dem Formular zum einfügen der Datenbank Inhalte, habe ich sowieso einige Probleme.

Hier ist mal das Formular zum eintragen in die Datenbank.

Code: Alles auswählen
<?PHP
if ($button==" OK ") {
include ("config.php");
mysql_query("INSERT INTO
sender (station_name,player_typ,player_info,ticker_info,ticker_info2,title_info) VALUES ($station_name,$player_typ,$player_info,$ticker_info,$ticker_info2,$title_info)");
mysql_close();
?>
Die Daten wurden eingetragen<br>
<a href="insert.php">neuer Eintrag</a><br>
<a href="tab_info.php">zur Übersicht</a>
<?
}
else {
?>
<form method="post" action="insert.php">
<input type="text" name="station_name" value="">Name des Senders<br>
<select name="player_typ" size="1">
<option value="">Player Protokoll
<option value="Real Player">Real Player
<option value="Windows Media Player">Windows Media Player
</select>Bitte den Player Typ auswählen<br>
<select name="player_info" size="1">
<option value="">Player Typen
<option value="<div algin="absolute right" class="leostyle">Real Audio Stream</div>">Real Player
<option value="<div algin="absolute right" class="leostyle">Windows Media Player</div>">Windows Media Player
</select>Bitte den Player Typ auswählen<br>
<select name="stream_guete" size="1">
<option value="Stream Qualität">
<option value="von: 20 Kbit/s">20 Kbit/s
<option value="von: 32 Kbit/s">32 Kbit/s
<option value="von: 44 Kbit/s">44 Kbit/s
<option value="von: 64 Kbit/s">64 Kbit/s
<option value="von: 80 Kbit/s">80 Kbit/s
<option value="von: 128 Kbit/s">128 Kbit/s
</select><br>
<input type="text" name="ticker_info" value="Es läuft "><br>
<select name="ticker_info2" size="1">
<option value="Titel Anzeige">
<option value="Der Name des Titels wird Oben angezeigt!">Titel wird angezeigt
<option value="Es können keine Titel Infos angezeigt werden!">Titel wird nicht angezeigt
</select><br>
<input type="text" name="title_info" value="Titel Info"><br>
<input type="submit" name="button" value=" OK ">
</form>
<?
}
?>



Ich weis nicht mehr, ob ich das mit den DropDown Menüs einfach so in das Formular einfügen kann, oder ob ich noch etwas vergessen habe.
Ich hatte das mal in einem Tutorial gelesen, kann aber die Seite aber nicht mehr finden.
Wie muß ich es eigentlich anstellen, wenn ich die einzelnen Felder in eine Tabelle legen will.
Muß ich da etwas bestimmtes beachten, oder kann ich die einzelnen Rubriken einfach in [td][/td] einbetten?


Bis dann

Rudi
Rudi
Advanced Member
 
Beiträge: 30
Registriert: Donnerstag 24. Juli 2003, 17:05

Beitragvon Rudi » Samstag 9. August 2003, 18:23

Hi Marwin.

Also, ich bin jetzt schon ein ganzes Stück weiter gekommen. Das Problem mit den 1500 Zeichen in der Datenbank hat sich erstmal erledigt.
Ich habe es endlich geschafft nur mit einer URL aus der Datenbank zu arbeiten.
In dem Frameset habe ich noch ein Frame zugefügt und jetzt werden die verschiedenen Player Codes permanent in einer Win Media und einer Real Audio PHP Datei geladen und dann nur noch die URL´s aus der Datenbank per echo eingefügt. :)

Jetzt brauche ich aber in dem Formular zum Eintragen in die Datenbank. Eine Möglichkeit nur mit einer Auswahl gleich zwei Splaten in der Tabelle zu ändern.
Das heist, wenn das Radio gestartet wird. Soll es ja automatisch anfangen zu spielen.
Leider macht mir da der Real Player einen Strich durch die Rechnung. Wenn ich den auf Autostart="true" stehen lasse. Mosert er immer rum, das eine eingetragene URL mit rtsp:, http: u.s.w anfangen muß. Das ist ja auch klar, wenn der Stream für den Windows Media Player ist, wird natürlich beim Real Player keine URL eingetragen
Deshalb muß ich da noch drei Spalten in der Datenbank einfügen die diesen Autostart Befehl in den Player Codes wieder mit einem echo Befehl automatisch auf true,false und 0 setzt.

Hatte mir das so vorgestellt.

Code: Alles auswählen
<select name="wmp_auto_play,wmp_auto_play_num,rp_auto_play" size="1">
<option value="Player Typ wählen">
<option value="false;0;true">Real Player
<option value="true;1;false">Windows Media player
</select>


Also einfach eine Auswahl, die mir die drei Spalten aufeinmal ändert.

Brauche da unbedingt etwas Hilfe für.

Gruß Rudi
Rudi
Advanced Member
 
Beiträge: 30
Registriert: Donnerstag 24. Juli 2003, 17:05

Beitragvon Marwin » Samstag 9. August 2003, 18:53

Ich kann dir dabei leider nicht ganz folgen. Was für eine Auswahl soll drei Spalten ändern? Sollen die drei Spalten jeweils true, false, 0 oder 1 enthalten?

:blink: Marwin
Benutzeravatar
Marwin
Moderator
 
Beiträge: 307
Registriert: Donnerstag 8. Mai 2003, 21:19
Wohnort: Seelow, Deutschland

Beitragvon Rudi » Samstag 9. August 2003, 20:07

Hi,

so ist es. In dem Formular soll per Auswahl angegeben werden. Ob es sich um ein Real Audio oder um ein Windows Media Stream handelt.

Wenn Real Audio ausgewählt wird, muß
Code: Alles auswählen
wmp_auto_play = false, wmp_auto_play_num = 0, rp_auto_play = true
in die drei Spalten der Datenbank geschrieben werden.

Wenn Windos Media Stream gewählt wird, muß
Code: Alles auswählen
wmp_auto_play = true, wmp_auto_play_num = 1, rp_auto_play = false
in die drei Spalten der Datenbank geschrieben werden.

Leider kann ich Dir jetzt nicht mehr dazu sagen. Muß jetzt erstmal zur Arbeit.
Wenn ich Zeit habe, schaue ich Später nochmal vorbei.

Rudi
Rudi
Advanced Member
 
Beiträge: 30
Registriert: Donnerstag 24. Juli 2003, 17:05

Beitragvon Marwin » Sonntag 10. August 2003, 14:12

Wie werden die drei Spalten denn in die URL eingearbeitet?
Etwa in der Art?: &wmp_auto_play=true&wms_auto_play_num=1&rp_auto_play=false

Wenn das der Fall ist, dann kannst du doch genau diesen String in einer Spalte speichern und ihn beim Ausgeben der URL anhängen. Es entfallen also zwei Spalten.

Ansonsten überprüfst du nachdem das Formular abgesendet wurde, ob als Player-Typ der Media-Player oder der RealPlayer angegeben wurde und speicherst die Werte etwa so:

Code: Alles auswählen
if ($_POST[player] == "mediaplayer")
{
  $wmp_auto_play = "true";
  $wmp_auto_play_num = "1";
  $rp_auto_play = "false";
}
else
{
  $wmp_auto_play = "false";
  $wmp_auto_play_num = "0";
  $rp_auto_play = "true";
}

$query = "INSERT INTO tabelle (..., wmp_auto_play, wmp_auto_play_num, rp_auto_play, ...)
VALUES (..., ".$wmp_auto_play.", ".$wmp_auto_play_num.", ".$rp_auto_play.", ...)";
mysql_query($query);


Marwin
Benutzeravatar
Marwin
Moderator
 
Beiträge: 307
Registriert: Donnerstag 8. Mai 2003, 21:19
Wohnort: Seelow, Deutschland

Beitragvon Rudi » Sonntag 10. August 2003, 21:01

Hallo,

die drei Einträge werden nicht in die URL eingearbeitet!

Ich zeige Dir hier mal die Quelltexte für die Player Dateien.
Das Gelumpe mit den if Abfragen oberhalb der Datei habe ich mal weggelassen.


Windows Media Player

Code: Alles auswählen
<OBJECT id=MediaPlayer
codeBase=http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715
classid=CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95 width=0 height=0
type=application/x-oleobject
standby="Loading Microsoft Windows Media Player components..."> <PARAM NAME="FileName" VALUE="<? echo "$station_url_wmp";?>"> <PARAM NAME="TransparentAtStart" VALUE="false"><PARAM NAME="AutoStart" VALUE="<? echo "$wmp_auto_play";?>"> <PARAM NAME="AnimationatStart" VALUE="false"><PARAM NAME="ShowStatusBar" VALUE="true"> <PARAM NAME="ShowControls" VALUE="true"><PARAM NAME="autoSize" VALUE="false"> <PARAM NAME="displaySize" VALUE="true"><PARAM NAME="ShowAudioControls" VALUE="true"> <PARAM NAME="ShowPositionControls" VALUE="false"><PARAM NAME="ShowTracker" VALUE="false">
                        <Embed    type="application/x-mplayer2"    
pluginspage="http://www.microsoft.com/Windows/Downloads/Contents/Products/MediaPlayer/"
   src="<? echo "$station_url_wmp";?>"    Name="MediaPlayer"    
width="0"    height="0"    transparentAtStart="0"    autostart="<? echo "$wmp_auto_play_num";?>"    
ShowAudioControls="1"    ShowPositionControls="0"    animationAtStart="0"    
ShowControls="true"    autoSize="0"    ShowStatusBar="1"    displaySize="true"  
 showtracker="0">  </embed></OBJECT>



Real Media Player


Code: Alles auswählen
<OBJECT  id=MediaPlayer classid=clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA
width=0 height=0><PARAM NAME="AUTOSTART" VALUE="<? echo "$rp_auto_play";?>"><PARAM NAME="SRC" VALUE="<? echo "$station_url_rp";?>"> <PARAM NAME="CONTROLS" VALUE="ControlPanel,StatusField"><EMBED SRC="<? echo "$station_url_rp";?>"    
name="MediaPlayer"    type="audio/x-pn-realaudio-plugin"    
transparentAtStart="0"    autostart="<? echo "$rp_auto_play";?>"    animationAtStart="0"    
Controls="ControlPanel,StatusField"    autoSize="true"    displaySize="0"    
HEIGHT="0"    WIDTH="0">  </embed></OBJECT>


Wie Du sehen kannst, werden die Angaben: wmp_auto_play, wmp_auto_play_num und rp_auto_play mit einem echo Befehl in die DAteien eingetragen. Natürlich auch die URL´s.

Aber das ist ja garnicht das Problem. Diese ganze Sache funktioniert einwandfrei.

Mein Problem sind die Angaben von: player_typ,wmp_auto_play, wmp_auto_play_num und rp_auto_play . Es muß doch möglich sein, die Angaben nach der Auswahl. In nur einem String, in die verschiedenen Spalten der Datenbank zu schreiben.

Ich habe dafür nochmal ein neues Eingabe Formular vorbereitet. Aber irgendwie funktionieren damit überhaupt keine Einträge in die Datenbank.
Über mein Update Formular, welches ich noch erstellt habe, kann ich vorhandene Einträge editieren. Aber mit dem Eingabe Formular keine neuen Einträge hinzufügen!

Hier ist mal das neue Eingabe Formular. Darin sind auch die Select Menüs enthalten, um Auswahlen treffen zu können.

Eingabe Formular für Datenbank


Code: Alles auswählen
<html>
<body>
<?
if ($button==" OK ") {
include ("config.php");
$sql = "INSERT INTO sender (station_name, station_url_wmp, station_url_rp, player_typ, wmp_auto_play, wmp_auto_play_num, rp_auto_play, stream_guete_ifest, stream_guete, ticker_inffest, ticker_info) VALUES ($station_name, $station_url_wmp, $station_url_rp, $player_typ, $wmp_auto_play, $wmp_auto_play_num, $rp_auto_play, $stream_guete_ifest, $stream_guete, $ticker_inffest, $ticker_info, $title_info)";
mysql_close();
?>
Die Daten wurden eingetragen<br>
<a href="insert.php">neuer Eintrag</a><br>
<a href="tab_info.php">zur Übersicht</a>
<?
}
else {
?>

<form method="post" action="insert.php">
<table border="0" align="center">
<tr>
<td>Player Typ wählen</td>
<td><select name="player_typ,wmp_auto_play,wmp_auto_play_num,rp_auto_play" size="1">
<option value="Windows Media Stream,true,1,false">Windows Media Player
<option value="Real Audio Stream,false,0,true">Real Media Player
</select></td>
</tr><tr>
<td>Sender Name</td>
<td><input type="text" name="station_name" value="<? echo $station_name ?>" size="50"></td>
</tr><tr>
<td>Sender URL für Windows Media Player</td>
<td><input type="text" name="station_url_wmp" value="<? echo $station_url_wmp ?>" size="50"></td>
</tr><tr>
<td>Sender URL für Real Media Player</td>
<td><input type="text" name="station_url_rp" value="<? echo $station_url_rp ?>" size="50"></td>
</tr><tr>
<td>Hier nichts eintragen</td>
<td><input type="text" name="stream_guete_ifest" value="<? echo $stream_guete_ifest ?>" size="0"></td>
</tr><tr>
<td>Stream Qualität wählen</td>
<td><select name="stream_guete" size="1">
<option value="20Kbit/s">20Kbit/s
<option value="32Kbit/s">32Kbit/s
<option value="44Kbit/s">44Kbit/s
<option value="64Kbit/s">64Kbit/s
<option value="80Kbit/s">80Kbit/s
<option value="128Kbit/s">128Kbit/s
<option value="192Kbit/s">192Kbit/s
</select></td>
</tr><tr>
<td>Hier nichts eintragen</td>
<td><input type="text" name="ticker_inffest" value="<? echo $ticker_inffest ?>" size="0"></td>
</tr>
<tr>
<td>Können Titel Infos angezeigt werden?</td>
<td><select name="anr" size="1">
<option value="Der Name des Titels wird Oben angezeigt!">ja
<option value="Es können keine Titel Infos angezeigt werden!">nein
</select></td>
</tr><tr>
<td> </td>
<td><input type="submit" name="button" value=" OK "></td></tr>
</table>
</form>
<?
}
?>
</body>
</html>


Kannst Du da einen Fehler erkennen?


Gru? Rudi
Rudi
Advanced Member
 
Beiträge: 30
Registriert: Donnerstag 24. Juli 2003, 17:05

Beitragvon Marwin » Montag 11. August 2003, 00:01

Hi Rudi,

sei mir nicht böse, aber ich musste in deinen Beitrag erstmal ein paar Leerzeichen einfügen. Der Beitrag hatte ja fast doppelte Bidlschirmbreite (und das bei 1024px)!

Ich habe dafür nochmal ein neues Eingabe Formular vorbereitet. Aber irgendwie funktionieren damit überhaupt keine Einträge in die Datenbank.

Wie auch? Du hast [span style=color:blue]mysql_query($sql);[/span] vergessen.

Ausserdem solltest du die OPTION-Tags schließen:
Code: Alles auswählen
<option value="20Kbit/s">20Kbit/s</option>
.
.


Desweiteren solltest du Variablen aus Formularen per $_GET[variablenname] bzw. $_POST[variablenname] ansprechen, abhängig davon, welche Methode du im FORM-Tag angegeben hast.

Code: Alles auswählen
<select name="player_typ,wmp_auto_play,wmp_auto_play_num,rp_auto_play" size="1">

Das wird sicher nicht so funktionieren, wie du es dir vorgestellt hast. Benutze doch anstatt dessen:
Code: Alles auswählen
<select name="player" size="1">
<option value="mediaplayer">Windows Media Player</option>
<option value="realplayer">Real Media Player</option>
</select>


Vor deinem Query-Insert fügst du folgenden Code ein:
Code: Alles auswählen
if ($_POST[player] == "mediaplayer")
{
 $player_typ = "Windows Media Stream";
 $wmp_auto_play = "true";
 $wmp_auto_play_num = "1";
 $rp_auto_play = "false";
}
else
{
 $player_typ = "Real Audio Stream";
 $wmp_auto_play = "false";
 $wmp_auto_play_num = "0";
 $rp_auto_play = "true";
}


Der Query sieht dann mit Zugriff auf $_POST[] folgendermaßen aus:
Code: Alles auswählen
$sql = "INSERT INTO sender (station_name, station_url_wmp, station_url_rp, player_typ, wmp_auto_play, wmp_auto_play_num, rp_auto_play, stream_guete_ifest, stream_guete, ticker_inffest, ticker_info) VALUES (".$_POST[station_name].", ".$_POST[station_url_wmp].", ".$_POST[station_url_rp].", ".$player_typ.", ".$wmp_auto_play.", ".$wmp_auto_play_num.", ".$rp_auto_play.", ".$_POST[stream_guete_ifest].", ".$_POST[stream_guete].", ".$_POST[ticker_inffest].", ".$_POST[ticker_info].", ".$_POST[title_info].")";



Marwin
Benutzeravatar
Marwin
Moderator
 
Beiträge: 307
Registriert: Donnerstag 8. Mai 2003, 21:19
Wohnort: Seelow, Deutschland

Beitragvon Rudi » Dienstag 12. August 2003, 18:53

Hi Marwin,

ist nicht so schlim mit den Umbrüchen. Sieht ja auch besser für´s Auge aus.

Hatte in der Zwischenzeit malwieder ein neues Formular erstellt, mit dem die Einträge funktionieren.
Darin hatte ich die vier Punkte player_typ,wmp_auto_play,wmp_auto_play_num,rp_auto_play,
einzelnd aufgeführt und das geht.
Jetzt habe ich Deine Vorschläge mal so in das Formular eingearbeitet.

Code: Alles auswählen
<?
if ($_POST[player] == "mediaplayer")
{
$player_typ = "Windows Media Stream";
$wmp_auto_play = "true";
$wmp_auto_play_num = "1";
$rp_auto_play = "false";
}
else
{
$player_typ = "Real Audio Stream";
$wmp_auto_play = "false";
$wmp_auto_play_num = "0";
$rp_auto_play = "true";
}
if ($button==" OK ") {
include ("admin/config.php");
$mysql = "INSERT INTO sender (station_name, station_url_wmp, station_url_rp, player_typ, wmp_auto_play, wmp_auto_play_num, rp_auto_play, stream_guete_ifest, stream_guete, ticker_inffest, ticker_info) VALUES (".$_POST[station_name].", ".$_POST[station_url_wmp].", ".$_POST[station_url_rp].", ".$player_typ.", ".$wmp_auto_play.", ".$wmp_auto_play_num.", ".$rp_auto_play.", ".$_POST[stream_guete_ifest].", ".$_POST[stream_guete].", ".$_POST[ticker_inffest].", ".$_POST[ticker_info].", ".$_POST[title_info].")";
mysql_close();
?>
Die Daten wurden eingetragen<br />
<a href="insert.php">neuer Eintrag</a>
<?
}
else {
?>

<form method="post" action="insert.php">
<table border="0" align="center">
<tr>
<td class="leostyle"><input type="text" name="station_name" value="<? echo"$line[station_name]"; ?>"></td><td class="leostyle"> Sender Name</td></tr><tr><td class="leostyle">
<input type="text" name="station_url_wmp" value="<? echo"$line[station_url_wmp]"; ?>"></td><td class="leostyle"> Sender URL für WMP. Windows Media URL´s haben z.B. die Dateiendung .wm, .ms, .asx</td></tr><tr><td class="leostyle">
<input type="text" name="station_url_rp" value="<? echo"$line[station_url_rp]"; ?>"></td><td class="leostyle"> Sender URL für RMP. Real Media URL´s haben z.B. die Dateiendung .rm, .smil, .pls</td></tr><tr><td> </td></tr><tr><td> </td></tr><tr><td class="leostyle">
<b>Die folgende Auswahl des Player Typs ist wichtig zur Steuerung der Player Codes. Sollten hier die Werte Falsch gesetzt werden, kann es zu Fehlermeldungen der Player kommen!!</b></td></tr><tr><td> </td></tr><tr><td class="leostyle">
<select name="player" size="1">
<option value="mediaplayer">Windows Media Player</option>
<option value="realplayer">Real Media Player</option>
</select></td><td class="leostyle">Hier bitte Windows Media Player für einen Windows Media Stream auswählen. Wenn es ein Real Audio Stream ist, bitte Real Media Player auswählen.</td></tr><tr><td> </td></tr><tr><td class="leostyle">
<input type="text" name="stream_guete_ifest" value="In einer Qualität von:"></td><td class="leostyle">Hier bitte nichts einfügen. Ist eine vorgegebene Info für den Ticker!</td></tr><tr><td>
<input type="text" name="stream_guete" value="<? echo"$line[stream_guete]"; ?>"></td><td class="leostyle"> Qualität des Streams eintragen: 20Kbit/s, 32Kbit/s, 44Kbit/s, 64Kbit/s, 80Kbit/s, 128Kbit/s,192Kbit/s</td></tr><tr><td class="leostyle">
<input type="text" name="ticker_inffest" value="Es läuft"></td><td class="leostyle">Hier bitte nichts einfügen. Ist eine vorgegebene Info für den Ticker!</td></tr><tr><td class="leostyle">
<input type="text" name="ticker_info" value="<? echo"$line[ticker_info]"; ?>"></td><td class="leostyle"> Wahlweise, ( Es können keine Titel Infos angezeigt werden! ) oder ( Der Name des Titels wird Oben angezeigt! ) hier eintragen!</td></tr><tr>
<td class="leostyle"><input type="text" name="title_info" value="<? echo"$line[title_info]"; ?>"></td><td class="leostyle"> Hier sollte man nichts eintragen. Die Quelltexte zu den Titel Infos der einzelnen Radio Anbieter, sollten nur von Hand mit phpmyadmin in die Db eingetragen werden!</td></tr>
<tr>
<td> </td>
<td class="leostyle"><input type="submit" name="button" value=" OK "></td>
</tr>
</table>
</form>
<?
}
?>
</body>
</html>



Leider bekomme ich mit diesen Änderungen auch wieder keine Einträge in die Datenbank zustande!
Das $sql im QUERY-INSERT, habe ich in $mysql abgeändert, weil es mit $sql. Auch nicht funktioniert hat!
Fehlermeldungen erhalte ich keine. Das Formular verhält sich auch so als würde es den Eintrag durchführen. Nur in in der Datenbank, ist von dem Eintrag nichts zu sehen!

Langsam bin ich echt am verzweifeln!

Gruß Rudi
Rudi
Advanced Member
 
Beiträge: 30
Registriert: Donnerstag 24. Juli 2003, 17:05

Beitragvon Marwin » Dienstag 12. August 2003, 20:49

Rudi, du musst doch den Query auch per [span style=color:blue]mysql_query()[/span] ausführen!
Aber darauf habe ich dich doch bereits im letzten Beitrag hingewiesen. Naja gut.


:P Marwin
Benutzeravatar
Marwin
Moderator
 
Beiträge: 307
Registriert: Donnerstag 8. Mai 2003, 21:19
Wohnort: Seelow, Deutschland

Beitragvon Rudi » Mittwoch 13. August 2003, 08:20

Moin.

Haha, ich wußte doch da war noch was.
Ich bin doch echt ein Eierkop.
Das mit dem query, ist mir gestern auf dem Weg zur Arbeit auch eingefallen. :rolleyes:

Das kommt davon wenn man zu Voreilig ist.

Aber nun gut.

Habe das mit dem query jetzt nachgeholt und es funktioniert trotzdem nicht!

Kann ich denn den query einfach so, mysql_query($sql); , einrtragen. Oder muß ich jetzt nicht noch - $result= - , davor schreiben?


Rudi
Rudi
Advanced Member
 
Beiträge: 30
Registriert: Donnerstag 24. Juli 2003, 17:05

Beitragvon Marwin » Mittwoch 13. August 2003, 10:08

Guten Morgen Rudi,

das Ergebnis musst du nicht speichern, also kein $result= erforderlich. Aber deinem vorletzten Beitrag zufolge speicherst du den Query in $mysql und nicht in $sql. Du solltest natürlich im mysql_query() die gleiche Variable verwenden.
Wenn es danach immer noch nicht funktioniert, fügst du direkt nach dem mysql_query() folgendes ein

Code: Alles auswählen
echo mysql_error();


Dann solltest du nach der nächsten Ausführung eine entsprechende Fehlermeldung bekommen.

:P Marwin
Benutzeravatar
Marwin
Moderator
 
Beiträge: 307
Registriert: Donnerstag 8. Mai 2003, 21:19
Wohnort: Seelow, Deutschland

Beitragvon Rudi » Mittwoch 13. August 2003, 10:37

Schwups, schon ausgeführt.

Fehlermeldung ist folgende:

Column count doesnt match value count at row 1

Heist wohl soviel,daß die Werte nicht in die richtigen Spalten eingetragen oder übergeben werden können!? :huh:

Ich weis nicht ob das zum Eintragen von Werten in die Datenbank von Bedeutung ist.
Aber die Reihenfolge, wie die Werte in das Formular eingetragen werden. Entspricht auch der Reihenfolge
der einzelnen Spalten in der Datenbank Tabelle.
Von daher könnte dieser Fehler also nicht stammen.

Oder könnte es vieleicht an dieser Abfrage liegen, die sich unter der Abfrage für das Select Menü befindet?

Code: Alles auswählen
if ($button==" OK ") {


Rudi
Rudi
Advanced Member
 
Beiträge: 30
Registriert: Donnerstag 24. Juli 2003, 17:05

Beitragvon Marwin » Mittwoch 13. August 2003, 10:58

Die Sache mit dem $button solltest du so schreiben:

Code: Alles auswählen
if ($_POST[button]==" OK ") {


Der Fehler liegt darin, dass die INSERT INTO-Anweisung in der Klammer vor VALUES mehr Werte enthält als die Klammer nach VALUES. In der ersten Klammer sind es 11 und in der zweiten 13. Du müsstest also nachschauen, ob Spalten fehlen oder doppelt eingetragen sind.

Marwin
Benutzeravatar
Marwin
Moderator
 
Beiträge: 307
Registriert: Donnerstag 8. Mai 2003, 21:19
Wohnort: Seelow, Deutschland

Nächste

Zurück zu PHP

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder

cron