Szukam rozwiązania, dotyczącego pobierania wygenerowanego obrazka z kodem kreskowym automatycznie po kliknięciu przycisku generuj kod jednocześnie numer lub nazwa kodu podana przez użytkownika zapisywałaby się w bazie danych oraz blokadę zapisu pustego pola w bazie gdy użytkownik nie wpiszę numeru lub nazwy kodu.
Niżej cały skrypt w php'ie
<?php
include('header.php');
?>
<title>kodgen-BETA-version</title>
<style>
img.barcode {
border: 1px solid #ccc;
padding: 20px 10px;
border-radius: 5px;
}
</style>
<?php include('container.php');?>
<div class="container">
<h2>Stwórz swój kod</h2>
<br>
<br>
<div class="row">
<div class="col-md-4">
<form method="post" action="baza.php">
<div class="row">
<div class="col-md-8">
<div class="form-group">
<label>Nazwa lub numer produktu</label>
<input type="text" name="barcodeText" class="form-control" value="<?php echo @$_POST['barcodeText'];?>">
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label>Typ kodu</label>
<select name="barcodeType" id="barcodeType" class="form-control">
<option value="codabar" <?php echo (@$_POST['barcodeType'] == 'codabar' ? 'selected="selected"' : ''); ?>>Codabar</option>
<option value="code128" <?php echo (@$_POST['barcodeType'] == 'code128' ? 'selected="selected"' : ''); ?>>Code128</option>
<option value="code39" <?php echo (@$_POST['barcodeType'] == 'code39' ? 'selected="selected"' : ''); ?>>Code39</option>
</select>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label>Kierunek kodu</label>
<select name="barcodeDisplay" class="form-control" required>
<option value="horizontal" <?php echo (@$_POST['barcodeDisplay'] == 'horizontal' ? 'selected="selected"' : ''); ?>>Poziomo</option>
<option value="vertical" <?php echo (@$_POST['barcodeDisplay'] == 'vertical' ? 'selected="selected"' : ''); ?>>Pionowo</option>
</select>
</div>
</div>
</div>
<div class="row">
<div class="col-md-7">
<input type="hidden" name="barcodeSize" id="barcodeSize" value="30">
<input type="hidden" name="printText" id="printText" value="true">
<input type="submit" name="generateBarcode" class="btn btn-success form-control" value="Generuj Kod">
</div>
</div>
</form>
</div>
<div class="col-md-4">
<?php
if(isset($_POST['generateBarcode'])) {
$barcodeText = trim($_POST['barcodeText']);
$barcodeType=$_POST['barcodeType'];
$barcodeDisplay=$_POST['barcodeDisplay'];
$barcodeSize=$_POST['barcodeSize'];
$printText=$_POST['printText'];
if($barcodeText != '') {
echo '<h4>Twój Kod:</h4>';
echo '<img class="barcode" alt="'.$barcodeText.'" src="barcode.php?text='.$barcodeText.'&codetype='.$barcodeType.'&orientation='.$barcodeDisplay.'&size='.$barcodeSize.'&print='.$printText.'"/>';
} else {
echo '<div class="alert alert-danger">Musisz wpisać numer lub nazwę kodu!</div>';
}
}
?>
</div>
</div>
<div style="margin:50px 0px 0px 0px;">
</div>
</div>
<?php include('footer.php');?>
Tutaj kod zapisu w bazie
<?php
$servername = "";
$username = "y";
$password = "";
$dbname = "";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO `test` (`kod`) VALUES ('".$_POST['barcodeText']."')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
<input type="text" id="licznik" />
<script>
var liczbaSekund = 5;
odliczanie();
function odliczanie()
{
if(liczbaSekund < 0)
{
window.location = 'http://kodgen.com.pl/'
return;
}
document.getElementById('licznik').value = liczbaSekund--;
setTimeout("odliczanie()",1000); // 1000 = 1 sekunda
}
</script>
Tak to wygląda przed podpięciem skryptu bazodanowego
a tak już po
Jak widać użytkownik nie jest w stanie zapisać pliku.png z kodem.
Tylko proszę nie pisać postów typu "Próbowałeś już sam coś działać? Czy czekasz na gotowca?"
Próbowałem, szukałem w wujku google rozwiązań jak widać nie znalazłem. Prawie każdy dotyczy pliku zapisanego w jakimś folderze a ja potrzebuje pobrania nowo wygenerowanego pliku, z góry dziękuję za wszystkie próby pomocy lub bezpośrednią pomoc.