Formular Daten in Mysql Tabelle schreiben funktioniert nicht.

es fehlt die abfrage ob der button geklickt wurde.

setze:
PHP:
if(isset($_POST["submit"])){

vor das
PHP:
$avatar = $_POST[avatar'];

und ganz unten im script die abfrage wieder schliessen

}


ich denke das es daran liegt
 
Also, das Problem besteht weiterhin, was mich wundert ist das selbst wenn ich

echo ' test ' ; an den Anfang setzte passiert rein garnichts. Das Formular ist immer noch wie oben meine PHP Datei sieht jetzt so aus
PHP:
<?php
echo ' Test';
include ("connect.inc.php");
if(isset($_POST['submit'])){  
$avatar = $_POST['avatar'];
$name = $_POST['name'];
$icq = $_POST['icq'];
$msn = $_POST['msn'];
$hp = $_POST['hp'];
$signatur = $_POST['signatur'];
echo " Name '.$_SESSION['user'].'";
echo "Avatar '.$avatar.'";
echo "Name '.$name.'";
echo "ICQ '.$icq.'";
echo "MSN '.$msn.'";
echo "Homepage '.$hp.'";
echo "Signatur '.$signatur.'";
if(empty($avatar)){
}
else {
$size = getimagesize($avatar)
$height = $size[1];
$width = $size[0];
if ($height > 100){
echo ' Das Avatar Bild darf Maximal 100x100 groß sein. Das Bild welches sie gewählt haben ist';
echo ' ".$height." Hoch und ".$width." Hoch ';
}
 else if ($width > 100){
echo ' Das Avatar Bild darf Maximal 100x100 groß sein. Das Bild welches sie gewählt haben ist';
echo ' ".$height." Hoch und ".$width." Hoch ';
}
else{
mysql_query("UPDATE dieb_user_1 SET avatar = '$avatar' WHERE user = '".$_SESSION['user']."'");
}
}
if(empty($name)){
}
else {
mysql_query("UPDATE dieb_user_1 SET name = '$name' WHERE user = '".$_SESSION['user']."'");
}
if(empty($icq)){
}
else{
mysql_query("UPDATE dieb_user_1 SET icq1 = '$icq' WHERE user = '".$_SESSION['user']."'");
}
if(empty($msn)){
}
else {
mysql_query("UPDATE dieb_user_1 SET msn = '$msn' WHERE user = '".$_SESSION['user']."'");
}
if(empty($hp)){
}
else {
mysql_query("UPDATE dieb_user_1 SET hp = '$hp' WHERE user = '".$_SESSION['user']."'");
}
if(empty($signatur)){
}
else { 
mysql_query("UPDATE dieb_user_1 SET signatur = '$signatur' WHERE user = '".$_SESSION['user']."'");
}
}
$template = implode("",file("template/style.php"));
$template = str_replace("<?inhalt?>", $inhalt, $template);
echo ($template);
?>
 
Formatiere den Quellcode mal übersichtlich, sodass die einzelnen Hierarchieebenen besser erkennbar sind.
 
Ok Vielleicht ist es so besser.

PHP:
<?php
include ("connect.inc.php");

if(isset($_POST['submit'])){  
$avatar = $_POST['avatar'];
$name = $_POST['name'];
$icq = $_POST['icq'];
$msn = $_POST['msn'];
$hp = $_POST['hp'];
$signatur = $_POST['signatur'];

if(empty($avatar)){
}

else {
$size = getimagesize($avatar)
$height = $size[1];
$width = $size[0];
if ($height > 100){
echo ' Das Avatar Bild darf Maximal 100x100 groß sein. Das Bild welches sie gewählt haben ist';
echo ' ".$height." Hoch und ".$width." Hoch ';
}


 else if ($width > 100){
echo ' Das Avatar Bild darf Maximal 100x100 groß sein. Das Bild welches sie gewählt haben ist';
echo ' ".$height." Hoch und ".$width." Hoch ';
}

else{
mysql_query("UPDATE dieb_user_1 SET avatar = '$avatar' WHERE user = '".$_SESSION['user']."'");
}
}


if(empty($name)){
}

else {
mysql_query("UPDATE dieb_user_1 SET name = '$name' WHERE user = '".$_SESSION['user']."'");
}


if(empty($icq)){
}

else{
mysql_query("UPDATE dieb_user_1 SET icq1 = '$icq' WHERE user = '".$_SESSION['user']."'");
}


if(empty($msn)){
}

else {
mysql_query("UPDATE dieb_user_1 SET msn = '$msn' WHERE user = '".$_SESSION['user']."'");
}


if(empty($hp)){
}

else {
mysql_query("UPDATE dieb_user_1 SET hp = '$hp' WHERE user = '".$_SESSION['user']."'");
}


if(empty($signatur)){
}

else { 
mysql_query("UPDATE dieb_user_1 SET signatur = '$signatur' WHERE user = '".$_SESSION['user']."'");
}
}


$template = implode("",file("template/style.php"));
$template = str_replace("<?inhalt?>", $inhalt, $template);
echo ($template);
?>
 
Mein Thread verabschiedet sich schon doch leider besteht das Problem weiterhin. Ich find selber keine Lösung und ich finde hier sind wirklich gut PHPler unterwegs.
Hat denn keiner eine Idee?
 
Hierarchiebenen sind – auch wenn sie nicht unbedingt von der Fachliteratur so bezeichnet werden – die Codeblöcke, die von geschweiften Klammern eingefasst werden. Normalerweise werden Hierarchieebenen durch Einrücken visuell von einander getrennt, um den Quellcode übersichtlicher zu machen. Um dir den Unterschied zwischen deinem und meinem Formatierungsstil mal zu demonstrieren:
PHP:
<?php

	include ("connect.inc.php");

	if( isset($_POST['submit']) ) {
		$avatar = $_POST['avatar'];
		$name = $_POST['name'];
		$icq = $_POST['icq'];
		$msn = $_POST['msn'];
		$hp = $_POST['hp'];
		$signatur = $_POST['signatur'];

		if( empty($avatar) ) {
		} else {
			$size = getimagesize($avatar)
			$height = $size[1];
			$width = $size[0];
			if( $height > 100 ) {
				echo ' Das Avatar Bild darf Maximal 100x100 groß sein. Das Bild welches sie gewählt haben ist';
				echo ' ".$height." Hoch und ".$width." Hoch ';
			} else if( $width > 100 ) {
				echo ' Das Avatar Bild darf Maximal 100x100 groß sein. Das Bild welches sie gewählt haben ist';
				echo ' ".$height." Hoch und ".$width." Hoch ';
			} else {
				mysql_query("UPDATE dieb_user_1 SET avatar = '$avatar' WHERE user = '".$_SESSION['user']."'");
			}
		}

		if( empty($name) ) {
		} else {
			mysql_query("UPDATE dieb_user_1 SET name = '$name' WHERE user = '".$_SESSION['user']."'");
		}

		if( empty($icq) ) {
		} else {
			mysql_query("UPDATE dieb_user_1 SET icq1 = '$icq' WHERE user = '".$_SESSION['user']."'");
		}

		if( empty($msn) ) {
		} else {
			mysql_query("UPDATE dieb_user_1 SET msn = '$msn' WHERE user = '".$_SESSION['user']."'");
		}

		if( empty($hp) ) {
		} else {
			mysql_query("UPDATE dieb_user_1 SET hp = '$hp' WHERE user = '".$_SESSION['user']."'");
		}

		if( empty($signatur) ) {
		} else {
			mysql_query("UPDATE dieb_user_1 SET signatur = '$signatur' WHERE user = '".$_SESSION['user']."'");
		}
	}

	$template = implode("",file("template/style.php"));
	$template = str_replace("<?inhalt?>", $inhalt, $template);
	echo ($template);

?>
Ich habe lediglich den Formatierungsstil des Quellcodes geändert, syntaktisch ist es dasselbe. Was denkst du nun ist einfacher zu verstehen und zu warten?

Zudem solltest du mal Blick in die Boolesche Algebra werfen um diese unnötigen leeren Codeblöcke zu vermeiden. Und auch die Gefahren von SQL-Injektionen solltest du dir zu Gemüte führen.
 
Ich habe das ganze Ding mal komplett umgearbeitet, damit nicht unnötig viele MySQL Queries aufgebaut werden.

PHP:
<?php
include ("connect.inc.php");

if(isset($_POST['submit'])){  
$avatar = $_POST['avatar'];
$name = $_POST['name'];
$icq = intval($_POST['icq']);
$msn = $_POST['msn'];
$hp = $_POST['hp'];
$signatur = $_POST['signatur'];

$sql = "UPDATE dieb_user_1 SET";

if(!empty($avatar) AND ($size = getimagesize($avatar)) === true) {
	if($height > 100 OR $width > 100) {
	echo ' Das Avatar Bild darf Maximal 100x100 groß sein. Das Bild welches sie gewählt haben ist: ';
	echo $height."px hoch und ".$width."px breit.";
	} else $sql .= "`avatar` = '".mysql_real_escape_string($avatar)."', ";
}

if(!empty($name)) {
	if(strstr($sql, ',') === false) $sql .= ", ";
	$sql .= " `name` = '".mysql_real_escape_string($name)."'";
}

if(!empty($icq)) {
	if(strstr($sql, ',') === false) $sql .= ", ";
	$sql .= "`icq1` = '".$icq."'";
}


if(!empty($msn)) {
	if(strstr($sql, ',') === false) $sql .= ", ";
	$sql .= "`msn` = '".mysql_real_escape_string($msn)."'";
}

if(!empty($hp)) {
	if(strstr($sql, ',') === false) $sql .= ", ";
	$sql .= "`hp` = '".mysql_real_escape_string($hp)."'";
}

if(!empty($signatur)) {
	if(strstr($sql, ',') === false) $sql .= ", ";
	$sql .= "`signatur` = '".mysql_real_escape_string($signatur)."' ";
}

$sql .= "WHERE `user` ='".mysql_real_escape_string($_SESSION['user'])."'";

}


$template = implode("",file("template/style.php"));
$template = str_replace("<?inhalt?>", $inhalt, $template);
echo ($template);
?>

Ist ungetestet, sollte aber funktionieren.

Da ich nicht wusste, ob irgendwelche Felder Pflicht sind, musste ich bei jeder testen, ob es bereits ein vorheriges Feld gibt. ( Komma als Trennzeichen, etc.)
 
Zurück