kostenloser Webspace werbefrei: lima-city


PHP trägt nichts in MySQL-Datenbank ein!

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    n********r

    also ich versuche ein Umfrage zu bauen aber im code unten trägt PHP nichts in die Datenbank ein, wenn ich aber das Alter vollständig wegmache geht es. Weiß vllt jemand was hier falsch ist (die Variablen zum einloggen in die SQL-Datenbank hab ich im original Script richtig drin):

    <form method='post'>
    <TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=0 STYLE="page-break-before: always">
    	<COL WIDTH=43*>
    	<COL WIDTH=43*>
    	<COL WIDTH=43*>
    	<COL WIDTH=43*>
    	<COL WIDTH=43*>
    	<COL WIDTH=43*>
    	<TR VALIGN=TOP>
    		<TD WIDTH=17%>
    			<P>Geschlecht:</P>
    		</TD>
    		<TD WIDTH=17%>
    			<P>Alter:</P>
    		</TD>
    		<TD WIDTH=17%>
    			<P><BR>
    			</P>
    		</TD>
    		<TD WIDTH=17%>
    			<P><BR>
    			</P>
    		</TD>
    		<TD WIDTH=17%>
    			<P><BR>
    			</P>
    		</TD>
    		<TD WIDTH=17%>
    			<P><BR>
    			</P>
    		</TD>
    	</TR>
    	<TR VALIGN=TOP>
    		<TD WIDTH=17%>
    			<P><input type=checkbox name='Geschlecht1' value='Mann'> Mann <input type=checkbox name='Geschlecht2' value='Frau'> Frau</P>
    		</TD>
    		<TD WIDTH=17%>
    			<P><input type=checkbox name='Alter1' value='>20'> unter 20</P>
    		</TD>
    		<TD WIDTH=17%>
    			<P><input type=checkbox name='Alter2' value='21-25'> 21-25</P>
    		</TD>
    		<TD WIDTH=17%>
    			<P><input type=checkbox name='Alter3' value='26-30'> 26-30</P>
    		</TD>
    		<TD WIDTH=17%>
    			<P><input type=checkbox name='Alter4' value='31-35'> 31-35</P>
    		</TD>
    		<TD WIDTH=17%>
    			<P><input type=checkbox name='Alter5' value='36-40'> 36-40</P>
    		</TD>
    	</TR>
    	<TR VALIGN=TOP>
    		<TD WIDTH=17%>
    			<P><BR>
    			</P>
    		</TD>
    		<TD WIDTH=17%>
    			<P><input type=checkbox name='Alter6' value='41-45'> 41-45</P>
    		</TD>
    		<TD WIDTH=17%>
    			<P><input type=checkbox name='Alter7' value='46-50'> 46-50</P>
    		</TD>
    		<TD WIDTH=17%>
    			<P><input type=checkbox name='Alter8' value='51-55'> 51-55</P>
    		</TD>
    		<TD WIDTH=17%>
    			<P><input type=checkbox name='Alter9' value='56-60'> 56-60</P>
    		</TD>
    		<TD WIDTH=17%>
    			<P><input type=checkbox name='Alter10' value='61<'> 61&lt;</P>
    		</TD>
    	</TR>
    </TABLE>
    <div align='center'>
    <input type='submit' name='Absenden' id='Absenden' value='Absenden' size='20'></div>
    </form>
    
    <?php
    
    	$dbHost = "mysql.lima-city.de";
    	$dbUser = "User";
    	$dbPass = "Passwort";
    	$dbName = "Datenbank";
    	
    
    $Alter = "".$_POST['Alter1']."".$_POST['Alter2']."".$_POST['Alter3']."".$_POST['Alter4']."".$_POST['Alter5']."".$_POST['Alter6']."".$_POST['Alter7']."".$_POST['Alter8']."".$_POST['Alter9']."".$_POST['Alter10'];
    $Geschlecht = "".$_POST['Geschlecht1']."".$_POST['Geschlecht2'];
    
    			
    	
    	
     if (!empty($_POST['Absenden'])) {
        		$verbindung = @mysql_connect($dbHost, $dbUser, $dbPass);
      			mysql_select_db($dbName, $verbindung);
      			mysql_query("INSERT INTO Fragebogen (Datum, Geschlecht, Alter) 
      						 VALUES (NOW(), '".$Geschlecht."', '".$Alter."')");
      			echo "".$Geschlecht."".$Alter;
      			
     }
    ?>


    Gruss

    Beitrag zuletzt geändert: 27.1.2009 19:03:29 von n50-planer
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Kleinre Tipp:

    warte ab, bis die Datenbanken wieder funktionieren. Bis dahin solltest du einfach ruh bewahren...:lol:

    Das selbe Problem habend
    Daniel
  4. Autor dieses Themas

    n********r

    Das komische ist aber das es wenn ich das Alter wegmache dann geht :frown:

    Gruss
  5. goldeneye schrieb:
    Kleinre Tipp:

    warte ab, bis die Datenbanken wieder funktionieren. Bis dahin solltest du einfach ruh bewahren...:lol:

    Das selbe Problem habend
    Daniel
    Das scheint ein benutzerabhängiges Problem zu sein, bei mir geht alles ohne Probleme...

    Also zunächst mal würde ich dir empfehlen statt der Checkboxen einfach Radiobuttons zu verwenden, da dann nur eine Möglichkeit angekreuzt werden kann.
    Beispiel:
    <form action="<?php action="" method="post">
    <input type="radio" name="wert" value="1">
    <input type="radio" name="wert" value="2">
    <input type="radio" name="wert" value="3">
    <input type="submit">
    </form>
    <?php
    if ($_POST['werte']) {
    	echo $_POST['werte'];
    }
    ?>


    Zusätzlich kannst du dir dann noch die MySQL-Fehler ausgeben lassen mit mysql_error.

    Gruß
    Karlja

    Edit: Wäre zudem die Frage, von welchem Feldtyp dein Feld "Alter" ist und ob dieser Typ mit dem übergebenen Wert verträglich ist.

    PS: Du kannst Variablen auch ohne "" aneinanderreihen:
    echo $alter1.$alter2.$alter3;


    Beitrag zuletzt geändert: 27.1.2009 19:30:02 von karlja
  6. Ich würde villeicht noch die Anführungszeichen (also die einfachen) beim Inserten des Alerts weglassen. Es ist ja wahrscheinlich ein unsigned tinyint oder so und da kannste dir die ersparen.
  7. nikic schrieb:
    Ich würde villeicht noch die Anführungszeichen (also die einfachen) beim Inserten des Alerts weglassen. Es ist ja wahrscheinlich ein unsigned tinyint oder so und da kannste dir die ersparen.
    Das Feld müsste Varchar, Text oder sonstiges sein, aber kein Zahlentyp, da seine Werte z.B. "51-55" sind. Zumindest würde ich davon ausgehen, dass es dieser Typ Feld ist.

    Beitrag zuletzt geändert: 27.1.2009 19:38:28 von karlja
  8. Oh, da haste Recht. hab mir den Code einfach nicht genauer angesehen...

    Könntest du villeicht die Datenbankstruktur geben?
  9. Autor dieses Themas

    n********r

    also der Feldtyp für Alter ist VARCHAR (100)
    Müsste also eigentlich schon gehen, aber momentan geht es immer noch nicht.
    Ist wahrscheinlich wie schon erwähnt benutzerabhängiges Fehler.

    Gruss

    Beitrag zuletzt geändert: 27.1.2009 19:46:49 von n50-planer
  10. n50-planer schrieb:
    also der Feldtyp für Alter ist VARCHAR (100)
    Müsste also eigentlich schon gehen, aber momentan geht es immer noch nicht.
    Ist wahrscheinlich wie schon erwähnt benutzerabhängiges Fehler.

    Gruss

    Dein Problem hat nichts mit dem MySQL-Server von lima zu tun.
    Erstmal solltest du, wie schon erwähnt, auf Radiobuttons, statt Checkboxen umsteigen. Dann brauchst du nämlich nur noch den Wert auslesen und gut ist. Außerdem wird es dadruch eindeutig, oder willst du dass man zwei verschiedene Alterstufen angeben kann?
    Dann kannst du, wie auch auch schon gesagt, Variablen auch ohne " verknüpfen, das geht schneller und der Parser hat weniger zu rechnen. Außerdem lässt es sich besser lesen.
    Und zum Schluss ist das Wort "Alter" ein reserviertes Wort in MySQL, das heißt es ist für interne Zwecke belegt und darf nicht vom User (also von dir) als Spalten oder Tabellenname verwendet werden. Da liegt dein Fehler, weswegen es nicht geht. Wenn du die Spalte anders benennst und dein Script entsprechend anpasst, sollte sich das lösen lassen.
  11. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!