Som besökare på Hamsterpaj samtycker du till användandet av s.k. cookies för att förbättra din upplevelse hos oss. Jag förstår, ta bort denna ruta!
Annons

Default value

Skapad av tok124, 2013-12-11 17:11 i Webbutveckling & Programmering

2 969
20 inlägg
0 poäng
tok124
Visningsbild
P 35 Hjälte 258 inlägg
0
Hej.

Jag tänkte fråga hur man kan göra typ:
<form actiion="myfile.php" method="post">
<input type="text" value="0" placeholder="nåntext"
<input type="submit" value="Send">
</form>

fast jag vill att value="0" ska inte synas i textboxen. jag vill att bara placeholder ska synas. så att man slipper sudda ut 0 från textboxen för att se de som står i placeholder. jag vet att de går att fixa för jag har sett andra sidor som har det men har säkert googlat på de i en månads tid nu och hittar inte de jag vill ha. vet inte om man ska använda jQuery eller php eller css eller vad man nu ska använda och vad man ska skriva. antar att de e jQuery och de kan jag ingenting om. jag är totalt värdelös på det. men asså när man klickar på submit knappen så ska den generera en SQL fil och om det inte är default value 0 så blir de bara "VALUES ( , , , , , , )" och de blir error när jag importar till databasen. och det är ju inte så konstigt...

Är reklamen ivägen? Logga in eller registrera dig så försvinner den!

Tvillingen
Visningsbild
P 31 Hjälte 3 117 inlägg
0
Skulle låta bli att lösa det med javascript, för har man inte det aktiverat kommer lösningen inte att fungera. En till sak är att man alltid ska kontrollera allt som kommer från klienten till servern, så just därför ska du även kontrollera värdet där.

Ett stycke php-kod:
<?php
if(isset($_POST['key']) === false || empty($_POST['key'] === true) {
//Sätt default värdet här.
//Du bör även kontrollera så att det
//är rätt data som skickats i if-satsen
}
?>


Tillägg av Tvillingen 2013-12-11 17:19

Med andra ord kan du låta bli att sätta något värde i din HTML-kod och hålla tid till att endast ha en placeholder.

Jag är ond!

tok124
Visningsbild
P 35 Hjälte 258 inlägg
Trådskapare
0

Svar till Tvillingen [Gå till post]:
antar att jag ska byta ut "key" till den value jag vill ha?

Php scriptet ser ju ut såhär:
<?php

$md55=md5(uniqid(rand()));
echo "<p>MD5 Code;</p> $md55 <p>Download Link:</p> ";
$newfile = "$_POST[Test1]_$md55.sql"; //-File Name
$sql="INSERT INTO Creature_template (Test1, Test2, Test3)
VALUES
($_POST[Test1], $_POST[Test2], $_POST[Test3]);";
$myFile = "$newfile"; //-Directory of creation if needed.

$ffunction = fopen($myFile, 'w') or die("can't open file"); //-Self explanatory

fwrite($ffunction, $sql);
fclose($ffunction);

echo "<br><a href='$myFile'><img src=' http://www.trinitycore-sql-generator.com/item/Download-Button.png'></a>"; //-Generated HTTP link for file.

?>
det är bara ett litet test script så om de funkar ska jag lägga till den i de riktiga scriptet på hemsidan. men vart ska jag lägga in den då? eller spelar de ingen roll? vet att det är väldigt dåligt scriptat men men...

Tvillingen
Visningsbild
P 31 Hjälte 3 117 inlägg
0
Svar till tok124 [Gå till post]:
'key' ska bytas ut mot namnet på din input, så <input type="text" name="foobar"> blir $_POST['foobar'] när det skickas till servern.

Du ska stoppa in koden innan värdet ska användas. En till sak är att du måste börja tänka på säkerheten, nu går det att stoppa in vad som helst i din databas och det är inte bra. Därför allt från klienten ska kontrolleras, så att det är rätt data man får in. mysql_real_escape_string() är en "bra" funktion för att hindra sql-injection, men bättre vore om du använde dig av PDO eller mysqli. Både smidigare, bättre och säkrare :)

Jag är ond!

tok124
Visningsbild
P 35 Hjälte 258 inlägg
Trådskapare
0

Svar till Tvillingen [Gå till post]:
Ja och tyvär vet jag inte hur något av det fungerar eller vad det är för något haha :D får väl ta och lära mig php antar jag. har försökt men de slutar bara med att något går sönder. typ lite sprickor i skärmen och ett par transiga tangenter. får väl använda den gamla datorn då antar jag =)

tok124
Visningsbild
P 35 Hjälte 258 inlägg
Trådskapare
0
när jag använder den php delen du skickade får jag error: Parse error: syntax error, unexpected '===' (T_IS_IDENTICAL), expecting ')' in C:xampphtdocsSQL-Generator-Tool estNpcCreation.php on line 2
Tvillingen
Visningsbild
P 31 Hjälte 3 117 inlägg
0

Svar till tok124 [Gå till post]:
Jag som slarvade, empty($_POST['blabla'])

Jag är ond!

tok124
Visningsbild
P 35 Hjälte 258 inlägg
Trådskapare
0

Svar till Tvillingen [Gå till post]:
får inget error längre men i SQL filen så står det bara

INSERT INTO mycolumn (Test1, Test2, Test3)
VALUES
(, , );

så det blev inte riktigt någon ändring
Tvillingen
Visningsbild
P 31 Hjälte 3 117 inlägg
0

Svar till tok124 [Gå till post]:
Vad har du skrivit innanför if-satsen då? Du måste sätta någon variabel med ditt defaultvärde och sedan använda den i din sql-sats.

Jag är ond!

tok124
Visningsbild
P 35 Hjälte 258 inlägg
Trådskapare
0

Svar till Tvillingen [Gå till post]:
jag har bara skrivit:
if(isset($_POST['Test1']) === false || empty($_POST['Test1']) === true) {

ska jag byta ut if(isset($_POST['Test1'] mot if(isset($_POST['0'] om jag vill att det ska vara 0 som default value?
Tvillingen
Visningsbild
P 31 Hjälte 3 117 inlägg
0

Svar till tok124 [Gå till post]:
Nej då tittar du om det kommit någon post-data med 0 som key och det vill du inte.

Ett stycke php-kod:
<?php
if(isset($_POST['Test1']) === false || empty($_POST['Test1']) === true) ) {
$test1 = 0;
}else {
$test1 = $_POST['Test1'];
}

//Nu använder du $test1 istället för $_POST['Test1']
?>

Jag är ond!

tok124
Visningsbild
P 35 Hjälte 258 inlägg
Trådskapare
0

Svar till Tvillingen [Gå till post]:
aaah tack. kom precis hem igen och testade lyckades att få det att funka. men om jag ska lägga till fler input boxar då? hur göra jag då? asså på min hemsida finns de ju typ 100 texboxar ^^

Tvillingen
Visningsbild
P 31 Hjälte 3 117 inlägg
0

Svar till tok124 [Gå till post]:
På något liknande sätt, du får lägga in namnet på alla inputs i listan $inputs, sen loopa igenom dessa i funktionen som returnerar default eller värdet användaren skickat. Sedan använder du dig av $inputValues['key'] precis som du som du skulle använt dig av $_POST.

Ett stycke php-kod:
<?php
function checkDefault($key, $default) {
if(isset($_POST[$key]) === false || empty($_POST[$key]) === true) {
return $default;
}else {
return $_POST[$key];
}
}

//Keys i $_POST (name från alla input som har defaultvärde)
$inputs = array('Test1','Test2','Test3');
$inputValues = array();
foreach($inputs as $input) {
$inputValues[$input] = checkDefault($input, 0);
}
?>

Jag är ond!

tok124
Visningsbild
P 35 Hjälte 258 inlägg
Trådskapare
0

Svar till Tvillingen [Gå till post]:
ah tack. förstår inte helt 100% men får hålla på och testa lite. kan också bero på att jag är sjukt jävla trött. ska nog sova. men tack för all hjälp ! =)

bunny
Visningsbild
P 29 Hjälte 1 272 inlägg
0
Använd name istället för value

<form actii method="post">
<input type="text" name="0" placeholder="nåntext"
<input type="submit" value="Send">
</form>

Ingen status

Tvillingen
Visningsbild
P 31 Hjälte 3 117 inlägg
0

Svar till bunny [Gå till post]:
Hur skulle det hjälpa?

Jag är ond!

tok124
Visningsbild
P 35 Hjälte 258 inlägg
Trådskapare
0

Svar till Tvillingen [Gå till post]:
just nu ser mitt scipt ur såhär http://pastebin.com/zZ94ya85 vad är fel? vad måste jag ändra på?
Tvillingen
Visningsbild
P 31 Hjälte 3 117 inlägg
0
Svar till tok124 [Gå till post]:
Det här borde fungera bättre.
http://pastebin.com/F2RihLZr

Du måste som sagt använda $inputValues istället för $_POST och $inputValues fylls på automatiskt via foreach-loopen med hjälp av funktionen checkDefault :) Nu är jag inte tillgänglig på resten av dagen, så du får försöka lite själv om allt inte blev riktigt i det jag skickade.

Jag är ond!

tok124
Visningsbild
P 35 Hjälte 258 inlägg
Trådskapare
0

Svar till Tvillingen [Gå till post]:
Fan va nice ! Tack de funkar :D

tok124
Visningsbild
P 35 Hjälte 258 inlägg
Trådskapare
0

Svar till Tvillingen [Gå till post]:
Okej jag vet att du är upptagen just nu men du får svara när du har tid =)

hur som hälst så har jag lagt till det på de riktiga scriptet nu och hålt på i flera timmar med att få de att funka. nu äntligen så genererar den en SQL fil MEN om jag skriver typ 12345 i första rutan så blir alla values 12345... postar alla scripts så får du kolla mad som är fel men de är väl antagligen något med:

function checkDefault($entry, $default) {
if(isset($_POST['entry']) === false || empty($_POST['entry']) === true) {
return $default;
}else {
return $_POST['entry'];
}
}

Script Links:
http://pastebin.com/w74BkTZG <-- php Script
http://pastebin.com/8Dn0nMEq <-- Html Script
http://pastebin.com/zjutqDqJ <-- Generated SQL Script


Tillägg av tok124 2013-12-12 21:30

nvm... fixade det.

ändrade:
function checkDefault($entry, $default) {
if(isset($_POST['entry']) === false || empty($_POST['entry']) === true) {
return $default;
}else {
return $_POST['entry'];
}
}

till:
function checkDefault($entry, $default) {
if(isset($_POST['$entry']) === false || empty($_POST['$entry']) === true) {
return $default;
}else {
return $_POST[$'entry'];
}
}


Forum » Datorer & IT » Webbutveckling & Programmering » Default value

Ansvariga ordningsvakter:

Användare som läser i den här tråden just nu

1 utloggad

Skriv ett nytt inlägg

Hej! Innan du skriver om ett potentiellt problem så vill vi påminna dig om att du faktiskt inte är ensam. Du är inte onormal och världen kommer inte att gå under, vi lovar! Så slappna av och gilla livet i några minuter - känns det fortfarande hemskt? Skriv gärna ner dina tankar och frågor, vi älskar att hjälpa just dig!

Den här tråden är äldre än Rojks drömtjej!

Det senaste inlägget i den här tråden skrevs för över tre månader sedan. Är du säker på att du vill återuppliva diskussionen? Har du något vettigt att tillföra eller passar din fråga i en ny tråd? Onödiga återupplivningar kommer att låsas så tänk efter en extra gång!

Hjälp

Det här är en hjälpruta

Här får du korta tips och förklaringar om forumet. Välj kapitel i rullningslisten här ovanför.

Rutan uppdateras automagiskt

När du använder funktioner i forumet så visas bra tips här.


Annons
Annons
Annons
Annons