28. maj 2009 - 00:09 
												Der er
									9  kommentarer													og 					1  løsning									 
									
		 
		
			
PHP edit vil ikke opdatere mysql 
			Hvorfor vil den ikke opdatere row "henvisning" i mysql? Det er rimeligt simpelt og det virker fint på en anden server. Jeg får absolut ingen fejlmeddelelse. <?  mysql_connect("localhost","username","password");  mysql_select_db("my_db");  if(!isset($cmd))  {    $result = mysql_query("select * from henvisning order by id");         //loop    while($r=mysql_fetch_array($result))     {        $hold=$r["hold"];       $id=$r["id"];             echo "$hold - <a href='editHenvisning.php?cmd=edit&id=$id'>Edit</a>";       echo "<br>";     } } ?> <? if($_GET["cmd"]=="edit" || $_POST["cmd"]=="edit") {    if (!isset($_POST["submit"]))    {       $id = $_GET["id"];       $sql = "SELECT * FROM henvisning WHERE id=$id";       $result = mysql_query($sql);               $myrow = mysql_fetch_array($result);       ?>              <form action="editHenvisning.php" method="post">       <input type=hidden name="id" value="<?php echo $myrow["id"] ?>">           Title:<INPUT TYPE="TEXT" NAME="hold" VALUE="<?php echo $myrow["hold"] ?>" SIZE=30><br>       Title:<INPUT TYPE="TEXT" NAME="dato" VALUE="<?php echo $myrow["dato"] ?>" SIZE=30><br>       Title:<INPUT TYPE="TEXT" NAME="start" VALUE="<?php echo $myrow["start"] ?>" SIZE=30><br>       Title:<INPUT TYPE="TEXT" NAME="slut" VALUE="<?php echo $myrow["slut"] ?>" SIZE=30><br>           <input type="hidden" name="cmd" value="edit">           <input type="submit" name="submit" value="submit">           </form>     <? } ?> <?    if ($_POST["$submit"])    {       $hold = $_POST["hold"];       $dato = $_POST["dato"];       $start = $_POST["start"];        $slut = $_POST["slut"];        $sql = "UPDATE henvisning SET hold='$hold',dato='$dato',start='$start',slut='$slut' WHERE id=$id";        $result = mysql_query($sql) or die(mysql_error() . '<br />' . $sql);       { header("Location: " . $_SERVER['php_SELF']); }       echo " opdateret.";     } } ?>
					
		
	 
                            
Annonceindlæg fra DE-CIX 
 
 
	
		
		
			sikkert forskellige php settings. Har du kigget i din apache/iis log ? Er du sikker på at du får udskrevet fejl på det andet hotel og at de ikke kun kommer i httpd loggen på serveren ? // ouT
		
		
	 
	
		
		
			er du sikker på at den kommer ind i din if ($_POST["$submit"]) ?
		
		
	 
	
		
		
			Jeg bør nok indledningsvis skrive at jeg er grafiker og webdesigner.  Script/prog/php-syntax termer kender jeg kun til husbehov+.   Buzzzz: Jeg har ikke kigget i apache log ...hvor finder jeg den? Bare sådan ca? :o) splazz: Jeg er faktisk ikke rigtigt sikker på noget? Jeg ved bare det samme virker på en anden server. Platform: Apache/2.0.54 (Debian GNU/Linux) mod_python/3.1.3 Python/2.3.5 PHP/4.3.10-19 mod_ssl/2.0.54 OpenSSL/0.9.7e MySQL information: Alle privilegier er ok, se DB layout -> img-link herunder.  [img]http://www.ungecoach.dk/screenshot_01.jpg/img]
		
		
	 
	
	
		
		
			haha.. fejlen er her: <?   if ($_POST["$submit"])   {       $hold = $_POST["hold"];       $dato = $_POST["dato"];       $start = $_POST["start"];       $slut = $_POST["slut"];       $sql = "UPDATE henvisning SET hold='$hold',dato='$dato',start='$start',slut='$slut' WHERE id=$id";       $result = mysql_query($sql) or die(mysql_error() . '<br />' . $sql);       { header("Location: " . $_SERVER['php_SELF']); }      echo " opdateret.";     } Du kalder $_POST["$submit"]) Men din variabel hedder altså kun submit og ik $submit.. så ændre den til $_POST["submit"]) så sku det virke..
		
		
	 
	
	
	
		
		
			plus godt råd... Alle variabler du henter fra et tekst felt.. selvom du selv skriver teksten.. burde du bruge 'mysql_escape_string($tekst)' rundt om.. For at undgå du f.eks. laver en ' eller \ $hold = mysql_escape_string($_POST["hold"]); $dato = mysql_escape_string($_POST["dato"]); $start = mysql_escape_string($_POST["start"]); $slut = mysql_escape_string($_POST["slut"]);
		
		
	 
	
		
		
			zkill: Langt ude, nu virker det hele. Takker 100000000 gange. Svar, så får du cigar :o)
		
		
	 
	
		
		
			hehe,den havde jeg sq overset :s
		
		
	 
	
		
		
			og jeg havde endda copy/pastet koden - fuck det er ringe! hehe
		
		
	 
	
		
		
			så lidt.. Og jah... det tit sådan nogle små fejl.. :) Men som en af de andre skrev.. altid lav et tjek om du kommer ind i din if-sætning.. for så ved du hvor du skal lede efter din fejl.. :)
		
		
	 
	
		
	
		
		
		
			
			Vi tilbyder markedets bedste kurser inden for webudvikling